summaryrefslogtreecommitdiff
path: root/doc/plugins/write.mdwn
AgeCommit message (Collapse)Author
2010-08-02Revert "Added a rescan hook."intrigeri
This reverts commit 25447bccae0439ea56da7a788482a4807c7c459d.
2010-07-30Added a rescan hook.intrigeri
This is needed for the po plugin vs. e.g. meta titles. In order to get rid of the ugly "rebuilding all pages to fix meta titles" thing, Joey suggested to make "po, at scan time, re-run the scan hooks, passing them modified content (either converted from po to mdwn or with the escaped stuff cheaply de-escaped)". This would unfortunately not work, as the meta plugin gathers its data using the preprocess hook in scan mode: it would overwrite with buggy data the correct data we would have forced it to gather in po's scan hook. We then need a hook that runs *after* the preprocess hook has been run in scan mode, but *before* any page rendering is started. Hence this one.
2010-07-26Add new disable hook, allowing plugins to perform cleanup after they have ↵Joey Hess
been disabled.
2010-07-04remove unnecessary and troublesome filter callsJoey Hess
This better defines what the filter hook is passed, to only be the raw, complete text of a page. Not some snippet, or data read in from an unrelated template. Several plugins that filtered text that originates from an (already filtered) page were modified not to do that. Note that this was not done very consistently before; other plugins that receive text from a page called preprocess on it w/o first calling filter. The template plugin gets text from elsewhere, and was also changed not to filter it. That leads to one known regression -- the embed plugin cannot be used to embed stuff in templates now. But that plugin is deprecated anyway. Later we may want to increase the coverage of what is filtered. Perhaps a good goal would be to allow writing a filter plugin that filters out unwanted words, from any input. We're not there yet; not only does the template plugin load unfiltered text from its templates now, but so can the table plugin, and other plugins that use templates (like inline!). I think we can cross that bridge when we come to it. If I wanted such a censoring plugin, I'd probably make it use a sanitize hook instead, for the better coverage. For now I am concentrating on the needs of the two non-deprecated users of filter. This should fix bugs/po_vs_templates, and it probably fixes an obscure bug around txt's use of filter for robots.txt.
2010-07-01add note about genwrapper code running before wrapper sanitizes environmentJoey Hess
(That is needed for the receive test code.)
2010-06-23finializing openid nickname supportJoey Hess
Renamed usershort => nickname. Note that this means existing user login sessions will not have the nickname recorded, and so it won't be used for those.
2010-06-23rcs_commit and rcs_commit_staged api changesJoey Hess
Using named parameters for these is overdue. Passing the session in a parameter instead of passing username and IP separately will later allow storing other session info, like username or part of the email. Note that these functions are not part of the exported API, and the prototype change will catch (most) skew, so I am not changing API versions. Any third-party plugins that call them will need updated though.
2010-06-23API: rcs_commit and rcs_commit_staged are passed a new parameterJoey Hess
that may contain the username component of the email address of the user making the commit.
2010-06-23Add new optional field usershort to rcs_recentchanges.Joey Hess
Now the git plugin supports commits with author fields that look like: Author: http://my.openid/ <me@web> Then in recentchanges, the short username will be displayed, linking to the openid. Particularly useful for the horrible google openids, of course.
2010-05-06inline: Call indexhtml when inlining internal pages, so their text can be ↵Joey Hess
indexed for searching.
2010-05-06Renamed postscan hook to indexhtml, to reflect its changed position.Joey Hess
Probably only the search plugin uses it, so this seemed safe.
2010-05-03Add ACTIONS variable to page.tmpl, which allows plugins to add arbitrary ↵Joey Hess
links to the action bar without modifying the template further. (COMMENTSLINK and DISCUSSIONLINK could be folded into this, but are kept separate for now to avoid breaking modified templates.)
2010-05-02Add parameter to displaytime to specify that it is a pubdate, and in html5 ↵Joey Hess
mode, use time tag.
2010-04-24template() - return params in list contextJoey Hess
I forgot CGI::Formbuilder's horrible interface that needs template parameters instead of a constructed object.
2010-04-23template docu reorgJoey Hess
Remove wikitemplates page; fold its contents into templates page. Update all backlinks. Document new ability to put templates inside srcdir.
2010-04-23allow template pages to not be under templates/Joey Hess
2010-04-23allow a bare page name to be specified as a templateJoey Hess
2010-04-22look for templates in srcdir and underlays, firstJoey Hess
This entailed changing template_params; it no longer takes the template filename as its first parameter. Add template_depends to api and replace calls to template() with template_depends() in appropriate places, where a dependency should be added on the template. Other plugins don't use template(), so will need further work. Also, includes are disabled for security. Enabling includes only when using templates from the templatedir would be nice, but would add a lot of complexity to the implementation.
2010-04-22clarifyJoey Hess
2010-04-21add_autofile filename should be relative to srcdirJoey Hess
2010-04-17improve docsJoey Hess
2010-04-17document add_autofileJoey Hess
2010-04-16automatically run --gettime, and optimise it for gitJoey Hess
* Automatically run --gettime the first time ikiwiki is run on a given srcdir. * Optimise --gettime for git, so it's appropriatly screamingly fast. (This could be done for other backends too.) * However, --gettime for git no longer follows renames. * Use above to fix up timestamps on docwiki, as well as ensure that timestamps on basewiki files shipped in the deb are sane.
2010-04-16--gettime revampJoey Hess
* Rename --getctime to --gettime. (The old name still works for backwards compatability.) * --gettime now also looks up last modification time. * Add rcs_getmtime to plugin API; currently only implemented for git.
2010-04-07note about sort and dependency typesJoey Hess
There's a gotcha where pagespec_match_list is used with a dependency type that is not a full content dependency, and so ikiwiki does not know that a content change to a page that sorted too low to match needs to trigger a rebuild, since its sort order may have changed. Inline is mostly ok re this, as it does use content dependencies. Except for in the case of raw mode. But then, page metadata is documented to not be loaded, so it doesn't make sense to use sortspecs that depend on metadata. I hope. :)
2010-04-06Merge remote branch 'smcv/ready/sort-package'Joey Hess
Conflicts: debian/NEWS
2010-04-06improve wording to not encourage explicitly passing undefJoey Hess
2010-04-05Use $a and $b for SortSpec cmp callbacksSimon McVittie
2010-04-04implement typed links; add tagged_is_strict config optionSimon McVittie
2010-04-03Move sort hooks to the IkiWiki::SortSpec namespaceSimon McVittie
Also rename cmpspec_translate (internal function) to sortspec_translate for consistency.
2010-04-03Remove support for check_cmp_foo (pre-sort checks)Simon McVittie
2010-03-25Reimplement extensible sorting mechanisms, in the same way as pagespecsSimon McVittie
2010-03-24Allow sorting to be combined and/or reversedSimon McVittie
2010-03-24Allow hooks to add sorting functions to pagespec_match_listSimon McVittie
2010-02-14add ngettext support & optimize gettext handlingJoey Hess
As I was adding ngettext support, I realized I could optimize the gettext functions by memoizing the creation of the gettext object. Note that the object creation is still deferred until a gettext function is called, to avoid unnecessary startup penalties on code paths that do not need gettext. A side benefit is that separate stub functions are no longer needed to handle the C language case.
2010-02-12formattingJoey Hess
2010-02-12layoutJoey Hess
2010-02-12add highlevel view of when hooks are called during compile and cgi phasesJoey Hess
2010-02-12add variable value examplesJoey Hess
2010-02-12move note to sideboxJoey Hess
2010-02-12heading tweaksJoey Hess
2010-02-12reorg and expand docs of some variablesJoey Hess
2010-02-12add section informationJoey Hess
2010-02-11Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess
plugins from the setup file.
2010-01-31document that state variables are not available in the checkconfig hookJoey Hess
2009-11-26htmllink: allow a title attribute to be specifiedJoey Hess
2009-11-08Moved the postscan hook to run on the raw html of a page, before the ↵Joey Hess
template is filled out. This improves the search plugin's indexing, since it will not include navigational elements from the page template or sidebar.
2009-10-09add_depends: optimise influence calculationJoey Hess
I made match_* functions whose influences can vary depending on the page matched set a special "" influence to indicate this. Then add_depends can try just one page, and if static influences are found, stop there.
2009-10-09pagespec_match_list: change limit to filterJoey Hess
2009-10-09pagespec_match_list allow additional pagespec limit parameters againJoey Hess