News for ikiwiki 2.40:
ikiwiki now has an new syntax for preprocessor directives, using the
prefix '!':
\[[!directive ...]]
This new syntax no longer relies on spaces to distinguish between
wikilinks and preprocessor directives. Thus, wikilinks can use spaces
in their link text, and preprocessor directives without arguments (such
as "toc") need not use a trailing space.
To enable the new syntax, set prefix_directives to true in your ikiwiki
config. For backward compatibility with existing wikis,
prefix_directives currently defaults to false. In ikiwiki 3.0,
prefix_directives will default to true, and wikis which have not yet
converted to the new syntax will need to set prefix_directives to false
in their setup files.
To convert your wiki to the new syntax, ikiwiki provides a new script
ikiwiki-transition. It will convert preprocessor directives in
all files given on the command line. To convert an entire wiki:
find wikidir/ -type f -name '*.mdwn' -print0 | xargs -0 ikiwiki-transition prefix\_directives
Even with prefix_directives disabled, ikiwiki now allows an optional '!'
prefix on preprocessor directives (but still requires a space). Thus, a
directive which uses a '!' prefix and contains a space will work with
ikiwiki 2.40 and newer, regardless of the value of prefix_directives.
This allows the underlay to work with all ikiwikis.
ikiwiki 2.40 released with [[toggle text="these changes"]]
[[toggleable text="""
- [ Josh Triplett ]
- Add new preprocessor directive syntax¸ using a '!' prefix. Add a
prefix_directives option to the setup file to turn this syntax on;
currently defaults to false, for backward compatibility. Support
optional '!' prefix even with prefix_directives off, and use that in
the underlay to support either setting of prefix_directives. Add NEWS
entry with migration information.
- [ Joey Hess ]
- Danish translation update from Jonas Smedegaard. Closes: #465152
- Generate XML RPC messages with the encoding set to utf-8 instead
of XML::RPC's default of us-ascii. Allows interoperation with
python's xmlrpc library, which threw invalid encoding exceptions and
caused the rst plugin to hang.
- 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 link plugin, which
will of course be enabled by default.
- camelcase: Convert to use new linkify and scan hooks rather than the old
hack.
- Setting NOTAINT=1 had no effect when building ikiwiki itself, fix this.
- Depend on HTML::Scrubber, since the scrubber is enabled by default and
dies if its can't be loaded.
- The search plugin needs to override <base> to point to the directory
containing ikiwiki.cgi, but this should not change the urls to the style
sheets etc. Add a new forcebareurl parameter to misctemplate to allow
it to do that.
- Preview limits the page dropdown to what's selected previously
(as preserving the full list across preview would be tricky). Userdirs
were still being offered as an option there, remove them.
- Fix a bug where user A created a page concurrently with user B, and
when B previewed it would redirect B to A's new page, losing B's work.
Instead, don't redirect and let conflict handling resolve it.
- monotone: Add code to default mergerc file to run
_MTN/ikiwiki-netsync-hook when a commit is merged in from the net.
- tla: Remove call to escapeHTML when constructing recentchanges message;
the html is escaped at a different level. Closes: #466495
- bzr, mercurial: Remove unused import of escapeHTML.
- Fix another preview will_render bug. This one involved inline,
which forced a scan of the page to make available metadata that
appeared after the inline directive. Problem is that scan made it forget
about any other files rendered due to the page. The scan also turns out
to be unnecessary now, since meta persistently stores state and it's
always available. So it was just removed.
- Disable taint checking for all builds as people keep complaining about it,
and since all versions of perl seem to be hopelessly broken.
- Fix links generated by preprocessor directives when previewing.
- inline: When forcing urls absolute for rss feeds, skip mailto and other
such urls.
- ikiwiki-makerepo: Don't fail if the third argument ends in a slash.
- Allow colons in URLs after the first slash. (Adeodato Simó)"""]]
|