blob: 99b136281616f9ddbed16af6dee2fe3c6a84aad5 (
plain)
- #!/usr/bin/perl
- package IkiWiki::Plugin::wmd;
- use warnings;
- use strict;
- use IkiWiki 3.00;
- 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 => 0,
- section => "web",
- },
- }
- 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->field("do") eq "comment";
- $form->tmpl_param("wmd_preview", "<div class=\"wmd-preview\"></div>\n".
- include_javascript(undef, 1));
- }
- sub include_javascript ($;$) {
- my $page=shift;
- my $absolute=shift;
- my $wmdjs=urlto("wmd/wmd.js", $page, $absolute);
- return <<"EOF"
- <script type="text/javascript">
- wmd_options = {
- output: "Markdown"
- };
- </script>
- <script src="$wmdjs" type="text/javascript"></script>
- EOF
- }
- 1
|