aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
Commit message (Collapse)AuthorAge
...
* | add_depends: optimise influence calculationJoey Hess2009-10-09
| | | | | | | | | | | | | | | | 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.
* | img: use presence dependency when linking to a pageJoey Hess2009-10-09
| |
* | brokenlinks: use pagespec_match_listJoey Hess2009-10-09
| |
* | pagespec_match_list: change limit to filterJoey Hess2009-10-09
| |
* | conditional: use pagespec_match_listJoey Hess2009-10-09
| |
* | indentationJoey Hess2009-10-09
| |
* | conditional: use yesnoJoey Hess2009-10-09
| |
* | progress: switch to new pagespec_match_listJoey Hess2009-10-09
| |
* | linkmap: Use new pagespec_match_listJoey Hess2009-10-09
| |
* | rename use_pagespec to pagespec_match_listJoey Hess2009-10-08
| | | | | | | | | | To avoid breaking plugins, also support the old pagespec_match_list calling convention, with a deprecation warning.
* | calendar: rework so it can use use_pagespecJoey Hess2009-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!)
* | postsparkline: switch to use_pagespecJoey Hess2009-10-08
| | | | | | | | | | Also, fixed up the dependency type for time=mtime. That has to remain a content dependency, sadly.
* | orphans: switch to use_pagespecJoey Hess2009-10-08
| |
* | fix feedpages dependencyJoey Hess2009-10-08
| | | | | | | | | | | | | | | | 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.)
* | Merge branch 'master' into dependency-typesJoey Hess2009-10-08
|\| | | | | | | | | | | | | Conflicts: IkiWiki.pm IkiWiki/Render.pm debian/changelog
| * Optimize away most expensive file prune calls, when refreshingJoey Hess2009-10-08
| | | | | | | | | | | | | | | | 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%.
* | pagestate: switch to use_pagespecJoey Hess2009-10-08
| |
* | pagecount: switched to use_pagespecJoey Hess2009-10-08
| |
* | inline: switch to use_pagespecJoey Hess2009-10-08
| | | | | | | | | | Taking advantage of every single one of its features, of course. Even had to add one more..
* | map: switch to use_pagespecJoey Hess2009-10-08
| |
* | change how dependency types are specified to add_dependsJoey Hess2009-10-08
| | | | | | | | Also, this fixes 2 bugs in dependency info.
* | fix handling of influences of pagespecs that fail to matchJoey Hess2009-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | remove explicit addition of dependencies for displayed pagesJoey Hess2009-10-07
| | | | | | | | that hack is not needed, thanks to pagespec influences calculation
* | add type info to influence informationJoey Hess2009-10-07
| |
* | add influence info to match_*Joey Hess2009-10-07
| | | | | | | | Also update docs, test suite.
* | fix backlink new change detection codeJoey Hess2009-10-07
| |
* | linkmap, pagestats: avoid using %links to get a list of pagesJoey Hess2009-10-06
| | | | | | | | | | When a page is deleted, it is removed from %pagesources, but not from %links. So use the former.
* | linkmap: does need presence depsJoey Hess2009-10-06
| | | | | | | | | | Otherwise, removal of a page with no links will not be noticed, since no links will change.
* | typoJoey Hess2009-10-06
| |
* | presence dependencies not neededJoey Hess2009-10-06
| | | | | | | | Using just a link dependency is sufficient, since
* | fix support of a single dependency that combines links and exists typesJoey Hess2009-10-06
| | | | | | | | | | | | This is very common, and the code has to test each type differently, since the list of candidates to test, as well as the test, will vary per type. Much happier with this code now.
* | linkmap: Use a combination of presence and link dependencies.Joey Hess2009-10-06
| | | | | | | | | | This makes the map be regenerated much less frequently, so larger maps are more practical to use now.
* | fix handling of links+content dependencyJoey Hess2009-10-06
| | | | | | | | Such a dependency is unlikely, but can happen.
* | refactor 3Joey Hess2009-10-06
| | | | | | | | Only left one new global
* | refresh refactor 2Joey Hess2009-10-06
| | | | | | | | killed one global
* | split up refreshJoey Hess2009-10-05
| | | | | | | | I'd rather have the global variables than the 300 line function
* | new link change detection method and general code reworkJoey Hess2009-10-05
| | | | | | | | | | | | | | | | | | | | | | | | This new method for determining when links on pages have changed should be more efficient, since it avoids double calculation of the bestlinks. It also allows collecting data about the old links, before the scan pass, so the data is accurate when pages move around and bestlinks change. Also got some code back to a saner indent level.
* | use among limit for correctnessJoey Hess2009-10-05
| |
* | pagestats: Use a combination of precense and link dependencies.Joey Hess2009-10-05
| | | | | | | | | | | | | | | | | | | | | | | | This makes it more efficient. It also fixes the same bug that I fixed in orphans recently, that only changes to the set of displayed pages were considered (or amoung), which missed changes to links on other pages to those. Probably this bug was never noticed because pagestats is most often put on a blog type page, which gets updated anyway when posts change, and thus the tag cloud was updated.
* | oprhans: Use a combination of precense and link dependencies.Joey Hess2009-10-05
| | | | | | | | | | | | | | | | This makes it more efficient. It also fixes a longstanding bug, where if only a small set of pages were considered by orphans, changes to links on other pages failed to cause an update.
* | use links dependencyJoey Hess2009-10-05
| |
* | make links dependencies fire if broken links changeJoey Hess2009-10-05
| |
* | fix add_depends to new apiJoey Hess2009-10-05
| |
* | implement links dependenciesJoey Hess2009-10-05
| | | | | | | | | | | | | | Involved some code refactoring so that same code that detects link changes for backlinks updating can be used for link dependency checking. The nice thing is that link dep checking is thus comopletly free!
* | typosJoey Hess2009-10-05
| |
* | rework dependency types codeJoey Hess2009-10-04
| | | | | | | | | | Simplify, change default content depends number to 1, change interface to make more sense.
* | Merge branch 'dependency-types' into transitive-dependenciesJoey Hess2009-10-04
|\ \ | | | | | | | | | | | | Conflicts: IkiWiki/Render.pm
| * | postsparkline and progress: also contentless dependenciesJoey Hess2009-10-04
| | |
| * | meta redir dependency is contentlessJoey Hess2009-10-04
| | |
| * | listdirectives: contentless dependencyJoey Hess2009-10-04
| | | | | | | | | | | | Another one that probably doesn't matter, but for completness.