Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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!
|
|
|
|
|
|
|
|
|
|
and found a bug in my bitmath..
|
|
|
|
|
|
Nothing case-oriented going on in here.
|
|
|
|
Simplify, change default content depends number to 1,
change interface to make more sense.
|
|
|
|
|
|
|
|
Conflicts:
IkiWiki/Render.pm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Another one that probably doesn't matter, but for completness.
|
|
needs link info
|
|
This one is unlikely to matter much, but yeah, it's contentless.
|
|
|
|
|
|
|
|
|
|
This makes simple maps efficient enough that they can be used on sidebars!
|
|
We don't need to check if the pagespec is contentless; all simple ones are.
|
|
When adding a contentless dependency, the pagespec also needs to be one
that does not look at any page content information.
As a first approximation of that, only allow glob-based pagespecs in
contentless dependencies. While there are probably a few other types of
pagespecs that can match contentless, this will work for most of them.
|
|
|
|
|
|
|
|
|
|
Tried a contentless dep and it does not work; changes to links in pages
are not noticed. Drat.
|
|
Preliminary support, anyway.
If a dependency only includes DEPEND_EXISTS, then only changes that
involved adding or deleting a page can trigger it.
This is complicated by internal pages, since the code did not previously
differentiate between add, delete, and change of internal pages.
Now it tracks change separately from add+delete, so DEPEND_EXISTS pagespecs
that actually match internal pages (which will probably be quite rare in
practice) should work.
|
|
|
|
|
|
Just "1" won't cut it anymore; we need to list all the dependency types.
|
|
This will avoid lots of unnecessary updates of pages using the pagecount
directive. Yay!
|
|
Dependency types are represented by bits in the values of the %depends
and %depends_simple hashes.
Change the dependslist array saved to the index to a depends hash.
depends_simple is also converted from an array to a hash.
Note that the depends field used to be a string, and we still
have compat code to handle upgrades from that, as well as from the arrays.
I didn't use ikiwiki-transition because I don't want ikiwiki to break if
users forget to run it; also we're going to recommend a full rebuild on
upgrade to this version to get the improved dependency handling. So
this compat code can be removed or moved to ikiwiki-transition later.
|
|
Here I was bitten by perl's aliasing of foreach variables
to the loop array contents, and match_link accidentially changed
the contents of %links.
In Jon's testcase, a tag added an absolute link, which was
made relative by the above bug, and then the link was added
again in preprocess, and turned into a duplicate.
|