summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/meta.pm
AgeCommit message (Collapse)Author
2011-01-05better handling of relative permalinksJoey Hess
This way, do=goto will go to the page relative to the current location, while the permalinks in feeds will be absolute (unless an url is not configured at all).
2010-12-01meta: Fix calling of htmlscrubber to pass the page parameter. The change of ↵Joey Hess
the htmlscrubber to look at page rather than destpage caused htmlscrubber_skip to not work for meta directives.
2010-11-20make use of precompiled regex objectsSimon McVittie
2010-09-19meta: Ensure that the url specified by xrds-location is absolute.Joey Hess
With a relative xrds-location, the openid perl client module will fail. I haven't checked the specs to see if it needs to be absolute, but all examples I've seen are absolute, so it seems a very good idea.
2010-09-19add missing spaceJoey Hess
2010-09-07needsbuild hook interface changed; the hooks should now return the modified ↵Joey Hess
array of things that need built. (Backwards compatability code keeps plugins using the old interface working.)
2010-07-25meta: Allow syntax closer to html meta to be used.Joey Hess
The idea here is that <meta name="foo" description="bar"> can be written like [[!meta name="foo" description="bar">. Of course, [[!meta foo=bar]] is still supported; this new feature provides some DWIM when trying to directly convert a meta tag into a meta directive.
2010-04-26added match_guid function to meta pluginJoey Hess
(cherry picked from commit 8b6fde73669ddf9204acb3d334c3984566f3c59d) Conflicts: IkiWiki/Plugin/meta.pm
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