summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/meta.pm
AgeCommit message (Collapse)Author
2010-04-22add influence info for failed metadata matchesJoey Hess
This is needed so that when a negated pagespec like "!author(foo)" stops matching, due to the page being changed, ikiwiki knows that the match was influenced by the page content.
2010-04-10Merge remote branch 'smcv/unescaped-meta'Joey Hess
Conflicts: IkiWiki/Plugin/meta.pm
2010-04-06minor style etc changesJoey Hess
2010-04-06HTML-encode meta title, description, guid on output, but not in the pagestateSimon McVittie
This makes them consistent with the rest of the meta keys. A wiki rebuild will be needed on upgrade to this version; until the wiki is rebuilt, double-escaping will occur in the titles of pages that have not changed.
2010-04-06Only store authorsort in meta pagestate if it differs from authorSimon McVittie
2010-04-06Only store titlesort in meta pagestate if it differs from titleSimon McVittie
2010-04-05Use $a and $b for SortSpec cmp callbacksSimon McVittie
2010-04-04Rename sort parameter to meta title/author to sortas=barSimon McVittie
Joey pointed out that sort=x usually takes a sort order.
2010-04-04meta: generalize meta_title into meta(title); support author, updated, dateSimon McVittie
I've left meta_title in, undocumented, as a possible replacement for sort=title in IkiWiki 4.0 or something.
2010-04-03Move sort hooks to the IkiWiki::SortSpec namespaceSimon McVittie
Also rename cmpspec_translate (internal function) to sortspec_translate for consistency.
2010-03-25Reimplement extensible sorting mechanisms, in the same way as pagespecsSimon McVittie
2010-03-24Add an optional "sort" argument to meta titles, defaulting to the titleSimon McVittie
This allows correct sorting of titles, names, etc., with: [[!meta title="David Bowie" sort="Bowie, David"]] [[!meta title="The Beatles" sort="Beatles, The"]]
2010-03-24Have the meta plugin add a meta_title sort orderSimon McVittie
2010-02-11Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess
plugins from the setup file.
2009-11-16meta: Allow use of DESCRIPTION in templates to get at the meta description ↵Joey Hess
value. (Thanks, NicolasLimare)
2009-11-16meta: Generate meta description tags even when the html scrubber is enabled.Joey Hess
Unlike generic meta foo tags, meta description is known to be safe, so can be special cased to be allowed despite the html scrubber. This makes meta description much more useful, since it is otherwise limited to being used by other plugins like map.
2009-11-16avoid fallthrough to default meta header addition for titleJoey Hess
With the htmlscrubber disabled, it was adding a <meta name=title> tag for the title, which is pointless.
2009-10-21meta: Gather permalink info on scan pass so it is available to inline when ↵Joey Hess
using a template that does not include page content.
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-08change how dependency types are specified to add_dependsJoey Hess
Also, this fixes 2 bugs in dependency info.
2009-10-08fix handling of influences of pagespecs that fail to matchJoey Hess
If a pagespec fails to match, I had been throwing the influences away, but that is not right. Consider `backlink(foo)`, where foo does not exist. It still needs to be added as an influence, because if it is created, it will influence the pagespec to match. But with that fix, `link(bar)` had as influences all pages, whether they link to bar or not. Which is not necessary, because modifiying a page to add a link to bar will directly cause the pagespec to match. So, in match_link (and all the match_* functions for page metadata), only return an influence if the match succeeds. match_backlink had been implemented as the inverse of match_link, but that is no longer completly true. While match_link does not return an influence on failure, match_backlink does. match_created_before/after also return the influence on failure, this way if created_after(foo) currently fails because foo does not exist, it will still update the page with the pagespec if foo is created.
2009-10-07add type info to influence informationJoey Hess
2009-10-07add influence info to match_*Joey Hess
Also update docs, test suite.
2009-10-04rework dependency types codeJoey Hess
Simplify, change default content depends number to 1, change interface to make more sense.
2009-10-04meta redir dependency is contentlessJoey Hess
2009-08-15meta: depend on absolute page name, not relativeSimon McVittie
Previously, [[!meta redir="foo"]] on bar, where bar/foo exists, would depend on "foo" (which matches nothing, probably) rather than "bar/foo". (cherry picked from commit f27ec09b72f886415e63fe394e18d9c3cb3913bf)
2009-06-08meta: Add openid delegate parameter to allow delegating only openid or openid2.Joey Hess
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)