summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/meta.pm
AgeCommit message (Collapse)Author
2009-05-06Avoid %links accumulating duplicates. (For TOVA)Joey Hess
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-01-18Add meta field "updated", which can alter the <updated> Atom elementSimon McVittie
Some aggregators, like Planet, sort by mtime rather than ctime. This means that posts with modified content come to the top (which seems odd to me, but is presumably what the aggregator's author or operator wants), but it also means that posts with insignificant edits (like adding tags) come to the top too. Atom defines <updated> to be the date of the last *significant* change, so it's fine that ikiwiki defaults to using the mtime, but it would be good to have a way for the author to say "that edit was insignificant, don't use that mtime".
2008-12-23finalise version 3.00 of the plugin apiJoey Hess
2008-12-21meta: Process meta date during scan pass so that the date will always affect ↵Joey Hess
sorting in inlines.
2008-12-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-12-12meta: Pass info to htmlscrubber so htmlscrubber_skip can take effect.Joey Hess
2008-09-27Export pagetitle, titlepage, linkpage.Joey Hess
2008-08-03add plugin safe/rebuild info (part 1 of 2)Joey Hess
too many plugins.. brain exploding..
2008-07-13switch preprocess hooks to use error functionJoey Hess
2008-07-12Stop prepending urn:uuid: to guids that look like UUIDsSimon McVittie
2008-07-12Bug fix: use &IkiWiki::pagetitle rather than nonexistent &pagetitle in meta ↵Simon McVittie
plugin, so that PageSpecs with title(...) work again
2008-07-12rename uuid to guidJoey Hess
2008-07-11meta plugin: if uuid looks like it is in fact a UUID, prepend "urn:uuid" ↵Simon McVittie
(otherwise leave it alone, so we can assign non-UUID <id>s to Atom items to avoid planet-flooding)
2008-07-11meta plugin: also collect [[!meta uuid="..."]]Simon McVittie
2008-07-02factor out glob2reJoey Hess
2008-06-15meta: Store "description" in pagestate for use by other plugins.Joey Hess
map: Support show=description.
2008-06-04Pass a destpage parameter to the sanitize hook.Joey Hess
Because the search plugin needed it, also because it's one of the few plugins that didn't already have it. I also considered adding it to htmlize, but I really cannot imagine caring what the destpage is when htmlizing. (I'll probably be poven wrong later.)
2008-03-21Close meta tag for redir properly.Joey Hess
2008-03-12fix syntax errorJoey Hess
2008-03-11Correct meta.robots attribute value->contentmartin f. krafft
This was a silly typo, sorry. <meta ...> takes an attribute content, not value. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11Generate openid2 headers as wellmartin f. krafft
This causes meta.openid to also generate the openid2 headers. Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-11Let meta.openid set X-XRDS-Location headermartin f. krafft
Adds an optional xrds-location parameter to the openid meta handler, which allows for XRDS delegation. A good document on XRDS is http://www.windley.com/archives/2007/05/using_xrds.shtml Signed-off-by: martin f. krafft <madduck@madduck.net>
2008-03-02Add robots tag to meta pluginmartin f. krafft
Add special handling for <meta name="robots" ...> which needs not be scrubbed as it's harmless. Signed-off-by: martin f. krafft <madduck@madduck.net> (cherry picked from commit b15d0299a7f7b147e89d8a202d6cca1c21491af2)
2008-02-10* meta: Check that the urls provided for authorurl, permalink, and openidJoey Hess
are safe and can't contain javascript.
2008-01-29add missing test to avoid uninitialised value when a page with metadata is ↵Joey Hess
removed
2008-01-29* meta: Add pagespec functions to match against title, author, authorurl,Joey Hess
license, and copyright. This can be used to create custom RecentChanges. * meta: To support the pagespec functions, metadata about pages has to be retained as pagestate. * Fix encoding bug when pagestate values contained spaces.
2008-01-09* mdwn: When htmlizing text, if it's a single line with no newline,Joey Hess
remove the enclosing paragraph and newline markdown wraps it in. This allows removing several hacks around this markdown behavior from other plugins that htmlize fragements of pages.
2008-01-09don't process data metadata in scan, as it's expensive and the metadata ↵Joey Hess
should not be needed so early
2008-01-09* meta: Run in scan mode again (more intelligently) and re-add support forJoey Hess
meta link. * Fix support for the case where metadata appears after an inline directive. This was broken in version 2.16.
2008-01-09* inline: Add copyright/license info on a per-post basis to atomJoey Hess
feeds if available. (rss doesn't allow such info on a per-post basis) * meta: Allow copyright/license metadata to contain arbitrary markup.
2007-12-22IkiWiki/Plugin/meta.pm <redir>: Support for specifying anchors.Thomas Schwinge
2007-12-16* meta: Drop support for "meta link", since supporting this for internalJoey Hess
links required meta to be run during scan, which complicated its data storage, since it had to clear data stored during the scan pass to avoid duplicating it during the normal preprocessing pass. * If you used "meta link", you should switch to either "meta openid" (for openid delegations), or tags (for internal, invisible links). I assume that nobody really used "meta link" for external, non-openid links, since the htmlscrubber ate those. (Tell me differently and I'll consider bringing back that support.) * meta: Improved data storage. * meta: Drop the hackish filter hook that was used to clear stored data before preprocessing, this hack was ugly, and broken (cf: liw's disappearing openids). * aggregate: Convert filter hook to a needsbuild hook.
2007-12-08real redir cycle detectionJoey Hess
2007-12-08* Finally implemented a simple per-page data storage mechanism for plugins,Joey Hess
via the %pagestate hash. * Use pagestate in meta to detect potential redir loops.
2007-12-08wikilink fixJoey Hess
2007-12-08drop redir loop detection codeJoey Hess
it won't work for incremental builds for now, relying on browsers to notice loops
2007-12-08* meta: Add redir support, based on a patch by Thomas Schwinge.Joey Hess
2007-12-08Here is a patch to add a forwarding functionality to the meta pluginThomas Schwinge
2007-09-15bugfixesjoey
2007-09-14if an inlined page has the same copyright or license as the page it'sjoey
inlined into, don't display them twice
2007-09-14* meta: Support license and copyright information. The information willjoey
be shown in the page footer. HTML will also be inserted that should support the rel=license microformat as well as the HTML spec's rel=copyright.
2007-07-13* Fix links to alternate stylesheets when usedirs is enabled.joey
* Use type= not style= in html for alternate stylesheets, which is more correct (but in my testing both epiphany and iceweasel work ok with style=text/css).
2007-07-13* Fix links to stylesheets when usedirs is enabled.joey
2007-05-28* More consistent encoding of titles in rss and atom feeds. Don't usejoey
ESCAPE=HTML for titles in the templates for these feeds, and instead escape the title going in to the template. Previously, the title was sometimes double-escaped in a feed (if set via meta title), and sometimes not (if set from the page filename). * In the meta plugin, when a title is set, encode the html entities in it numerically. This works better in the current landscape of a rss spec that doesn't specify encoding, and variously broken feed consumers, according to <http://www.rssboard.org/rss-profile#data-types-characterdata>.
2007-05-28didn't mean to make this change (yet)joey
2007-05-28* Apply a patch from Carl Worth allowing a class attribute to be passedjoey
through the img plugin. Also allow the id attribute to be passed through.
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-03-21fixjoey
2007-03-21* Fix a security hole that allowed insertion of unsafe content via the metajoey
plugins's support for inserting html link and meta tags. Now such content is passed through the htmlscrubber like everything else. * Unfortunatly, that means that some valid uses of those tags are no longer usable, and special case methods needed to be added for including stylesheets, and for doing openid delegation. If you use either of these in your wiki, it will need to be modified. See the meta plugin docs for details.
2007-03-21the real bug turned out to be in the meta pluginjoey