summaryrefslogtreecommitdiff
path: root/doc/plugins/write.mdwn
AgeCommit message (Collapse)Author
2007-08-13improved docs, add a tutorial for writing pluginsjoey
2007-08-13* Fix --libdir to work at the command line.joey
* Plugins can now be written as standalone external programs, which can be written in any language that can do XML::RPC.
2007-08-05* Add sessioncgi hook. joey
2007-08-05* Add rel=tag attribute to tag links, supporting that microformat, as welljoey
as allowing them to be styled specially. Thanks, NicolasLimare.
2007-07-26* Add templatefile hook.joey
* Add pagetemplate plugin, which allows changing the template used for a page. (Not to be confused with the hook of the same name..)
2007-07-17improve urlto docsjoey
2007-07-07web commit by TaylorKillianjoey
2007-06-15fix headerjoey
2007-05-28escape some codejoey
2007-05-17* Add a destpage parameter to the filter hook.joey
* Fix links to smilies generated by the smiley plugin for inlined pages. The old links were often wrong, but often still worked by accident.
2007-05-09* Add the needsbuild hook. Plugins can use this to manipulate which filesjoey
ikiwiki builds when refreshing the wiki.
2007-05-06correct documentation about scan hook (which has never existed)joey
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.