X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b7495e752af87a15978ec4ae5427bfea62c6f43a..ae474d8e14631ff519ed7d54bb64eaa0538f56d9:/doc/todo/mdwn_preview.mdwn?ds=sidebyside
diff --git a/doc/todo/mdwn_preview.mdwn b/doc/todo/mdwn_preview.mdwn
index 68558a571..16d7409a0 100644
--- a/doc/todo/mdwn_preview.mdwn
+++ b/doc/todo/mdwn_preview.mdwn
@@ -16,4 +16,101 @@ add to ikiwiki.
>> about a showdown plugin. Maybe a WMD plugin would be worthwhile. I might
>> look into it if I have time on the weekend. -- [[Will]]
-[[!tag wishlist done]]
+[[!tag wishlist]]
+
+>>> Below is a simple plugin/[[patch]] to make use of the WMD editor. Turns out it isn't hard at all to
+>>> get a basic version going (which doesn't handle directives at all, nor does it swtich itself off when you're
+>>> editing something other than Markdown source). I've
+>>> removed the done tag so this is visible as a patch. -- [[Will]]
+
+>>> Hmm, it would be good if it turned off for !mdwn. Although this could
+>>> be difficult for a new page, since there is a dropdown selector to
+>>> choose the markup language then. But it should be doable for editing an
+>>> existing page.
+>>>
+>>> Can I get a license statement (ie, GPL-2+) ffrom you for the plugin?
+>>> --[[Joey]]
+
+------
+
+### Instructions:
+
+
+Download the [WMD source](http://wmd-editor.com/downloads/wmd-1.0.1.zip). In that zip file you'll
+find a few example html files, a readme and `wmd` directory. Move the `wmd` directory into the
+ikiwiki `underlays` directory. You should now have an `underlays/wmd/wmd.js` file as well as
+some other javascript files and an images directory in the same place.
+
+> So, I wonder if I should add a copy of the WMD source to ikiwiki, or rely
+> on the user or distribution providing it. It does not seem to be packaged
+> for Debian yet. --[[Joey]]
+
+Note that the WMD plugin does **not** handle directives. For this reason the normal `preview` button
+remains. Some CSS to clean up the display of the live WMD preview would be good.
+
+> Can you elucidate the CSS comment -- or will it be obvious what you mean
+> when I try it? Is it what's needed for the live preview? --[[Joey]]
+
+Install the following patch and plugin file. Then enable the 'wmd' plugin.
+
+
+ diff --git a/templates/editpage.tmpl b/templates/editpage.tmpl
+ index 4b54db2..b1cf015 100644
+ --- a/templates/editpage.tmpl
+ +++ b/templates/editpage.tmpl
+ @@ -37,6 +37,7 @@ Optional comment about this change:
+
+
+
+ +
+
+
+
+
+-----
+
+ #!/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", "\n".include_javascript(undef, 1));
+ }
+
+ sub include_javascript ($;$) {
+ my $page=shift;
+ my $absolute=shift;
+
+ return ''."\n";
+ }
+
+ 1
+