2008-01-30 23:22:59 +01:00
|
|
|
# NAME
|
|
|
|
|
2008-05-29 21:17:19 +02:00
|
|
|
ikiwiki-transition - transition ikiwiki pages to new syntaxes, etc
|
2008-01-30 23:22:59 +01:00
|
|
|
|
|
|
|
# SYNOPSIS
|
|
|
|
|
2008-03-21 14:37:52 +01:00
|
|
|
ikiwiki-transition type ...
|
2008-01-30 23:22:59 +01:00
|
|
|
|
|
|
|
# DESCRIPTION
|
|
|
|
|
2008-12-24 22:16:03 +01:00
|
|
|
`ikiwiki-transition` aids in converting wiki pages when there's a major
|
|
|
|
change in ikiwiki syntax. It also handles other transitions not involving
|
|
|
|
wiki pages.
|
2008-01-30 23:22:59 +01:00
|
|
|
|
2008-12-25 01:43:07 +01:00
|
|
|
# prefix_directives your.setup
|
2008-05-29 21:17:19 +02:00
|
|
|
|
2008-12-25 01:43:07 +01:00
|
|
|
The `prefix_directives` mode converts all pages from the old preprocessor
|
|
|
|
directive syntax, requiring a space, to the new syntax, prefixed by '!'.
|
2008-01-30 23:22:59 +01:00
|
|
|
|
|
|
|
Preprocessor directives which already use the new syntax will remain
|
|
|
|
unchanged.
|
|
|
|
|
2008-12-25 01:43:07 +01:00
|
|
|
Note that if a page contains wiki links with spaces, which some
|
2008-02-02 12:15:30 +01:00
|
|
|
older versions of ikiwiki accepted, the prefix_directives transition will
|
2008-01-30 23:22:59 +01:00
|
|
|
treat these as preprocessor directives and convert them.
|
|
|
|
|
2008-12-24 22:16:03 +01:00
|
|
|
# setupformat your.setup
|
2008-08-06 02:40:49 +02:00
|
|
|
|
|
|
|
The `setupformat` mode converts a setup file from using a single `wrappers` block
|
|
|
|
to using `cgi_wrapper`, `git_wrapper`, etc.
|
|
|
|
|
|
|
|
Note that all comments and any unusual stuff like perl code in the setup
|
|
|
|
file will be lost, as it is entirely rewritten by the transition.
|
|
|
|
|
2008-12-24 22:16:03 +01:00
|
|
|
# aggregateinternal your.setup
|
2008-07-15 02:06:53 +02:00
|
|
|
|
|
|
|
The `aggregateinternal` mode moves pages aggregated by the aggregate plugin
|
2008-07-15 04:24:05 +02:00
|
|
|
so that the `aggregateinternal` option can be enabled.
|
2008-07-15 02:06:53 +02:00
|
|
|
|
2008-12-24 22:16:03 +01:00
|
|
|
# moveprefs your.setup
|
|
|
|
|
|
|
|
Moves values that used to be admin preferences into the setup file.
|
|
|
|
|
|
|
|
Note that all comments and any unusual stuff like perl code in the setup
|
|
|
|
file will be lost, as it is entirely rewritten by the move.
|
|
|
|
|
2009-05-20 19:26:20 +02:00
|
|
|
# indexdb your.setup|srcdir
|
2008-05-29 21:17:19 +02:00
|
|
|
|
|
|
|
The `indexdb` mode handles converting a plain text `.ikiwiki/index` file to
|
2008-12-24 22:16:03 +01:00
|
|
|
a binary `.ikiwiki/indexdb`. You do not normally need to run
|
2008-05-29 21:17:19 +02:00
|
|
|
`ikiwiki-transition indexdb`; ikiwiki will automatically run it as
|
|
|
|
necessary.
|
|
|
|
|
2009-05-20 19:26:20 +02:00
|
|
|
# hashpassword your.setup|srcdir
|
2008-05-29 21:17:19 +02:00
|
|
|
|
|
|
|
The `hashpassword` mode forces any plaintext passwords stored in the
|
|
|
|
`.ikiwiki/userdb` file to be replaced with password hashes. (The
|
2008-12-24 22:16:03 +01:00
|
|
|
Authen::Passphrase perl module is needed to do this.)
|
2008-05-29 21:17:19 +02:00
|
|
|
|
|
|
|
If this is not done explicitly, a user's plaintext password will be
|
|
|
|
automatically converted to a hash when a user logs in for the first time
|
|
|
|
after upgrade to ikiwiki 2.48.
|
2008-03-21 14:37:52 +01:00
|
|
|
|
2009-05-20 19:26:20 +02:00
|
|
|
# deduplinks your.setup|srcdir
|
Avoid %links accumulating duplicates. (For TOVA)
This is sorta an optimisation, and sorta a bug fix. In one
test case I have available, it can speed a page build up from 3
minutes to 3 seconds.
The root of the problem is that $links{$page} contains arrays of
links, rather than hashes of links. And when a link is found,
it is just pushed onto the array, without checking for dups.
Now, the array is emptied before scanning a page, so there
should not be a lot of opportunity for lots of duplicate links
to pile up in it. But, in some cases, they can, and if there
are hundreds of duplicate links in the array, then scanning it
for matching links, as match_link and some other code does,
becomes much more expensive than it needs to be.
Perhaps the real right fix would be to change the data structure
to a hash. But, the list of links is never accessed like that,
you always want to iterate through it.
I also looked at deduping the list in saveindex, but that does
a lot of unnecessary work, and doesn't completly solve the problem.
So, finally, I decided to add an add_link function that handles deduping,
and make ikiwiki-transition remove the old dup links.
2009-05-06 05:40:09 +02:00
|
|
|
|
|
|
|
In the past, bugs in ikiwiki have allowed duplicate link information
|
|
|
|
to be stored in its indexdb. This mode removes such duplicate information,
|
|
|
|
which may speed up wikis afflicted by it. Note that rebuilding the wiki
|
|
|
|
will have the same effect.
|
|
|
|
|
2008-01-30 23:22:59 +01:00
|
|
|
# AUTHOR
|
|
|
|
|
2008-05-29 21:17:19 +02:00
|
|
|
Josh Triplett <josh@freedesktop.org>, Joey Hess <joey@ikiwiki.info>
|
2008-01-30 23:22:59 +01:00
|
|
|
|
|
|
|
Warning: this page is automatically made into ikiwiki-transition's man page, edit with care
|