Joey Hess [Wed, 7 Oct 2009 17:36:40 +0000 (13:36 -0400)]
Merge branch 'master' into dependency-types
Joey Hess [Wed, 7 Oct 2009 17:35:48 +0000 (13:35 -0400)]
thoughts
Joey Hess [Wed, 7 Oct 2009 17:00:54 +0000 (13:00 -0400)]
Merge branch 'master' into dependency-types
http://www.cse.unsw.edu.au/~willu/ [Wed, 7 Oct 2009 06:40:32 +0000 (02:40 -0400)]
Comments (maybe not so helpful - sorry)
Joey Hess [Wed, 7 Oct 2009 00:20:45 +0000 (20:20 -0400)]
Merge branch 'master' into dependency-types
Conflicts:
doc/todo/dependency_types.mdwn
Joey Hess [Wed, 7 Oct 2009 00:20:05 +0000 (20:20 -0400)]
update
Joey Hess [Wed, 7 Oct 2009 00:19:17 +0000 (20:19 -0400)]
notes on removal problem
Joey Hess [Tue, 6 Oct 2009 23:29:28 +0000 (19:29 -0400)]
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.
Joey Hess [Tue, 6 Oct 2009 23:24:17 +0000 (19:24 -0400)]
linkmap: does need presence deps
Otherwise, removal of a page with no links will not be noticed,
since no links will change.
Joey Hess [Tue, 6 Oct 2009 23:07:52 +0000 (19:07 -0400)]
add_depends should default to content dependencies if unknown type specified
Joey Hess [Tue, 6 Oct 2009 23:03:23 +0000 (19:03 -0400)]
oops!!
Joey Hess [Tue, 6 Oct 2009 22:45:22 +0000 (18:45 -0400)]
typo
Joey Hess [Tue, 6 Oct 2009 22:44:59 +0000 (18:44 -0400)]
support backlink() in pagespecs for links dependencies
Joey Hess [Tue, 6 Oct 2009 22:44:34 +0000 (18:44 -0400)]
update to test backlinks() pagespecs
Joey Hess [Tue, 6 Oct 2009 22:41:09 +0000 (18:41 -0400)]
presence dependencies not needed
Using just a link dependency is sufficient, since
Joey Hess [Tue, 6 Oct 2009 22:20:11 +0000 (18:20 -0400)]
pagespec for links dependencies
Joey Hess [Tue, 6 Oct 2009 22:09:46 +0000 (18:09 -0400)]
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.
Joey Hess [Tue, 6 Oct 2009 21:47:10 +0000 (17:47 -0400)]
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.
Joey Hess [Tue, 6 Oct 2009 08:45:57 +0000 (04:45 -0400)]
fix handling of links+content dependency
Such a dependency is unlikely, but can happen.
Joey Hess [Tue, 6 Oct 2009 06:00:34 +0000 (02:00 -0400)]
refactor 3
Only left one new global
Joey Hess [Tue, 6 Oct 2009 04:06:37 +0000 (00:06 -0400)]
refresh refactor 2
killed one global
Joey Hess [Tue, 6 Oct 2009 03:54:29 +0000 (23:54 -0400)]
split up refresh
I'd rather have the global variables than the 300 line function
Joey Hess [Tue, 6 Oct 2009 02:59:33 +0000 (22:59 -0400)]
new todo
Joey Hess [Tue, 6 Oct 2009 02:30:14 +0000 (22:30 -0400)]
update
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?