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!
|
|
|
|
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!
|
|
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.
|
|
This will avoid lots of unnecessary updates of pages using the pagecount
directive. Yay!
|
|
As soon as a change happens, we know we will need to rescan all
dependencies from the start, so bail out of the current scan partway to
avoid doing redundant work.
Only problem with this is that ikiwiki sometimes ends up printing out
dependencies that, while correct, are not obvious. Before:
building B, which depends on A
building C, which depends on A
building D, which depends on A
After:
building B, which depends on A
building C, which depends on B
building D, which depends on C
|
|
This is a rather expensive solution to the transitive dependency problem.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Through a complex chain of circumstances, that filtering was causing
dumpsetup to trigger undefined warning messages from the po plugin. But
anyway, munging the otl in htmlize is less error-prone and less expensive,
a win all around.
|
|
|
|
#547378
|
|
Allow tempfile to open the file, so it doesn't warn about possible
insecurity. This probably fixes a real, but unlikely security hole too.
|
|
Note that a typical use of this plugin is for a static site, w/o cgi
support enabled.
|
|
Instead, use the change and delete hooks, and launch rsync if either hook
is called.
|
|
|
|
|
|
Conflicts:
IkiWiki/Plugin/rsync.pm
|
|
Avoids needing to specify the path in the rsync command, can just use "."
|
|
yeah, you need branches :P
|
|
|
|
|
|
the last merge. I should really put each feature on its own git branch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Loading and use of IkiWiki::Receive can all be pushed into the git plugin,
rather than scattered around.
I had at first wanted to make a receive plugin and move it there,
but a plugin was not a good fit; you don't want users to have to manually
load it, and making the git plugin load the receive plugin at the right
times would need more, and ugly code.
|