Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To avoid breaking plugins, also support the old pagespec_match_list
calling convention, with a deprecation warning.
|
|
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!)
|
|
Also, fixed up the dependency type for time=mtime. That has
to remain a content dependency, sadly.
|
|
|
|
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.)
|
|
|
|
|
|
Taking advantage of every single one of its features, of course.
Even had to add one more..
|
|
|
|
Also, this fixes 2 bugs in dependency info.
|
|
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.
|
|
that hack is not needed, thanks to pagespec influences calculation
|
|
|
|
Also update docs, test suite.
|
|
When a page is deleted, it is removed from %pagesources, but
not from %links. So use the former.
|
|
Otherwise, removal of a page with no links will not be noticed,
since no links will change.
|
|
Using just a link dependency is sufficient, since
|
|
This makes the map be regenerated much less frequently, so larger maps are
more practical to use now.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
Simplify, change default content depends number to 1,
change interface to make more sense.
|
|
|
|
|
|
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!
|
|
Tried a contentless dep and it does not work; changes to links in pages
are not noticed. Drat.
|
|
This will avoid lots of unnecessary updates of pages using the pagecount
directive. Yay!
|
|
|
|
|
|
|
|
|
|
I had assumed that an image shown full size did not need add_depends, since
a change would not need a change to the displaying page.
But this is not true if the image is modified and its size changes. Then
the page needs to update its img tag to reflect the current size.
|
|
If an image was resized smaller, with width and height specified to values
that did not fit its aspect ratio, the image tag with/height were not
adjusted to the actual size imagemagick chooses.
This was broken by 03449610d6c666ba24bea68f01d896613e522278.
To fix it right, it unfortunatly needs to always read the src image now,
in order to determine if the image is being displayed larger, or resized
smaller. When resized smaller, it then always uses the size of the
thumbnail, while for larger it calculates the size.
(Only way to get rid of this sometimes extra image read would be to change
it to not allow displaying images larger.)
|
|
toplevel index differently etc.
|