diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-03-07 14:33:11 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-03-07 14:33:11 -0500 |
commit | e7d2da564145d4ad05c3dcbe9d71bbf091243b91 (patch) | |
tree | b1e37a5eecce060e01633d6eb13a8ed04ab2eb40 | |
parent | dc4b6b1a42e810d1608245f2997b642782361c0a (diff) |
wmd plugin from willu
-rw-r--r-- | IkiWiki/Plugin/wmd.pm | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/wmd.pm b/IkiWiki/Plugin/wmd.pm new file mode 100644 index 000000000..074e1df6f --- /dev/null +++ b/IkiWiki/Plugin/wmd.pm @@ -0,0 +1,45 @@ +#!/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, + rebuild => 1, + }, +} + +sub formbuilder_setup (@) { + my %params=@_; + my $form=$params{form}; + + return if ! defined $form->field("do"); + + return unless (($form->field("do") eq "edit") || + ($form->field("do") eq "create")); + + $form->tmpl_param("wmd_preview", "<div class=\"wmd-preview\"></div>\n".include_javascript(undef, 1)); +} + +sub include_javascript ($;$) { + my $page=shift; + my $absolute=shift; + + return '<script src="'.urlto("wmd.js", $page, $absolute). + '" type="text/javascript"></script>'."\n"; +} + +1 + |