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
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
contrib po: make the dev timing clearer 2008-12-23 11:08:00 +01:00
creole
editdiff 2008-09-17 15:01:18 -04:00
filecheck
format response 2008-11-10 13:30:20 -05:00
haiku
hnb
htmlbalance use HTML::Entities 2008-11-17 14:27:11 -05:00
img response 2008-11-05 13:30:26 -05:00
map
meta
openid
orphans problem fixed 2008-10-09 19:15:39 -04:00
passwordauth
pingee
rawhtml
recentchanges
rst
search
shortcut
table
tag
teximg
textile
toc
toggle
txt
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
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
brokenlinks.mdwn
calendar.mdwn
camelcase.mdwn
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
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
edittemplate.mdwn tag updates 2008-10-09 16:58:25 -04:00
embed.mdwn
favicon.mdwn
filecheck.mdwn
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
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
graphviz.mdwn
haiku.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
hnb.mdwn
html.mdwn
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
link.mdwn
linkmap.mdwn
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
mdwn.mdwn
meta.mdwn meta: Plugin is now enabled by default since the basewiki uses it. 2008-11-06 16:08:11 -05:00
mirrorlist.mdwn
more.mdwn misc minor changes 2008-09-11 18:29:07 -04:00
opendiscussion.mdwn
openid.mdwn
orphans.mdwn
otl.mdwn
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
passwordauth.mdwn
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
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
recentchanges.mdwn
recentchangesdiff.mdwn
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
signinedit.mdwn
smiley.mdwn
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
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
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
write.mdwn inline: Run format hook first 2008-12-26 16:09:23 -05:00