2009-03-07 20:33:11 +01:00
|
|
|
#!/usr/bin/perl
|
|
|
|
package IkiWiki::Plugin::wmd;
|
|
|
|
|
|
|
|
use warnings;
|
|
|
|
use strict;
|
|
|
|
use IkiWiki 3.00;
|
|
|
|
use POSIX;
|
|
|
|
use Encode;
|
|
|
|
|
|
|
|
sub import {
|
|
|
|
add_underlay("wmd");
|
|
|
|
hook(type => "getsetup", id => "wmd", call => \&getsetup);
|
|
|
|
hook(type => "formbuilder_setup", id => "wmd", call => \&formbuilder_setup);
|
|
|
|
}
|
|
|
|
|
|
|
|
sub getsetup () {
|
|
|
|
return
|
|
|
|
plugin => {
|
|
|
|
safe => 1,
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
sub formbuilder_setup (@) {
|
|
|
|
my %params=@_;
|
|
|
|
my $form=$params{form};
|
|
|
|
|
|
|
|
return if ! defined $form->field("do");
|
|
|
|
|
2009-03-08 00:54:26 +01:00
|
|
|
return unless $form->field("do") eq "edit" ||
|
|
|
|
$form->field("do") eq "create" ||
|
|
|
|
$form->field("do") eq "comment";
|
2009-03-07 20:33:11 +01:00
|
|
|
|
2009-03-07 20:34:31 +01:00
|
|
|
$form->tmpl_param("wmd_preview", "<div class=\"wmd-preview\"></div>\n".
|
|
|
|
include_javascript(undef, 1));
|
2009-03-07 20:33:11 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
sub include_javascript ($;$) {
|
|
|
|
my $page=shift;
|
|
|
|
my $absolute=shift;
|
|
|
|
|
2009-03-08 01:22:27 +01:00
|
|
|
return '<script src="'.urlto("wmd/wmd.js", $page, $absolute).
|
2009-03-07 20:33:11 +01:00
|
|
|
'" type="text/javascript"></script>'."\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
1
|