summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/wmd.pm7
-rw-r--r--debian/changelog2
-rw-r--r--debian/copyright4
-rw-r--r--doc/plugins/wmd.mdwn16
-rw-r--r--doc/todo/mdwn_preview.mdwn98
-rw-r--r--doc/usage.mdwn33
-rw-r--r--templates/editcomment.tmpl1
-rw-r--r--templates/editpage.tmpl1
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 />