Commit Graph

2144 Commits (c72fda7d695142cc29ac986125234140f6414d97)

Author SHA1 Message Date
Joey Hess 136979fac6 fix backlink new change detection code 2009-10-07 14:08:03 -04:00
Joey Hess 77598dfa9f linkmap, pagestats: avoid using %links to get a list of pages
When a page is deleted, it is removed from %pagesources, but
not from %links. So use the former.
2009-10-06 19:29:28 -04:00
Joey Hess a5d825f286 linkmap: does need presence deps
Otherwise, removal of a page with no links will not be noticed,
since no links will change.
2009-10-06 19:28:52 -04:00
Joey Hess ee56af29e1 typo 2009-10-06 18:45:22 -04:00
Joey Hess 15fd89d64d presence dependencies not needed
Using just a link dependency is sufficient, since
2009-10-06 18:41:09 -04:00
Joey Hess ba1dfb4ec6 fix support of a single dependency that combines links and exists types
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.
2009-10-06 18:09:46 -04:00
Joey Hess af85f62d6f linkmap: Use a combination of presence and link dependencies.
This makes the map be regenerated much less frequently, so larger maps are
more practical to use now.
2009-10-06 17:47:10 -04:00
Joey Hess 2494a23fdd fix handling of links+content dependency
Such a dependency is unlikely, but can happen.
2009-10-06 04:45:57 -04:00
Joey Hess 2a0e6b782c refactor 3
Only left one new global
2009-10-06 02:00:34 -04:00
Joey Hess 96b1f95192 refresh refactor 2
killed one global
2009-10-06 00:10:20 -04:00
Joey Hess 577eed0e7e split up refresh
I'd rather have the global variables than the 300 line function
2009-10-05 23:54:29 -04:00
Joey Hess fd7b5767d3 new link change detection method and general code rework
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.
2009-10-05 22:21:25 -04:00
Joey Hess 031d1bf504 use among limit for correctness 2009-10-05 17:03:16 -04:00
Joey Hess c21f9e7093 pagestats: Use a combination of precense and link dependencies.
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.
2009-10-05 15:44:26 -04:00
Joey Hess 7123178732 oprhans: Use a combination of precense and link dependencies.
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.
2009-10-05 15:14:18 -04:00
Joey Hess f41caf57ea use links dependency 2009-10-05 15:09:09 -04:00
Joey Hess c6bf4228d5 make links dependencies fire if broken links change 2009-10-05 15:01:05 -04:00
Joey Hess e96992bbc8 fix add_depends to new api 2009-10-05 14:33:42 -04:00
Joey Hess 666a9613a1 implement links dependencies
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!
2009-10-05 14:33:23 -04:00
Joey Hess 89b65695e7 typos 2009-10-05 13:40:35 -04:00
Joey Hess be032a7b87 rework dependency types code
Simplify, change default content depends number to 1,
change interface to make more sense.
2009-10-04 20:30:21 -04:00
Joey Hess 9403045b7e Merge branch 'dependency-types' into transitive-dependencies
Conflicts:
	IkiWiki/Render.pm
2009-10-04 16:33:58 -04:00
Joey Hess 7982c3c177 postsparkline and progress: also contentless dependencies 2009-10-04 16:16:50 -04:00
Joey Hess 66852de775 meta redir dependency is contentless 2009-10-04 16:12:05 -04:00
Joey Hess 2af988b86f listdirectives: contentless dependency
Another one that probably doesn't matter, but for completness.
2009-10-04 16:11:10 -04:00
Joey Hess de6eba6ddd not a contentless dependency
needs link info
2009-10-04 16:10:34 -04:00
Joey Hess ce78b69927 edittemplate: contentless dependency
This one is unlikely to matter much, but yeah, it's contentless.
2009-10-04 16:07:02 -04:00
Joey Hess a6689f9c7a calendar: all dependencies are contentless 2009-10-04 16:05:41 -04:00
Joey Hess e529c561f5 inline: Use a contentless dependency in quick mode. 2009-10-04 16:03:01 -04:00
Joey Hess 2fbfcd16e6 map: Use a contentless dependency unless show= is specified.
This makes simple maps efficient enough that they can be used on sidebars!
2009-10-04 15:46:23 -04:00
Joey Hess 6eaf9e4015 orphans and brokenlinks cannot use contentless dependency
Tried a contentless dep and it does not work; changes to links in pages
are not noticed. Drat.
2009-10-03 15:59:30 -04:00
Joey Hess 26dbc09bd8 implement support for DEPEND_EXISTS
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.
2009-10-03 15:50:22 -04:00
Joey Hess dc4e44adf1 pagecount: Use contentless dependency
This will avoid lots of unnecessary updates of pages using the pagecount
directive. Yay!
2009-10-03 15:36:23 -04:00
Joey Hess 52134dc0ef minor optimisation
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
2009-10-02 15:41:09 -04:00
Joey Hess 71eabd44d5 handle transitive dependencies by re-running dep resolver
This is a rather expensive solution to the transitive dependency problem.
2009-10-02 15:38:04 -04:00
Joey Hess 0c6648f02c mirrorlist: Display nothing if list is empty. 2009-10-02 12:37:53 -04:00
Joey Hess ac8ecdcf68 Support RPC::XML 0.69's incompatable object instantiation method. 2009-09-29 13:35:30 -04:00
Joey Hess 1f929e7f64 typo 2009-09-29 13:33:23 -04:00
Joey Hess 3525a6b7f2 toggle, relativedate: Support templates that add attributes to the body tag. 2009-09-28 16:21:03 -04:00
Joey Hess 7cb620d0e8 img: Fix dependency code for full size images.
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.
2009-09-27 20:57:27 -04:00
Joey Hess f42215cb65 img: Correct bug in image size calculation code.
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 03449610d6.

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.)
2009-09-27 20:53:02 -04:00
Joey Hess 2acaa15830 parentlinks: Add has_parentlinks template parameter to allow styling the toplevel index differently etc. 2009-09-27 18:29:16 -04:00
Joey Hess 34991b7d35 otl: Avoid globally filtering non-otl pages
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.
2009-09-23 15:11:51 -04:00
Joey Hess 3f5a646a41 avoid ugly messages when running ikiwiki -setup on a *directory* 2009-09-23 14:56:18 -04:00
Joey Hess 01a9a12bbf auto.setup, auto-blog.setup: Fix sanitization of entered wikiname. Closes: #547378 2009-09-23 13:46:32 -04:00
Joey Hess af26398c14 avoid tempfile warning
Allow tempfile to open the file, so it doesn't warn about possible
insecurity. This probably fixes a real, but unlikely security hole too.
2009-09-13 20:20:21 -04:00
Joey Hess f1999df705 remove cgi exclusion
Note that a typical use of this plugin is for a static site, w/o cgi
support enabled.
2009-09-12 00:24:57 -04:00
Joey Hess a7545978c7 got rid of the postrefresh hook after all
Instead, use the change and delete hooks, and launch rsync if either hook
is called.
2009-09-11 18:29:56 -04:00
Joey Hess 5b818c9f2a doc update, add --exclude ikiwiki.cgi to examples 2009-09-11 18:28:35 -04:00
Joey Hess 3c80557054 localize user-visible warnings and tack on missing newlines 2009-09-11 18:22:06 -04:00