Joey Hess [Tue, 6 Oct 2009 01:24:55 +0000 (21:24 -0400)]
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.
Joey Hess [Tue, 6 Oct 2009 00:54:38 +0000 (20:54 -0400)]
add among limit to pagestats
Joey Hess [Mon, 5 Oct 2009 21:44:15 +0000 (17:44 -0400)]
uh oh, this affects link deps
Joey Hess [Mon, 5 Oct 2009 21:15:37 +0000 (17:15 -0400)]
close
Joey Hess [Mon, 5 Oct 2009 21:12:38 +0000 (17:12 -0400)]
fixed a while ago
Joey Hess [Mon, 5 Oct 2009 21:11:08 +0000 (17:11 -0400)]
Merge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 21:11:03 +0000 (17:11 -0400)]
close
Joey Hess [Mon, 5 Oct 2009 21:10:00 +0000 (17:10 -0400)]
note that this old bug affects more stuff now
Joey Hess [Mon, 5 Oct 2009 21:03:16 +0000 (17:03 -0400)]
use among limit for correctness
Joey Hess [Mon, 5 Oct 2009 20:51:33 +0000 (16:51 -0400)]
add rebuild handing
Joey Hess [Mon, 5 Oct 2009 20:48:15 +0000 (16:48 -0400)]
typo
Joey Hess [Mon, 5 Oct 2009 20:47:40 +0000 (16:47 -0400)]
Merge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 20:47:12 +0000 (16:47 -0400)]
responses, questions, ideas
Joey Hess [Mon, 5 Oct 2009 20:19:58 +0000 (16:19 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Mon, 5 Oct 2009 20:18:54 +0000 (16:18 -0400)]
response
http://smcv.pseudorandom.co.uk/ [Mon, 5 Oct 2009 20:08:19 +0000 (16:08 -0400)]
thoughts about renaming the actual images to .albumimage
Joey Hess [Mon, 5 Oct 2009 19:44:26 +0000 (15:44 -0400)]
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.
Joey Hess [Mon, 5 Oct 2009 19:43:37 +0000 (15:43 -0400)]
typo
Joey Hess [Mon, 5 Oct 2009 19:40:18 +0000 (15:40 -0400)]
closures
Joey Hess [Mon, 5 Oct 2009 19:36:51 +0000 (15:36 -0400)]
clarify amoung
I found it really hard to understand from the old description..
Joey Hess [Mon, 5 Oct 2009 19:26:15 +0000 (15:26 -0400)]
switch plugins page to use a map instead of an inline
A map just seems a better fit for reference, since it deliniates the
contrib plugins better, and orders better.
It also has the advantage of being less expensive, since the plugins page
does not need to update when eg, the pagecount page changes.
Only downside is, no rss feed of new plugins. Which I know a few people
were subscribed to.
Joey Hess [Mon, 5 Oct 2009 19:22:17 +0000 (15:22 -0400)]
fix documentation of quick
It *always* turns off feeds, because feeds require a look
at all pages.
Joey Hess [Mon, 5 Oct 2009 19:17:36 +0000 (15:17 -0400)]
syntax
Joey Hess [Mon, 5 Oct 2009 19:16:14 +0000 (15:16 -0400)]
omit forum and javascript from list
Joey Hess [Mon, 5 Oct 2009 19:14:18 +0000 (15:14 -0400)]
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.
Joey Hess [Mon, 5 Oct 2009 19:09:09 +0000 (15:09 -0400)]
use links dependency
Joey Hess [Mon, 5 Oct 2009 19:08:57 +0000 (15:08 -0400)]
update
Joey Hess [Mon, 5 Oct 2009 19:01:05 +0000 (15:01 -0400)]
make links dependencies fire if broken links change
Joey Hess [Mon, 5 Oct 2009 18:33:42 +0000 (14:33 -0400)]
fix add_depends to new api
Joey Hess [Mon, 5 Oct 2009 18:08:46 +0000 (14:08 -0400)]
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!
Joey Hess [Mon, 5 Oct 2009 17:40:35 +0000 (13:40 -0400)]
typos
Jon Dowland [Mon, 5 Oct 2009 14:27:41 +0000 (15:27 +0100)]
another UI issue I'm interested in
Jon Dowland [Mon, 5 Oct 2009 14:27:03 +0000 (15:27 +0100)]
would you accept patches for this?
Jon Dowland [Mon, 5 Oct 2009 14:17:11 +0000 (15:17 +0100)]
good work, thank you!
Joey Hess [Mon, 5 Oct 2009 03:27:00 +0000 (23:27 -0400)]
add test suite for add_depends
and found a bug in my bitmath..
Joey Hess [Mon, 5 Oct 2009 00:37:09 +0000 (20:37 -0400)]
Merge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 00:35:26 +0000 (20:35 -0400)]
update, add spec for link dependencies
Joey Hess [Mon, 5 Oct 2009 00:35:02 +0000 (20:35 -0400)]
remove /i from regexp
Nothing case-oriented going on in here.
Joey Hess [Mon, 5 Oct 2009 00:34:43 +0000 (20:34 -0400)]
update
Joey Hess [Mon, 5 Oct 2009 00:30:21 +0000 (20:30 -0400)]
rework dependency types code
Simplify, change default content depends number to 1,
change interface to make more sense.
Joey Hess [Sun, 4 Oct 2009 21:38:10 +0000 (17:38 -0400)]
update
Joey Hess [Sun, 4 Oct 2009 20:40:36 +0000 (16:40 -0400)]
update
Joey Hess [Sun, 4 Oct 2009 20:36:39 +0000 (16:36 -0400)]
update
Joey Hess [Sun, 4 Oct 2009 20:33:58 +0000 (16:33 -0400)]
Merge branch 'dependency-types' into transitive-dependencies
Conflicts:
IkiWiki/Render.pm
Joey Hess [Sun, 4 Oct 2009 20:28:57 +0000 (16:28 -0400)]
Merge branch 'master' into transitive-dependencies
Joey Hess [Sun, 4 Oct 2009 20:28:51 +0000 (16:28 -0400)]
Merge branch 'master' into dependency-types
Joey Hess [Sun, 4 Oct 2009 20:28:14 +0000 (16:28 -0400)]
document effect of contentless dependencies on sidebar efficiency
Joey Hess [Sun, 4 Oct 2009 20:19:54 +0000 (16:19 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Sun, 4 Oct 2009 20:16:50 +0000 (16:16 -0400)]
postsparkline and progress: also contentless dependencies
Joey Hess [Sun, 4 Oct 2009 20:12:05 +0000 (16:12 -0400)]
meta redir dependency is contentless
Joey Hess [Sun, 4 Oct 2009 20:11:10 +0000 (16:11 -0400)]
listdirectives: contentless dependency
Another one that probably doesn't matter, but for completness.
Joey Hess [Sun, 4 Oct 2009 20:10:34 +0000 (16:10 -0400)]
not a contentless dependency
needs link info
Joey Hess [Sun, 4 Oct 2009 20:07:02 +0000 (16:07 -0400)]
edittemplate: contentless dependency
This one is unlikely to matter much, but yeah, it's contentless.
Joey Hess [Sun, 4 Oct 2009 20:05:41 +0000 (16:05 -0400)]
calendar: all dependencies are contentless
Joey Hess [Sun, 4 Oct 2009 20:03:01 +0000 (16:03 -0400)]
inline: Use a contentless dependency in quick mode.
Joey Hess [Sun, 4 Oct 2009 20:01:56 +0000 (16:01 -0400)]
expand the set of things that can be matched contentless
Joey Hess [Sun, 4 Oct 2009 19:53:54 +0000 (15:53 -0400)]
update
Joey Hess [Sun, 4 Oct 2009 19:46:23 +0000 (15:46 -0400)]
map: Use a contentless dependency unless show= is specified.
This makes simple maps efficient enough that they can be used on sidebars!
Joey Hess [Sun, 4 Oct 2009 19:43:38 +0000 (15:43 -0400)]
optimise add_depends for simple pagespecs
We don't need to check if the pagespec is contentless; all simple ones are.
Joey Hess [Sun, 4 Oct 2009 19:34:42 +0000 (15:34 -0400)]
detect pagespecs that require content dependencies
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.
http://kaizer.se/ [Sun, 4 Oct 2009 18:43:38 +0000 (14:43 -0400)]
Updated pproc-indent by catching only indent at beginning of line
Joey Hess [Sat, 3 Oct 2009 21:43:23 +0000 (17:43 -0400)]
response
Joey Hess [Sat, 3 Oct 2009 21:38:47 +0000 (17:38 -0400)]
did a scratch implementation of dependancy types, but found it more complex
Joey Hess [Sat, 3 Oct 2009 21:17:48 +0000 (17:17 -0400)]
clarify
Joey Hess [Sat, 3 Oct 2009 19:55:11 +0000 (15:55 -0400)]
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.
Joey Hess [Sat, 3 Oct 2009 19:46:53 +0000 (15:46 -0400)]
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.
Joey Hess [Sat, 3 Oct 2009 19:38:18 +0000 (15:38 -0400)]
update
Joey Hess [Sat, 3 Oct 2009 19:37:57 +0000 (15:37 -0400)]
document add_depends dependency type interface
Joey Hess [Sat, 3 Oct 2009 19:37:15 +0000 (15:37 -0400)]
set dependency hash value properly for new dependency types
Just "1" won't cut it anymore; we need to list all the dependency types.
Joey Hess [Sat, 3 Oct 2009 19:36:23 +0000 (15:36 -0400)]
pagecount: Use contentless dependency
This will avoid lots of unnecessary updates of pages using the pagecount
directive. Yay!
Joey Hess [Sat, 3 Oct 2009 19:31:51 +0000 (15:31 -0400)]
add dependency type parameters to add_depends
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.
Joey Hess [Sat, 3 Oct 2009 18:14:30 +0000 (14:14 -0400)]
Fix a bug that could lead to duplicate links being recorded for tags.
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.
Joey Hess [Sat, 3 Oct 2009 18:01:19 +0000 (14:01 -0400)]
do not need to qualify %links
http://www.cse.unsw.edu.au/~willu/ [Sat, 3 Oct 2009 05:39:06 +0000 (01:39 -0400)]
response
Joey Hess [Fri, 2 Oct 2009 22:58:07 +0000 (18:58 -0400)]
consistency with edittemplate?
Joey Hess [Fri, 2 Oct 2009 22:51:52 +0000 (18:51 -0400)]
combine with pagetemplate?
Joey Hess [Fri, 2 Oct 2009 22:47:15 +0000 (18:47 -0400)]
fix wording here too
Joey Hess [Fri, 2 Oct 2009 22:46:10 +0000 (18:46 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Fri, 2 Oct 2009 22:45:56 +0000 (18:45 -0400)]
improve wording
http://www.cse.unsw.edu.au/~willu/ [Fri, 2 Oct 2009 22:28:11 +0000 (18:28 -0400)]
Add reference to new plugin
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:31:40 +0000 (17:31 -0400)]
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:30:46 +0000 (17:30 -0400)]
wishlist/todo item: disable/enable directives by pagespec
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:25:18 +0000 (17:25 -0400)]
+bugs/ backlinks onhover thing can go weird
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:23:37 +0000 (17:23 -0400)]
response
Joey Hess [Fri, 2 Oct 2009 20:22:47 +0000 (16:22 -0400)]
fix
Joey Hess [Fri, 2 Oct 2009 20:17:56 +0000 (16:17 -0400)]
split off todo item for multiple dependency types
Joey Hess [Fri, 2 Oct 2009 19:56:44 +0000 (15:56 -0400)]
split out dependency type issue into its own todo
Joey Hess [Fri, 2 Oct 2009 19:48:47 +0000 (15:48 -0400)]
mention loop optimisation
Joey Hess [Fri, 2 Oct 2009 19:46:27 +0000 (15:46 -0400)]
fix branch name
Joey Hess [Fri, 2 Oct 2009 19:45:14 +0000 (15:45 -0400)]
implemented one fix in transitive-dependencies branch, but not really happy with it
Joey Hess [Fri, 2 Oct 2009 19:41:09 +0000 (15:41 -0400)]
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
Joey Hess [Fri, 2 Oct 2009 19:38:04 +0000 (15:38 -0400)]
handle transitive dependencies by re-running dep resolver
This is a rather expensive solution to the transitive dependency problem.
Joey Hess [Fri, 2 Oct 2009 19:15:23 +0000 (15:15 -0400)]
add bug about transitive dependencies
Joey Hess [Fri, 2 Oct 2009 19:05:40 +0000 (15:05 -0400)]
didn't we already close this bug? Yes, we did. hmm
Joey Hess [Fri, 2 Oct 2009 19:02:02 +0000 (15:02 -0400)]
followup
Joey Hess [Fri, 2 Oct 2009 18:55:37 +0000 (14:55 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 18:24:03 +0000 (14:24 -0400)]
+bugs/ the login page is unclear when multiple methods exist
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 18:22:47 +0000 (14:22 -0400)]
opinion about login page clarity
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 18:20:35 +0000 (14:20 -0400)]
weird tag/brokenlinks bug
Joey Hess [Fri, 2 Oct 2009 18:06:55 +0000 (14:06 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info