summaryrefslogtreecommitdiff
path: root/doc/plugins/write.mdwn
AgeCommit message (Collapse)Author
2007-04-27the kind of perl code that can only be written at 4:30 amjoey
(Get a good message when a PageSpec fails due to a negated success by creating success objects with a reason string, which morph into failure objects when negated.)
2007-04-27* Make pagespec_match on failure return a value that is false, but in ajoey
scalar context, evaluates to a reason why the match failed. * Add testpagespec plugin, which might be useful to see why a pagespec isn't matching something.
2007-04-27* pagespec_match() has changed to take named parameters, to better allowjoey
for extended pagespecs. The old calling convention will still work for back-compat for now. * The calling convention for functions in the IkiWiki::PageSpec namespace has changed so they are passed named parameters. * Plugin interface version increased to 2.00 since I don't anticipate any more interface changes before 2.0.
2007-04-10* Add a new %destsources hash, which maps between a destination file andjoey
the source page used to create it, ie it's the reverse of %renderedfiles. * Use %destsources in htmllink and urlto for 20-50% speedup.
2007-04-08fix missing textjoey
2007-04-07web commit by JoshTriplett: Use inline code blocks for formbuilder_setup, to ↵joey
avoid using _ as italics.
2007-04-01* Finally apply the index.html patch, with thanks to everyone who workedjoey
on and supported creating it (especially Tumov). This adds a "usedirs" option that makes ikiwiki use foo/index.html instead of foo.html as output page names. It is not yet enabled by default.
2007-03-21* Fix link() PageSpecs to not just look at the raw link text, but at wherejoey
that given link points based on the page doing the linking. Note that this could make such PageSpecs match different things than before, if you relied on the old behavior of them only matching the raw link text. * This required changing the match_* interface, adding a third parameter. * Allow link() PageSpecs to match relative, as is allowed with globs.a * Add postform option to inline plugin. * Add an bug tracker to the softwaresite example.
2007-03-06* Add preview parameter to preprocesser calls, use this rather than thejoey
previous ugly hack used to avoid writing rss feeds in previews. * Fix the img plugin to avoid overwriting images in previews. Instead it does all the work to make sure the resizing works, and dummys up a resized image using width and height attributes. * Also fixes img preview display, the links were wrong in preview before.
2007-02-20* Changed calling convention for httmllink slightly. The first threejoey
parameters remain the same, but additional options are now passed in using named parameters. * Change plugin interface version to 1.02 to reflect this change. * Add a new anchor option to htmllink. Thanks Ben for the idea. * Support anchors in wikilinks. * Add a "more" plugin based on one contributed by Ben to allow implementing those dreaded "Read more" links in blogs.
2007-02-15* Many changes to make ikiwiki very resistant to write failuresjoey
including out of disk space situations. ikiwiki should never leave truncated files, and if the error occurs during a web-based file edit, the user will be given an opportunity to retry. Inspired by the many ways Moin Moin destroys itself when out of disk. :-) * Fix syslogging of errors.
2007-02-12* Allow plugins to add new types of tests that can be used in PageSpecs.joey
* Add a "conditional" plugin, which allows displaying text if a condition is true. It is enabled by default so conditional can be used in the basewiki. * Use conditionals in the template for plugins, so that plugin pages say if they're currently enabled or not, and in various other places in the wiki.
2007-02-07fixes and more testsjoey
2007-02-06* Patch based on a patch from Ethan to support relative matching injoey
PageSpecs, by using "./". pagespec_match() has grown a new third parameter to support this.
2007-02-02* Add canedit hook, allowing arbitrary controls over when a page can bejoey
edited. * Move code forcing signing before edit to a new "signinedit" plugin, and code checking for locked pages into a new "lockedit" plugin. Both are enabled by default. * Remove the anonok config setting. This is now implemented by a new "anonok" plugin. Anyone with a wiki allowing anonymous edits should change their configs to enable this new plugin. * Add an opendiscussion plugin that allows anonymous users to edit discussion pages, on a wiki that is otherwise wouldn't allow it. * Lots of CGI code reorg and cleanup.
2006-12-29* Initial work on internationalization of the program code. po/ikiwiki.potjoey
is available for translation. * Export gettext() from IkiWiki module.
2006-11-20* Add "last" parameter to hook function. Very basic ordering, and hopefullyjoey
nothing more spohisticated will be needed. * Add formbuilder_setup and formbuilder hooks. * Split out a passwordauth module, that holds all the traditional password based authentication etc code. It's enabled by default, but can be disabled if you want only openid or some other auth method.
2006-11-20typojoey
2006-11-20* Make auth methods pluggable.joey
* Move httpauth support to a plugin. * Add an openid plugin to support logging in using OpenID.
2006-10-28 instead of over and over. Typical speedup is ~4x. Max possible speedup:joey
8x. * Add "scan" parameter to hook(), which is used to make the hook be called during the scanning pass, as well as the render pass. The meta and tag plugins need to use the new scan parameter, so will any others that modify %links. * Now that links are calculated in a separate pass, it can also precalculate backlinks in one pass, which is O(N^2) instead of the previous code that was O(N^3). A very nice speedup for wikis with lots (thousands) of pages.
2006-10-27revert spammerjoey
2006-10-27web commit by shoesorderjoey
2006-10-24web commit by NicolasDubocjoey
2006-10-15* Add no_override parameter to hook().joey
* Add a shortcut plugin, inspired by Victor Moral's contributed shortcuts plugin, but featuring a more ikiwiki-ish syntax and with shortcuts that can be configured using a page in wiki.
2006-10-08* Atom feed support based on a patch by Clint Adams.joey
* Add feeds=no option to inline preprocessor directive to turn off all types of feeds. feeds=rss will still work, and feeds=atom was also added, for fine control. * $IkiWiki::version now holds the program version, and is accessible to plugins.
2006-10-08* Change %renderedfiles to store an array of files rendered from a givenjoey
source file, to allow tracking of extra rendered files like rss feeds. * Note that plugins that accessed this variable will need to be updated! The plugin interface has been increased to version 1.01 for this change. * Add will_render function to the plugin interface, used to register that a page renders a destination file, and do some security checks. * Use will_render in the inline and linkmap plugins. * Previously but no longer rendered files will be cleaned up. * You will need to rebuild your wiki on upgrade to this version.
2006-09-16* pagetemplate hooks are now also called when generating cgi pages.joey
* Add a favicon plugin, which simply adds a link tag for an icon to each page (and cgis).
2006-09-09* Add a module version number to IkiWiki, so you can "use IkiWiki '1.00'"joey
to declare which version of the interface your plugin needs.
2006-09-09* Work on firming up the plugin interface:joey
- Plugins should not need to load IkiWiki::Render to get commonly used functions, so moved some functions from there to IkiWiki. - Picked out the set of functions and variables that most plugins use, documented them, and made IkiWiki export them by default, like a proper perl module should. - Use the other functions at your own risk. - This is not quite complete, I still have to decide whether to export some other things. * Changed all plugins included in ikiwiki to not use "IkiWiki::" when referring to stuff now exported by the IkiWiki module. * Anyone with a third-party ikiwiki plugin is strongly enrouraged to make like changes to it and avoid use of non-exported symboles from "IkiWiki::". * Link debian/changelog and debian/news to NEWS and CHANGELOG. * Support hyperestradier version 1.4.2, which adds a new required phraseform setting.
2006-09-07web commit by joeyjoey
2006-09-07web commit by joeyjoey
2006-09-07web commit by joeyjoey
2006-08-28* Change htmlize, format, and sanitize hooks to use named parameters.joey
2006-08-23updatejoey
2006-08-23reorganise, include preprocess in the right orderjoey
2006-08-12* If the meta plugin overides the page title, set a title_overriddenjoey
variable in the template to true. This allows doing things with the templates conditional on the title being overriden.
2006-08-04* Don't run tidy with -xml as that fails if the input is not well-formed.joey
Run it with -asxhtml instead, so it will output well-formed xhtml no matter what the input. * Disable tidy warnings too. * Add a new format hook, and make tidy use it, since tidy can really only operate on and output complete html documents, not the body chunks that sanitise gets.
2006-08-02* Renamed GlobLists to PageSpecs.joey
* PageSpecs can now include nested parens, "and", and "or". This remains backwards compatible to the old GlobList format. It's implemented by treating the GlobList as a very limited microlanguage that is transformed to perl code that does the matching. * The old GlobList format is deprecated, and I encourage users to switch to using the new PageSpec format. Compatability with the old format will be removed at some point, possibly by 2.0. * Wiki rebuild needed on upgrade to this version due to PageSpec change. * Add support for creation_month and creation_year to PageSpec. Closes: #380680 * Changes to index file encoding.
2006-07-30* ikiwiki can now download and aggregate feeds with its new aggregatejoey
plugin, so it's possible to implement a Planet using ikiwiki! * --setup --refresh no longer rebuilds wrappers. Use --setup --refresh --wrappers to do that. * Add %IkiWiki::forcerebuild to provide a way for plugins like aggregate to update pages that haven't changed on disk.
2006-07-30* Add a run_hooks function for the common task of running all hooks of ajoey
given type. * Add a savestate hook. * Don't put blog post forms on pages if there's no cgiurl set. * Reformat front page.
2006-07-29* Put categories in rss feeds for tagged items.joey
2006-07-28improvejoey
2006-07-28* Add getopt hook type, this allows plugins to add new command-line options.joey
* Add --tagbase option to tag plugin.
2006-07-28small improvementsjoey
2006-07-27more destpage improvementsjoey
2006-07-27* Switch pagetemplate hooks to using named parameters.joey
* Pass a "destpage" parameter to preprocessor and pagetemplate hooks. This will be the page that a source page will be part of, which is different than the source page for inlined pages. * Audited all plugins to endure they pass page, destpage to htmllink appropriatly. This means inlining of various plugins will not work properly, with correct links generated.
2006-07-27 - Adds a tag plugin that allows more easily tagging pages.joey
The meta plugin can also still be used for that, but the tag plugin also lists a page's tags at the bottom of the page. - Allows preprocessor directives to have parameters with no specified value. - Fixes preprocessor directive parameter parsing so that foo=bar baz now means "foo=bar" and a "baz" with no value. * Run pagetemplate hooks when inlining pages so that inlines pages also list their tags. * Make all plugins with pagetemplate hooks check that variables exist on the template before setting them.
2006-07-03* Support htmlize plugins and make mdwn one such plugin, which is enabled byjoey
default (of course!). Based on a patch by Faidon Liambotis.
2006-06-02meta headers are not sanitised; prevent html leaking into themjoey
2006-06-02* Reorganised the doc wiki's todo/* pages, using a link/tag to flagjoey
* Allow pagetemplate plugins to override *anything* in the template. * Add a meta plugin, which allows specifying various metadata about pages, like license and author. It also allows for inserting html link and meta tags into html, overriding the title, and adding hidden WikiLinks, which can be useful when using link-based globbing for page categorisation. * Remove preprocessor directives from inlined pages. * Allow simple preprocessor directive values to be specified w/o quotes.