summaryrefslogtreecommitdiff
path: root/doc/plugins
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-02-11 22:48:27 -0500
committerJoey Hess <joey@kodama.kitenet.net>2008-02-11 22:48:27 -0500
commit4763514861457c295cadb7dbc7c0697ce682004f (patch)
tree159272cf44815ca8ffa24a363c24d2a5b384c94b /doc/plugins
parent5163646e264633480d8562f2419bdaca597148c1 (diff)
* Add the linkify and scan hooks. These hooks can be used to implement
custom, first-class types of wikilinks. * Move standard wikilink implementation to a new wikilink plugin, which will of course be enabled by default.
Diffstat (limited to 'doc/plugins')
-rw-r--r--doc/plugins/link.mdwn4
-rw-r--r--doc/plugins/write.mdwn22
2 files changed, 26 insertions, 0 deletions
diff --git a/doc/plugins/link.mdwn b/doc/plugins/link.mdwn
new file mode 100644
index 000000000..03f299282
--- /dev/null
+++ b/doc/plugins/link.mdwn
@@ -0,0 +1,4 @@
+[[template id=plugin name=link core=1 author="[[Joey]]"]]
+[[tag type/link]]
+
+This plugin implements standard [[WikiLinks|WikiLink]].
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index e1e057c00..410d49aaf 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -142,6 +142,28 @@ format at preprocessor time. Text output by a preprocessor directive will
be linkified and passed through markdown (or whatever engine is used to
htmlize the page) along with the rest of the page.
+### linkify
+
+ hook(type => "linkify", id => "foo", call => \&linkify);
+
+This hook is called to convert [[WikiLinks|WikiLink]] on the page into html
+links. The function is passed named parameters "page", "destpage", and
+"content". It should return the linkified content.
+
+Plugins that implement linkify must also implement a scan hook, that scans
+for the links on the page and adds them to `%links`.
+
+### scan
+
+ hook(type => "scan", id => "foo", call => \&scan);
+
+This hook is called early in the process of building the wiki, and is used
+as a first pass scan of the page, to collect metadata about the page. It's
+mostly used to scan the page for WikiLinks, and add them to `%links`.
+
+The function is passed named parameters "page" and "content". Its return
+value is ignored.
+
### htmlize
hook(type => "htmlize", id => "ext", call => \&htmlize);