diff options
-rw-r--r-- | IkiWiki/Plugin/wmd.pm | 7 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/copyright | 4 | ||||
-rw-r--r-- | doc/plugins/wmd.mdwn | 16 | ||||
-rw-r--r-- | doc/todo/mdwn_preview.mdwn | 98 | ||||
-rw-r--r-- | doc/usage.mdwn | 33 | ||||
-rw-r--r-- | templates/editcomment.tmpl | 1 | ||||
-rw-r--r-- | templates/editpage.tmpl | 1 |
8 files changed, 77 insertions, 85 deletions
diff --git a/IkiWiki/Plugin/wmd.pm b/IkiWiki/Plugin/wmd.pm index 3372ffe38..bdbcecc06 100644 --- a/IkiWiki/Plugin/wmd.pm +++ b/IkiWiki/Plugin/wmd.pm @@ -26,8 +26,9 @@ sub formbuilder_setup (@) { return if ! defined $form->field("do"); - return unless (($form->field("do") eq "edit") || - ($form->field("do") eq "create")); + 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)); @@ -37,7 +38,7 @@ sub include_javascript ($;$) { my $page=shift; my $absolute=shift; - return '<script src="'.urlto("wmd.js", $page, $absolute). + return '<script src="'.urlto("wmd/wmd.js", $page, $absolute). '" type="text/javascript"></script>'."\n"; } diff --git a/debian/changelog b/debian/changelog index 801dc154f..d6ee6fd8a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ ikiwiki (3.07) UNRELEASED; urgency=low * Updated German translation (Kai Wasserbäch). Closes: #518377 * Updated French translation (Jean-Luc Coulon). Closes: #518510 + * wmd: New plugin contributed by William Uther to support the WMD + Wysiwym markdown editor. -- Joey Hess <joeyh@debian.org> Thu, 05 Mar 2009 15:43:02 -0500 diff --git a/debian/copyright b/debian/copyright index f589b4a8f..67f0ac540 100644 --- a/debian/copyright +++ b/debian/copyright @@ -122,6 +122,10 @@ Files: 404.pm Copyright: © 2009 Simon McVittie <http://smcv.pseudorandom.co.uk/> License: GPL-2+ +Files: wmd.pm +Copyright: © 2009 William Uther +License: GPL-2+ + Files: doc/logo/* Copyright: © 2006 Recai Oktaş <roktas@debian.org> License: GPL-2+ diff --git a/doc/plugins/wmd.mdwn b/doc/plugins/wmd.mdwn new file mode 100644 index 000000000..dc9a30703 --- /dev/null +++ b/doc/plugins/wmd.mdwn @@ -0,0 +1,16 @@ +[[!template id=plugin name=wmd author="[[Will]]"]] +[[!tag type/chrome]] + +[WMD](http://wmd-editor.com/) is a What You See Is What You Mean editor for +[[mdwn]]. This plugin makes WMD be used for editing pages in the wiki. + +To use the plugin, you will need to install WMD. 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. Create +a 'wmd' subdirectory in the ikiwiki `underlaydir` directory (ie `sudo mkdir +/usr/share/ikiwiki/wmd`). Move the `wmd` directory into the directory you +made. You should now have a `wmd/wmd/wmd.js` file as well as some other +javascript files and an images directory in the same place. + +Note that the WMD plugin does **not** handle ikiwiki directives. For this +reason the normal `preview` button remains. diff --git a/doc/todo/mdwn_preview.mdwn b/doc/todo/mdwn_preview.mdwn index 6ab8d604b..2fa460336 100644 --- a/doc/todo/mdwn_preview.mdwn +++ b/doc/todo/mdwn_preview.mdwn @@ -18,7 +18,11 @@ add to ikiwiki. [[!tag wishlist]] ->>> Below is a simple plugin/[[patch]] to make use of the WMD editor. Turns out it isn't hard at all to +>>> Below is a simple plugin/[[patch]] to make use of the WMD editor. + +>>>> Now added to ikiwiki, thanks! --[[Joey]] + +>>> 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]] @@ -44,19 +48,10 @@ add to ikiwiki. >>>>> It might be best to contact <support@attacklab.net> to for an explicit license on that if you want to include it. >>>>> -- [[Will]] ------- - -### 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]] +> for Debian yet. Hmm, I also can't find any copyright or license info in +> the zip file. --[[Joey]] >> This is a good question. My thought is that it will probably not be packaged any time soon, >> so you're better off adding it to IkiWiki. I'd contact the author of WMD and ask them. They @@ -75,66 +70,19 @@ remains. Some CSS to clean up the display of the live WMD preview would be good >> I recommend having a look at <http://wmd-editor.com/examples/splitscreen> >> for what a little CSS could achieve. -- [[Will]] -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:<br /> - </div> - </TMPL_IF> - <TMPL_VAR FORM-END> - +<TMPL_VAR WMD_PREVIEW> - - <TMPL_IF NAME="PAGE_PREVIEW"> - <hr /> - ------ - - #!/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 - +> Hmm, now that I've tried it, I notice that it does live preview by +> default, below the edit window. Which is nice, but then if I hit the +> preview button, I get two previews.. which is confusing. (Also, minor, +> but: the live preview is missing the "Page Preview:" header.) --[[Joey]] + +> I wonder how annoying it would be to add some kind of simplistic wikilink +> support to wmd's preview? And/or a wikilink button? While not supporting +> directies is fine, not supporting wikilinks in a wiki seems a bit +> lacking. It may also entice novide users to not use wikilinks and instead +> use the hyperlinks that wmd does support. --[[Joey]] + +> Bug: When I preview, all the text in the edit field seems to be +> converted from mdwn to html. I think that wmd is converting the mdwn +> into html when the form is posted, so it would also save like that. +> I assume that is designed for websites that do not use markdown +> internally. Doesn't it have a setting to leave it as markdown? --[[Joey]] diff --git a/doc/usage.mdwn b/doc/usage.mdwn index b6af75ac8..e411b127a 100644 --- a/doc/usage.mdwn +++ b/doc/usage.mdwn @@ -6,7 +6,7 @@ ikiwiki - a wiki compiler ikiwiki [options] source destination -ikiwiki --setup configfile +ikiwiki --setup setupfile # DESCRIPTION @@ -30,19 +30,19 @@ These options control the mode that ikiwiki operates in. Force a rebuild of all pages. -* --setup configfile +* --setup setupfile In setup mode, ikiwiki reads the config file, which is really a perl program that can call ikiwiki internal functions. The default action when --setup is specified is to automatically generate - wrappers for a wiki based on data in a config file, and rebuild the wiki. + wrappers for a wiki based on data in a setup file, and rebuild the wiki. If you only want to build any changed pages, you can use --refresh with --setup. -* --dumpsetup configfile +* --dumpsetup setupfile - Causes ikiwiki to write to the specified config file, dumping out + Causes ikiwiki to write to the specified setup file, dumping out its current configuration. * --wrappers @@ -103,7 +103,8 @@ These options control the mode that ikiwiki operates in. # CONFIG OPTIONS These options configure the wiki. Note that [[plugins]] can add additional -configuration options of their own. +configuration options of their own. All of these options and more besides can +also be configured using a setup file. * --wikiname @@ -316,10 +317,28 @@ configuration options of their own. * --set var=value This allows setting an arbitrary configuration variable, the same as if it - were set via a configuration file. Since most options can be configured + were set via a setup file. Since most options can be configured using command-line switches, you will rarely need to use this, but it can be useful for the odd option that lacks a command-line switch. +# EXAMPLES + +* ikiwiki --setup my.setup + + Completly (re)build the wiki using the specified setup file. + +* ikiwiki --setup my.setup --refresh + + Refresh the wiki, using settings from my.setup, and avoid + rebuilding any pages that have not changed. This is faster. + +* ikiwiki --setup my.setup --refresh --wrappers + + Refresh the wiki, including regnerating all wrapper programs, + but do not rebuild all pages. Useful if you have changed something + in the setup file that does not need a full wiki rebuild to update + all pages, but that you want to immediatly take effect. + # ENVIRONMENT * CC diff --git a/templates/editcomment.tmpl b/templates/editcomment.tmpl index 891bcae65..7590cdfd7 100644 --- a/templates/editcomment.tmpl +++ b/templates/editcomment.tmpl @@ -15,6 +15,7 @@ Subject: <TMPL_VAR FIELD-SUBJECT><br /> <TMPL_VAR FORM-SUBMIT> <TMPL_VAR FIELD-TYPE> <TMPL_VAR HELPONFORMATTINGLINK><br /> IkiWiki directives ([[!directive]]) are <TMPL_UNLESS NAME="ALLOWDIRECTIVES">not </TMPL_UNLESS>allowed in comments on this wiki.<br /> <TMPL_VAR NAME="FORM-END"> +<TMPL_VAR WMD_PREVIEW> <TMPL_IF NAME="PAGE_PREVIEW"> <hr /> diff --git a/templates/editpage.tmpl b/templates/editpage.tmpl index 4b54db2d1..b1cf015a2 100644 --- a/templates/editpage.tmpl +++ b/templates/editpage.tmpl @@ -37,6 +37,7 @@ Optional comment about this change:<br /> </div> </TMPL_IF> <TMPL_VAR FORM-END> +<TMPL_VAR WMD_PREVIEW> <TMPL_IF NAME="PAGE_PREVIEW"> <hr /> |