summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-08-26 21:33:25 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-08-26 21:33:25 +0000
commit6c89a635bb0715fd06b0061692fe39b3e79fcad7 (patch)
tree13b2c665fdb30a534aa33ed83abba0d308f4e7b1 /doc
parent68db2dceb87a83e2bfa201dc52cc48c9b389c403 (diff)
* Add an editcontent hook.
Diffstat (limited to 'doc')
-rw-r--r--doc/plugins/write.mdwn11
-rw-r--r--doc/todo/plugin.mdwn2
-rw-r--r--doc/todo/sigs.mdwn16
-rw-r--r--doc/todo/wikiwyg/discussion.mdwn7
4 files changed, 24 insertions, 12 deletions
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index d09367f1b..0c192eb64 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -251,6 +251,17 @@ by this hook, the hook should return an error message for the user to see.
If the hook has no opinion about whether the edit can proceed, return
`undef`, and the next plugin will be asked to decide.
+### editcontent
+
+ hook(type => "editcontent", id => "foo", call => \&editcontent);
+
+This hook is called when a page is saved (or previewed) using the web
+interface. It is passed named parameters: `content`, `page`, `cgi`, and
+`session`. These are, respectively, the new page content as entered by the
+user, the page name, a `CGI` object, and the user's `CGI::Session`.
+
+It can modify the content as desired, and should return the content.
+
### formbuilder
hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup);
diff --git a/doc/todo/plugin.mdwn b/doc/todo/plugin.mdwn
index 4d034a814..0d702975f 100644
--- a/doc/todo/plugin.mdwn
+++ b/doc/todo/plugin.mdwn
@@ -6,8 +6,6 @@ Suggestions of ideas for plugins:
> web-server-specific code to list all users, and openid can't feasibly do so
> at all. --[[JoshTriplett]]
-* [[sigs]] ?
-
* Support [[RecentChanges]] as a regular page containing a plugin that
updates each time there is a change, and statically builds the recent
changes list. (Would this be too expensive/inflexible? There might be
diff --git a/doc/todo/sigs.mdwn b/doc/todo/sigs.mdwn
index f3ec2cbe8..f4f8edf13 100644
--- a/doc/todo/sigs.mdwn
+++ b/doc/todo/sigs.mdwn
@@ -1,8 +1,8 @@
Need a way to sign name in page that's easier to type than "--\[[Joey]]"
and that includes the date.
-What syntax do other wikis use for this? I'm considering "\[[--]]" (with
-spaces removed) as it has a nice nmemonic.
+What syntax do other wikis use for this? I'm considering "\[[--]]"
+as it has a nice nmemonic.
OTOH, adding additional syntax for this would be counter to one of the
design goals for ikiwiki: keeping as much markup as possible out of the
@@ -15,7 +15,11 @@ out svn commits.
---
-Alternate idea: Make a sig plugin, which would expand --Name to
---[[user/Name]] (the "user/" bit would be configurable). This would be very
-easy to do, although it would need to try to avoid false positives, such
-as `--foo` in C code..
+Or, just make a sig plugin that expands `~~~~` and `~~~` as wikipedia does.
+The plugin could be an editcontent hook, so it would take effect only when a
+page was edited via the web.
+
+I tried implementing this, but to make the link to the user, I wanted to
+use `userlink()`, which generates html. But the right thing to generate is
+really a wikilink. Except for openid, when the best thing to generate is a
+markdown link. Except when the page isn't formatted in markdown..
diff --git a/doc/todo/wikiwyg/discussion.mdwn b/doc/todo/wikiwyg/discussion.mdwn
index 33554e12c..44d282a5a 100644
--- a/doc/todo/wikiwyg/discussion.mdwn
+++ b/doc/todo/wikiwyg/discussion.mdwn
@@ -67,10 +67,9 @@ changes.diff:
prefer a translated underlay, and use the english version of untranslated
pages, for example.
* When is the WIKIWYG variable in misc.tmpl used?
-* I wish there were a good way to move the code to handle saving a part of
- a page into the plugin. But there doesn't seem to be one that's any
- cleaner than keeping the code where it is. So I'll probably just apply
- that hunk.
+* Could you move the code that handles saving a page of the page into the
+ plugin? I just added an editcontent hook, which should allow you to do
+ that.
* Your patch exports run_hooks, but I don't see the plugin using that.
* I don't know about exporting pagetitle. So far, only the inline plugin
needs to use that function, I generally only export things after it's