summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-09responseJoey Hess
2009-10-09revertJoey Hess
2009-10-09rework influence calculationJoey Hess
Thought of a cleaner way to accumulate all influences in pagespec_match_list, using the pagespec_match result object as an accumulator. (This also accumulates all influences from failed matches, rather than just one failed match. I'm not sure if the old method was correct.)
2009-10-09move influence tests to pagespec_match_list.tJoey Hess
2009-10-09img: use presence dependency when linking to a pageJoey Hess
2009-10-09brokenlinks: use pagespec_match_listJoey Hess
2009-10-09fix linkJoey Hess
2009-10-09fix pagespec_match_list handling of list parameterJoey Hess
2009-10-09pagespec_match_list: change limit to filterJoey Hess
2009-10-09conditional: use pagespec_match_listJoey Hess
2009-10-09pagespec_match_list allow additional pagespec limit parameters againJoey Hess
2009-10-09indentationJoey Hess
2009-10-09conditional: use yesnoJoey Hess
2009-10-09progress: switch to new pagespec_match_listJoey Hess
2009-10-09linkmap: Use new pagespec_match_listJoey Hess
2009-10-09fix test to use new calling conventionJoey Hess
This test still fails several cases, since add_depends influence testing is currently commented out.
2009-10-09add pagespec/sorting to underlayJoey Hess
2009-10-09don't link to inline, not available when directives underlay is not enabledJoey Hess
2009-10-08typoJoey Hess
2009-10-08rename use_pagespec to pagespec_match_listJoey Hess
To avoid breaking plugins, also support the old pagespec_match_list calling convention, with a deprecation warning.
2009-10-08fix test broken by change to failing link() influenceJoey Hess
2009-10-08calendar: rework so it can use use_pagespecJoey Hess
This was tricky because of the caching, and because use_pagespec always adds a dependency. That would have made year calendars depend on the whole pagespec, which is overly broad. So I removed the caching, format_month, and in format_year just look at %pagesources to see if month pages are available. In format_month, I make it always call use_pagespec, so each month calendar gets the right dependency and any influcences added. This means a bit more work, but the added work is fairly minimal, and presence dependencies remove a *lot* of work it used to do. (100% untested!)
2009-10-08Yet another tweak to the formal definition. Much better this time.http://www.cse.unsw.edu.au/~willu/
2009-10-08postsparkline: switch to use_pagespecJoey Hess
Also, fixed up the dependency type for time=mtime. That has to remain a content dependency, sadly.
2009-10-08orphans: switch to use_pagespecJoey Hess
2009-10-08Another tweak to the formal definition.http://www.cse.unsw.edu.au/~willu/
2009-10-08responseJoey Hess
2009-10-08comments on cycles in the dependency graphhttp://www.cse.unsw.edu.au/~willu/
2009-10-08Minor commenthttp://www.cse.unsw.edu.au/~willu/
2009-10-08fix feedpages dependencyJoey Hess
This dependency was missing before switching to use_pagespec. It is correct to add it, but it needs to be combined with the regular "pages" dependency to ensure that it does not match extra pages. (Also fixed its dependency type.)
2009-10-08Merge branch 'master' into dependency-typesJoey Hess
Conflicts: IkiWiki.pm IkiWiki/Render.pm debian/changelog
2009-10-08pagestate: switch to use_pagespecJoey Hess
2009-10-08Optimize away most expensive file prune calls, when refreshingJoey Hess
Benchmarking refresh of a a wiki with 25 thousand pages showed file_pruned() using most of the time. But, when refreshing, ikiwiki already knows about nearly all the files. So we can skip calling file_pruned() for those it knows about. While tricky to do, this sped up a refresh (that otherwise does no work) by 10-50%.
2009-10-08use_pagespec: do not fail with error when unable to match, unless it failsJoey Hess
with an ErrorReason
2009-10-08pagecount: switched to use_pagespecJoey Hess
2009-10-08inline: switch to use_pagespecJoey Hess
Taking advantage of every single one of its features, of course. Even had to add one more..
2009-10-08add sorting pageJoey Hess
2009-10-08updateJoey Hess
2009-10-08map: switch to use_pagespecJoey Hess
2009-10-08add use_pagespec and deptype functionsJoey Hess
2009-10-08change how dependency types are specified to add_dependsJoey Hess
Also, this fixes 2 bugs in dependency info.
2009-10-08found a way to get false positive influencesJoey Hess
2009-10-08Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.infoJoey Hess
2009-10-08updateJoey Hess
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-08(no commit message)http://shoorick.livejournal.com/
2009-10-08add cpanrthttp://www.larted.org.uk/~dom/
2009-10-08Tweakshttp://www.cse.unsw.edu.au/~willu/
2009-10-08(no commit message)http://smcv.pseudorandom.co.uk/