summaryrefslogtreecommitdiff
path: root/IkiWiki/Render.pm
AgeCommit message (Collapse)Author
2007-03-24* Finally fixed the longstanding inline removal bug.joey
* Renamed %oldpagemtime to a more accurately named %pagemtime and fix it to actually store pages' mtimes. * Add "mtime" sort parameter to inline plugin.
2007-03-08* The underscore escaping support exposed a bug in edit links: Such linksjoey
were titlepage escaped in the urls, and then doubly escaped by the CGI when editing. To fix this, I removed the titlepage escaping in the edit urls. * That means that *every edit link* on the wiki is potentially changed. Rebuilding wikis on upgrade to this version therefore necessary; enabled that in postinst.
2007-03-07My fix to support encoded underscores in page titles broke links to pagesjoey
with underscores in their filenames, since the link code also used titlepage. Create a new linkpage function and have the link code use that instead.
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-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-03 code checking for locked pages into a new "lockedit" plugin. Both arejoey
* Avoid using lots of memory when copying large non-html files. Yes, you can keep videos in the wiki..
2007-01-18* Fix handling of discussion links on discussion pages when l10n is used.joey
2006-12-29* Don't put discussion links on discussion pages.joey
2006-12-29* Initial work on internationalization of the program code. po/ikiwiki.potjoey
is available for translation. * Export gettext() from IkiWiki module.
2006-12-28* Improve code that ignores files in the underlaydir if the srcdir has ajoey
file building the same page. Now it will work even if the extensions of the source files differ.
2006-12-23the problem with coding while drunk -- idiotic mistakesjoey
2006-12-23* Avoid creating edit links when not in cgi mode.joey
* Avoid displaying discussion links at all, if there's not a discussion page, when not in cgi mode.
2006-12-21* Turn $config{wiki_file_prune_regexps} into an array that is easier tojoey
manipulate. * Only exclude rss and atom files from processing if the inline plugin is enabled and that feed type is enabled. Else it's just a copyable file type. * Move rss and atom option handling code into the inline plugin. * Applied a rather old patch from Recai to fix the "pruning is too strict" issue. Now you can have wiki source directories inside dotdirs and the like, if you want.
2006-11-26foojoey
2006-11-08* Make sure to check for errors from every eval.joey
2006-11-01* Implemented expiry options for aggregate plugin.joey
* Use precalculated backlinks info when determining if files need an update due to a page they link to being added/removed. Mostly significant if there are lots of pages. * Remove duplicate link info when saving index. In some cases it could pile up rather badly. (Probably not the best way to deal with this problem.)
2006-10-28fix a bugjoey
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-28* Add a separate pass to find page links, and only render each page once,joey
instead of over and over. This is up to 8 times faster than before! (This could have introduced some subtle bugs, so it needs to be tested extensively.)
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-21* Add --render mode, which can be used to preview an edit at the commandjoey
line by test rendering a single page.
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-08-31drop the loop number to 3, 10 seems a bit much..joey
2006-08-28* Change htmlize, format, and sanitize hooks to use named parameters.joey
2006-08-27fix reference counting oopsjoey
2006-08-27re-emit unprocessed preprocessor directives in full, in case they're reallyjoey
wikilinks with spaces
2006-08-26added infojoey
2006-08-26switch to > n (currently 10) cycle loop protection since eg tumov's includejoey
plugin preprocesses included pages using the name of the including page
2006-08-25use a hashjoey
2006-08-25* Generalised preprocesser loop protection code.joey
2006-08-23remove unused optionjoey
2006-08-23* Change order of linkify and preprocess; first preprocess and then linkify.joey
This allows passing a wikilink inside a parameter to a preprocessor directive without it being expanded to html, and leaking out of the parameter, which had required some non-obvious use of triple-quoting to avoid. Note that any preprocessor plugins that output something that looks like a wikilink will now have it treated as such; AFAIK this doesn't change any behavior though except for the template plugin. * Enable preprocessor directives when previewing an edit.
2006-08-23updatejoey
2006-08-23fixesjoey
2006-08-23* Allow preprocessor directives to contain python-like triple-quotedjoey
text blocks, for easy nesting of quotes inside. * Add a template plugin. * Use the template plugin to add infoboxes to each plugin page listing basic info about the plugin.
2006-08-23* Allow preprocessor directives to span multiple lines, both to makejoey
long ones with lots of values easier to write, and to allow for ones with multi-line quoted values.
2006-08-22revert broken parentlinks fix, which was broken, explain whyjoey
add plugins/contrib page to avoid broken link on this wiki
2006-08-21* Clean up behavior with broken parentlinks.joey
2006-08-21* Fixed a bug with previews of subpages having broken links to top-leveljoey
pages. * Change how the stylesheet url is determined in the templates: Remove STYLEURL and add BASEURL to all templates (some already had it). This new more general variable can be used to link to other things (eg, images) from the template, as well as stylesheets.
2006-08-13* The last release accidentially installed ikiwiki as ikiwiki.pl, now fixed.joey
* Add --version. * Man page format fixups. * Add a %pagecase which maps lower-case page names to the actual case used in the filename. Use this in bestlinks calculation instead of forcing the link to lowercase. * Also use %pagecase in various other places that want to check if a page with a given name exists. * This means that links to pages with mixed case names will now work, even if the link is in some other case mixture, and mixed case pages should be fully supported throughout ikiwiki. * Recommend rebuilding wikis on upgrade to this version.
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-04use htmlpage a couple of places instead of hardcoding the extensionjoey
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 * Build-depend on libtext-wikiformat-perl, so that the syntax check ofjoey
the wikiformat plugin works. Thanks, Emanuele Aina. * Patch from Alessandro Dotti Contra to clean up backlinks and navbar display, running them through pagetitle. This removes ugly underscores and other gunk from the display, much nicer. You may want to rebuild your wiki when upgrading to get the cleanup globally.
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* Patch from Enrico thatjoey
- 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 - Add a tag plugin that allows more easily tagging pages. The meta plugin can also still be used for this.
2006-07-26* Run page through any relevant filters when generating a page preview.joey
* Noticed a bug in the wikitext markup plugin -- it made CamelCase links the default throughout the wiki, not only on wikitext pages. Decided to call this a feature, and split the camelcase support out into a separate plugin that is independant of wikitext.