ikiwiki/doc/plugins
Joey Hess 7da319efc6 inline: Run format hook first
inline has a format hook that is an optimisation hack. Until this hook
runs, the inlined content is not present on the page. This can prevent
other format hooks, that process that content, from acting on inlined
content. In bug ##509710, we discovered this happened commonly for the
embed plugin, but it could in theory happen for many other plugins (color,
cutpaste, etc) that use format to fill in special html after sanitization.

The ordering was essentially random (hash key order). That's kinda a good
thing, because hooks should be independent of other hooks and able to run
in any order. But for things like inline, that just doesn't work.

To fix the immediate problem, let's make hooks able to be registered as
running "first". There was already the ability to make them run "last".

Now, this simple first/middle/last ordering is obviously not going to work
if a lot of things need to run first, or last, since then we'll be back to
being unable to specify ordering inside those sets. But before worrying about
that too much, and considering dependency ordering, etc, observe how few
plugins use last ordering: Exactly one needs it. And, so far, exactly one
needs first ordering. So for now, KISS.

Another implementation note: I could have sorted the plugins with
first/last/middle as the primary key, and plugin name secondary, to get a
guaranteed stable order. Instead, I chose to preserve hash order. Two
opposing things pulled me toward that decision:

1. Since has order is randomish, it will ensure that no accidental
   ordering assumptions are made.
2. Assume for a minute that ordering matters a lot more than expected.
   Drastically changing the order a particular configuration uses could
   result in a lot of subtle bugs cropping up. (I hope this assumption is
   false, partly due to #1, but can't rule it out.)
2008-12-26 16:09:23 -05:00
..
aggregate fix a few directives using the old syntax 2008-12-23 16:25:52 -05:00
amazon_s3 response 2008-05-16 17:45:22 -04:00
autoindex 2008-10-30 08:28:28 -04:00
calendar 2008-11-26 11:42:10 -05:00
comments more comments doc updates 2008-12-17 14:15:52 -05:00
conditional Migrate escaped directives (\[[) in doc/plugins to have \[[! prefix 2008-07-21 12:46:35 +01:00
contrib po: make the dev timing clearer 2008-12-23 11:08:00 +01:00
creole creole hyperlink trouble 2008-08-04 22:17:50 -04:00
editdiff 2008-09-17 15:01:18 -04:00
filecheck filecheck: Fall back to testing for binary or plain text files if no mime type is detected. 2008-09-01 15:00:15 -04:00
format response 2008-11-10 13:30:20 -05:00
haiku haiku: Generate valid xhtml. 2008-05-30 19:10:58 -04:00
hnb finish including hnb plugin 2008-06-15 16:27:08 -04:00
htmlbalance use HTML::Entities 2008-11-17 14:27:11 -05:00
img response 2008-11-05 13:30:26 -05:00
map Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
meta rename preprocessordirective to directive 2008-08-25 14:19:39 -04:00
openid web commit by tschwinge: Umeet 2007: talk about OpenID by Stephane Bortzmeye. 2007-12-16 13:00:51 -05:00
orphans problem fixed 2008-10-09 19:15:39 -04:00
passwordauth web commit by tschwinge: Answer. 2008-01-02 05:39:47 -05:00
pingee response 2008-06-12 13:55:15 -04:00
rawhtml web commit by http://adam.shand.net/ 2007-04-12 10:18:59 +00:00
recentchanges response; move to bug report 2008-07-02 16:43:13 -04:00
rst web commit by http://ethan.betacantrips.com/: document the issue 2007-02-27 08:37:38 +00:00
search web commit by tschwinge: Indeed this issue is ``fixed'' now ;-) and the new searching subsystem is confirmed to function. 2008-06-15 14:02:54 -04:00
shortcut web commit by tschwinge: Confirmed. Removing this. 2007-12-19 17:03:37 -05:00
table * Response 2008-09-05 05:21:56 -04:00
tag Migrate escaped directives (\[[) in doc/plugins to have \[[! prefix 2008-07-21 12:46:35 +01:00
teximg web commit by buo: Thanks 2008-03-25 16:12:34 -04:00
textile web commit by http://melissensaft.myopenid.com/: fixed by letting root install the perl-libraries system-wide and switching to a currently version of ikiwiki 2007-08-14 20:14:59 +00:00
toc toc: Add the table of contents at sanitize time, rather than at format time. This allows the toc to be displayed when previewing an edit. It also avoids headers in the page template from showing up in the toc. 2008-04-26 15:13:01 -04:00
toggle web commit by http://alcopop.org/me/openid/: nudge headers down to h2 2008-07-03 11:41:36 -04:00
txt rename discussion page to match plugin name 2008-07-29 15:40:07 -04:00
type relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
write update for rename of users/jondowland.mdwn to users/jon.mdwn 2008-12-02 10:00:47 -05:00
aggregate.mdwn htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00
amazon_s3.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
anonok.mdwn first pass through comments documentation 2008-12-12 14:52:05 -05:00
attachment.mdwn tag updates 2008-10-09 16:58:25 -04:00
autoindex.mdwn tune 2008-07-29 16:02:24 -04:00
brokenlinks.mdwn move demo back to plugin page 2008-09-11 17:17:10 -04:00
calendar.mdwn reorg from will's changes 2008-09-11 17:21:14 -04:00
camelcase.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
color.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
comments.mdwn unify pagespecs 2008-12-21 16:50:50 -05:00
conditional.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
contrib.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
creole.mdwn fix link 2008-09-11 19:37:00 -04:00
cutpaste.mdwn Fix cut'n'past-o. 2008-12-11 19:36:36 -05:00
ddate.mdwn relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
discussion.mdwn response 2008-09-19 13:10:44 -04:00
editdiff.mdwn tag updates 2008-10-09 16:58:25 -04:00
editpage.mdwn editpage: New core plugin factoring out page editing to allow disabling it if desired. 2008-09-05 13:57:25 -04:00
edittemplate.mdwn tag updates 2008-10-09 16:58:25 -04:00
embed.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
favicon.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
filecheck.mdwn filecheck: New plugin factoring out the PageSpec additions that were originally part of the attachment plugin. 2008-08-25 19:52:34 -04:00
format.mdwn format: New plugin, allows embedding differntly formatted text inside a page (ie, otl inside a mdwn page, or syntax highlighted code inside a page). 2008-10-31 16:42:20 -04:00
fortune.mdwn move example back to plugin 2008-09-11 17:29:08 -04:00
goodstuff.mdwn meta: Plugin is now enabled by default since the basewiki uses it. 2008-11-06 16:08:11 -05:00
google.mdwn document google plugin 2008-10-10 17:13:33 -04:00
googlecalendar.mdwn Migrate escaped directives (\[[) in doc/plugins to have \[[! prefix 2008-07-21 12:46:35 +01:00
graphviz.mdwn move example back 2008-09-11 17:31:26 -04:00
haiku.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
hnb.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
html.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
htmlbalance.mdwn adding htmlbalance; housekeeping 2008-11-17 14:09:53 -05:00
htmlscrubber.mdwn Fixed the pagespec link 2008-12-09 08:27:59 -05:00
htmltidy.mdwn htmlbalance: new plugin that balances tags by parsing and re-serializing 2008-11-17 10:46:21 +00:00
httpauth.mdwn httpauth: Document that ikiwiki.cgi has to be in a directory subject to authentication. Closes: #500524 2008-09-30 21:03:51 -04:00
img.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
inline.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
install.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
link.mdwn Use non-deprecated wikilink page (ikiwiki/wikilink) 2008-09-08 08:36:29 -04:00
linkmap.mdwn move example 2008-09-11 17:41:33 -04:00
listdirectives.mdwn Fix typo 2008-09-11 23:02:02 -04:00
lockedit.mdwn first pass through comments documentation 2008-12-12 14:52:05 -05:00
map.mdwn re-add demo, was lost in will's changes 2008-09-11 17:44:46 -04:00
mdwn.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
meta.mdwn meta: Plugin is now enabled by default since the basewiki uses it. 2008-11-06 16:08:11 -05:00
mirrorlist.mdwn remove ikiwiki.setup 2008-07-26 22:55:39 -04:00
more.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
opendiscussion.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
openid.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
orphans.mdwn move demo back to plugin and add example 2008-09-11 17:51:27 -04:00
otl.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
pagecount.mdwn fix 2008-12-17 20:19:12 -05:00
pagestats.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
pagetemplate.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
parentlinks.mdwn move complex examples to a tip 2008-07-16 17:43:57 -04:00
passwordauth.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
pingee.mdwn updates 2008-10-24 13:29:41 -04:00
pinger.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
poll.mdwn tag updates 2008-10-09 16:58:25 -04:00
polygen.mdwn move demo back to plugin page 2008-09-11 18:00:25 -04:00
postsparkline.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
prettydate.mdwn relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
progress.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
rawhtml.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
recentchanges.mdwn Migrate escaped directives (\[[) in doc/plugins to have \[[! prefix 2008-07-21 12:46:35 +01:00
recentchangesdiff.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
relativedate.mdwn add a more useful example of a relative date ;-) 2008-11-05 13:21:16 -05:00
remove.mdwn tag updates 2008-10-09 16:58:25 -04:00
rename.mdwn tag updates 2008-10-09 16:58:25 -04:00
rst.mdwn wording 2008-10-29 18:05:56 -04:00
search.mdwn tag updates 2008-10-09 16:58:25 -04:00
shortcut.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
sidebar.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
signinedit.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
smiley.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
sparkline.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
table.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
tag.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
template.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
testpagespec.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
teximg.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
textile.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
toc.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
toggle.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
txt.mdwn fix link 2008-09-11 19:36:35 -04:00
typography.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
version.mdwn tag updates 2008-10-09 16:58:25 -04:00
websetup.mdwn tag updates 2008-10-09 16:58:25 -04:00
wikitext.mdwn Migrate doc/plugins via prefix_directives 2008-07-21 12:31:57 +01:00
write.mdwn inline: Run format hook first 2008-12-26 16:09:23 -05:00