response
[ikiwiki.git] / IkiWiki / Plugin / wmd.pm
blob71d7c9d17f51e49ec17aee087e984f3e8a7b9b79
1 #!/usr/bin/perl
2 package IkiWiki::Plugin::wmd;
4 use warnings;
5 use strict;
6 use IkiWiki 3.00;
8 sub import {
9 add_underlay("wmd");
10 hook(type => "getsetup", id => "wmd", call => \&getsetup);
11 hook(type => "formbuilder_setup", id => "wmd", call => \&formbuilder_setup);
14 sub getsetup () {
15 return
16 plugin => {
17 safe => 1,
18 rebuild => 0,
19 section => "web",
23 sub formbuilder_setup (@) {
24 my %params=@_;
25 my $form=$params{form};
27 return if ! defined $form->field("do");
29 return unless $form->field("do") eq "edit" ||
30 $form->field("do") eq "create" ||
31 $form->field("do") eq "comment";
33 $form->tmpl_param("wmd_preview", "<div class=\"wmd-preview\"></div>\n".
34 include_javascript(undef, 1));
37 sub include_javascript ($;$) {
38 my $page=shift;
39 my $absolute=shift;
41 my $wmdjs=urlto("wmd/wmd.js", $page, $absolute);
42 return <<"EOF"
43 <script type="text/javascript">
44 wmd_options = {
45 output: "Markdown"
47 </script>
48 <script src="$wmdjs" type="text/javascript"></script>
49 EOF