summaryrefslogtreecommitdiff
path: root/t/pagespec_match.t
AgeCommit message (Collapse)Author
2009-10-08fix test broken by change to failing link() influenceJoey Hess
2009-10-07add type info to influence informationJoey Hess
2009-10-07more influences testsJoey Hess
2009-10-07add influence info to match_*Joey Hess
Also update docs, test suite.
2009-10-07make success and failreason objects carry an influences hashJoey Hess
The hash will be used used to record a set of pages that influenced the result of a pagespec match. The influences are merged together when boolean and/or are encountered in a pagespec. That means using a non-short-circuiting OR operator. And so I use & and | when translating pagespecs, since those bitwise operators can be overloaded. ("and" and "or" cannot, apparently).
2009-05-21add test case for multiline pagespecJoey Hess
2009-05-18Allow curly braces to be used in pagespecsJoey Hess
And avoid a whole class of potential security problems (though none that I know of actually existing..), by avoiding performing any string interpolation on user-supplied data when translating pagespecs.
2008-12-23remove globlist supportJoey Hess
No transition code implemented, but I will probably make a 2.x release that warns about found globlists.
2008-11-09Fix the link() pagespec to match links that are internally recorded as absolute.Joey Hess
This fixes a problem exposed by the recent change to tags (a2839de9362187b67b0e3a564461e272e64fd9b4). That recorded tag links as absolute by including a leading slash in the link. The same could also be done with an absolute wikilink. In either case, link() would not match such links, unless the leading slash was included in the link to match. But that's not right, because pagespecs match absolute by default. So strip the leading slash. Note that to keep any existing `link(/foo)` pagespecs working after this change, the leading slash is removed from there, too.
2008-09-30add test for empty, and for entirely negated pagespecsJoey Hess
2008-05-25fix regression testJoey Hess
2008-04-24Correct a bug in pagespec matching, where a empty pagespec matched all pages.Joey Hess
This manifested as wikis with no locked pages treating them all as locked. The bug was introduced in version 2.41. Medium urgency upload due to above fix.
2008-01-29merged the recentchanges branchJoey Hess
misc fixes
2008-01-29added configuration for recentchangesJoey Hess
I kept it to a simple global configuration, rather than using the preprocessor directive for recentchanges, because that had chicken and egg problems and seemed overcomplicated. This should work reasonably well, though it would be good to add some more metadata so that more customised recentchanges pages can be made.
2007-05-30* Apply a patch from Carl Worth adding support for using globs in link()joey
in a PageSpec.
2007-04-27the kind of perl code that can only be written at 4:30 amjoey
(Get a good message when a PageSpec fails due to a negated success by creating success objects with a reason string, which morph into failure objects when negated.)
2007-04-27* Make pagespec_match on failure return a value that is false, but in ajoey
scalar context, evaluates to a reason why the match failed. * Add testpagespec plugin, which might be useful to see why a pagespec isn't matching something.
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-21* Fix link() PageSpecs to not just look at the raw link text, but at wherejoey
that given link points based on the page doing the linking. Note that this could make such PageSpecs match different things than before, if you relied on the old behavior of them only matching the raw link text. * This required changing the match_* interface, adding a third parameter. * Allow link() PageSpecs to match relative, as is allowed with globs.a * Add postform option to inline plugin. * Add an bug tracker to the softwaresite example.
2007-02-12* Allow plugins to add new types of tests that can be used in PageSpecs.joey
* Add a "conditional" plugin, which allows displaying text if a condition is true. It is enabled by default so conditional can be used in the basewiki. * Use conditionals in the template for plugins, so that plugin pages say if they're currently enabled or not, and in various other places in the wiki.
2007-02-07fixes and more testsjoey
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.
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-03* Added created_before and created_after PageSpec limits.joey
2006-08-02* Fix stupid bug in date matching, patch from Roland Mas. Closes: #381132joey
* Added many unit tests for pagespec_match.
2006-08-02link and backlink pagespec testsjoey
2006-08-02complex testjoey
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.