Joey Hess [Sat, 10 Jan 2009 00:28:43 +0000 (19:28 -0500)]
remove questions
ikiwiki has some pretty distinct fingerprints even when it's used
in unusual ways on sites that don't make it obvious it's being used:
* tova: a) rss and atom feed buttons
b) use of toc plugin on some pages
c) usual page.tmpl droppings
d) (I know the tova guys :)
* awesome: a) usual page.tmpl droppings
b) ikiwiki/ page and rest of basewiki pages exist
* UK software patents: used to use ikiwiki based on similar
fingerprints, but not now. Removed
Joey Hess [Wed, 7 Jan 2009 20:48:07 +0000 (15:48 -0500)]
repolist: New plugin to support the rel=vcs-* microformat.
* repolist: New plugin to support the rel=vcs-* microformat.
* goodstuff: Include repolist by default. (But it does nothing until
configured with the repository locations.)
Joey Hess [Sat, 3 Jan 2009 17:52:47 +0000 (12:52 -0500)]
yesno: Always accept English even when localised.
It seems to be a failing of i18n in unix that the translation stops at the
commands and the parameters to them, and ikiwiki is no exception with its
currently untranslated directives. So the little bit that's translated sticks
out like a sore thumb. It also breaks building of wikis if a different locale
happens to be set.
I suppose the best thing to do is either give up on the localisation of this
part completly, or make it recognise English in addition to the locale. I've
tenatively chosen the latter.
We don't demo directives on directive doc pages, to avoid doing unnecessary
work at build time (not a big deal here) and to avoid broken directives if
the plugin is not enabled.
This fact could probably be documented better, but I don't want to mention
it on every page..
Joey Hess [Fri, 26 Dec 2008 21:08:33 +0000 (16:08 -0500)]
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.)