From 4763514861457c295cadb7dbc7c0697ce682004f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 11 Feb 2008 22:48:27 -0500 Subject: * 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. --- doc/plugins/link.mdwn | 4 ++++ doc/plugins/write.mdwn | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 doc/plugins/link.mdwn (limited to 'doc/plugins') 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); -- cgit v1.2.3