ikiwiki
15 years agoadd_depends: optimise influence calculation
Joey Hess [Fri, 9 Oct 2009 21:15:40 +0000 (17:15 -0400)] 
add_depends: optimise influence calculation

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.

15 years agorevert
Joey Hess [Fri, 9 Oct 2009 18:51:02 +0000 (14:51 -0400)] 
revert

15 years agorework influence calculation
Joey Hess [Fri, 9 Oct 2009 18:27:11 +0000 (14:27 -0400)] 
rework influence calculation

Thought of a cleaner way to accumulate all influences in
pagespec_match_list, using the pagespec_match result object as an
accumulator.

(This also accumulates all influences from failed matches, rather than just
one failed match. I'm not sure if the old method was correct.)

15 years agomove influence tests to pagespec_match_list.t
Joey Hess [Fri, 9 Oct 2009 18:05:22 +0000 (14:05 -0400)] 
move influence tests to pagespec_match_list.t

15 years agoimg: use presence dependency when linking to a page
Joey Hess [Fri, 9 Oct 2009 17:37:06 +0000 (13:37 -0400)] 
img: use presence dependency when linking to a page

15 years agobrokenlinks: use pagespec_match_list
Joey Hess [Fri, 9 Oct 2009 17:35:11 +0000 (13:35 -0400)] 
brokenlinks: use pagespec_match_list

15 years agofix link
Joey Hess [Fri, 9 Oct 2009 17:33:49 +0000 (13:33 -0400)] 
fix link

15 years agofix pagespec_match_list handling of list parameter
Joey Hess [Fri, 9 Oct 2009 17:28:41 +0000 (13:28 -0400)] 
fix pagespec_match_list handling of list parameter

15 years agopagespec_match_list: change limit to filter
Joey Hess [Fri, 9 Oct 2009 17:20:41 +0000 (13:20 -0400)] 
pagespec_match_list: change limit to filter

15 years agoconditional: use pagespec_match_list
Joey Hess [Fri, 9 Oct 2009 17:07:50 +0000 (13:07 -0400)] 
conditional: use pagespec_match_list

15 years agopagespec_match_list allow additional pagespec limit parameters again
Joey Hess [Fri, 9 Oct 2009 17:02:10 +0000 (13:02 -0400)] 
pagespec_match_list allow additional pagespec limit parameters again

15 years agoindentation
Joey Hess [Fri, 9 Oct 2009 17:02:03 +0000 (13:02 -0400)] 
indentation

15 years agoconditional: use yesno
Joey Hess [Fri, 9 Oct 2009 16:54:13 +0000 (12:54 -0400)] 
conditional: use yesno

15 years agoprogress: switch to new pagespec_match_list
Joey Hess [Fri, 9 Oct 2009 16:48:16 +0000 (12:48 -0400)] 
progress: switch to new pagespec_match_list

15 years agolinkmap: Use new pagespec_match_list
Joey Hess [Fri, 9 Oct 2009 16:35:41 +0000 (12:35 -0400)] 
linkmap: Use new pagespec_match_list

15 years agofix test to use new calling convention
Joey Hess [Fri, 9 Oct 2009 04:06:58 +0000 (00:06 -0400)] 
fix test to use new calling convention

This test still fails several cases, since add_depends influence testing is
currently commented out.

15 years agoadd pagespec/sorting to underlay
Joey Hess [Fri, 9 Oct 2009 04:06:40 +0000 (00:06 -0400)] 
add pagespec/sorting to underlay

15 years agodon't link to inline, not available when directives underlay is not enabled
Joey Hess [Fri, 9 Oct 2009 04:06:08 +0000 (00:06 -0400)] 
don't link to inline, not available when directives underlay is not enabled

15 years agotypo
Joey Hess [Fri, 9 Oct 2009 03:55:50 +0000 (23:55 -0400)] 
typo

15 years agorename use_pagespec to pagespec_match_list
Joey Hess [Fri, 9 Oct 2009 03:51:06 +0000 (23:51 -0400)] 
rename use_pagespec to pagespec_match_list

To avoid breaking plugins, also support the old pagespec_match_list
calling convention, with a deprecation warning.

15 years agofix test broken by change to failing link() influence
Joey Hess [Fri, 9 Oct 2009 03:48:08 +0000 (23:48 -0400)] 
fix test broken by change to failing link() influence

15 years agocalendar: rework so it can use use_pagespec
Joey Hess [Fri, 9 Oct 2009 03:24:03 +0000 (23:24 -0400)] 
calendar: rework so it can use use_pagespec

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!)

15 years agopostsparkline: switch to use_pagespec
Joey Hess [Fri, 9 Oct 2009 02:56:36 +0000 (22:56 -0400)] 
postsparkline: switch to use_pagespec

Also, fixed up the dependency type for time=mtime. That has
to remain a content dependency, sadly.

15 years agoorphans: switch to use_pagespec
Joey Hess [Fri, 9 Oct 2009 02:56:12 +0000 (22:56 -0400)] 
orphans: switch to use_pagespec

15 years agofix feedpages dependency
Joey Hess [Fri, 9 Oct 2009 00:54:06 +0000 (20:54 -0400)] 
fix feedpages dependency

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.)

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Fri, 9 Oct 2009 00:33:58 +0000 (20:33 -0400)] 
Merge branch 'master' into dependency-types

Conflicts:
IkiWiki.pm
IkiWiki/Render.pm
debian/changelog

15 years agopagestate: switch to use_pagespec
Joey Hess [Thu, 8 Oct 2009 23:27:25 +0000 (19:27 -0400)] 
pagestate: switch to use_pagespec

15 years agoOptimize away most expensive file prune calls, when refreshing
Joey Hess [Fri, 9 Oct 2009 00:27:56 +0000 (20:27 -0400)] 
Optimize away most expensive file prune calls, when refreshing

Benchmarking refresh of a a wiki with 25 thousand pages showed
file_pruned() using most of the time. But, when refreshing, ikiwiki already
knows about nearly all the files. So we can skip calling file_pruned() for
those it knows about. While tricky to do, this sped up a refresh (that
otherwise does no work) by 10-50%.

15 years agouse_pagespec: do not fail with error when unable to match, unless it fails
Joey Hess [Thu, 8 Oct 2009 22:47:48 +0000 (18:47 -0400)] 
use_pagespec: do not fail with error when unable to match, unless it fails
with an ErrorReason

15 years agopagecount: switched to use_pagespec
Joey Hess [Thu, 8 Oct 2009 22:41:08 +0000 (18:41 -0400)] 
pagecount: switched to use_pagespec

15 years agoinline: switch to use_pagespec
Joey Hess [Thu, 8 Oct 2009 22:26:36 +0000 (18:26 -0400)] 
inline: switch to use_pagespec

Taking advantage of every single one of its features, of course.
Even had to add one more..

15 years agoadd sorting page
Joey Hess [Thu, 8 Oct 2009 22:17:36 +0000 (18:17 -0400)] 
add sorting page

15 years agoupdate
Joey Hess [Thu, 8 Oct 2009 22:00:10 +0000 (18:00 -0400)] 
update

15 years agomap: switch to use_pagespec
Joey Hess [Thu, 8 Oct 2009 21:52:20 +0000 (17:52 -0400)] 
map: switch to use_pagespec

15 years agoadd use_pagespec and deptype functions
Joey Hess [Thu, 8 Oct 2009 20:49:53 +0000 (16:49 -0400)] 
add use_pagespec and deptype functions

15 years agochange how dependency types are specified to add_depends
Joey Hess [Thu, 8 Oct 2009 20:49:03 +0000 (16:49 -0400)] 
change how dependency types are specified to add_depends

Also, this fixes 2 bugs in dependency info.

15 years agofound a way to get false positive influences
Joey Hess [Thu, 8 Oct 2009 19:33:47 +0000 (15:33 -0400)] 
found a way to get false positive influences

15 years agoMerge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Thu, 8 Oct 2009 17:56:54 +0000 (13:56 -0400)] 
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info

15 years agoupdate
Joey Hess [Thu, 8 Oct 2009 17:54:51 +0000 (13:54 -0400)] 
update

15 years agofix handling of influences of pagespecs that fail to match
Joey Hess [Thu, 8 Oct 2009 17:38:46 +0000 (13:38 -0400)] 
fix handling of influences of pagespecs that fail to match

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.

15 years ago(no commit message)
http://shoorick.livejournal.com/ [Thu, 8 Oct 2009 17:07:41 +0000 (13:07 -0400)] 

15 years agoadd cpanrt
http://www.larted.org.uk/~dom/ [Thu, 8 Oct 2009 15:38:34 +0000 (11:38 -0400)] 
add cpanrt

15 years agoTweaks
http://www.cse.unsw.edu.au/~willu/ [Thu, 8 Oct 2009 11:26:01 +0000 (07:26 -0400)] 
Tweaks

15 years ago(no commit message)
http://smcv.pseudorandom.co.uk/ [Thu, 8 Oct 2009 10:38:40 +0000 (06:38 -0400)] 

15 years agoupdate
Joey Hess [Thu, 8 Oct 2009 08:06:53 +0000 (04:06 -0400)] 
update

15 years agoQuestions...
http://www.cse.unsw.edu.au/~willu/ [Thu, 8 Oct 2009 05:33:23 +0000 (01:33 -0400)] 
Questions...

15 years agobugfix
Joey Hess [Thu, 8 Oct 2009 02:08:19 +0000 (22:08 -0400)] 
bugfix

15 years agoremove explicit addition of dependencies for displayed pages
Joey Hess [Thu, 8 Oct 2009 01:57:31 +0000 (21:57 -0400)] 
remove explicit addition of dependencies for displayed pages

that hack is not needed, thanks to pagespec influences calculation

15 years agoadd type info to influence information
Joey Hess [Thu, 8 Oct 2009 01:48:03 +0000 (21:48 -0400)] 
add type info to influence information

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Thu, 8 Oct 2009 01:26:57 +0000 (21:26 -0400)] 
Merge branch 'master' into dependency-types

15 years agoupdate
Joey Hess [Thu, 8 Oct 2009 01:26:50 +0000 (21:26 -0400)] 
update

15 years agoconvert add_depends to use influences
Joey Hess [Thu, 8 Oct 2009 01:13:10 +0000 (21:13 -0400)] 
convert add_depends to use influences

No more horrible special-case pagespec parsing.

OTOH, matching over all pages to determine influences is a lot of work.

15 years agoinfluences calculation implemented
Joey Hess [Thu, 8 Oct 2009 00:36:25 +0000 (20:36 -0400)] 
influences calculation implemented

15 years agomore influences tests
Joey Hess [Thu, 8 Oct 2009 00:35:26 +0000 (20:35 -0400)] 
more influences tests

15 years agoadd influence info to match_*
Joey Hess [Thu, 8 Oct 2009 00:31:13 +0000 (20:31 -0400)] 
add influence info to match_*

Also update docs, test suite.

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Thu, 8 Oct 2009 00:02:43 +0000 (20:02 -0400)] 
Merge branch 'master' into dependency-types

15 years agomake success and failreason objects carry an influences hash
Joey Hess [Wed, 7 Oct 2009 23:40:44 +0000 (19:40 -0400)] 
make success and failreason objects carry an influences hash

The hash will be used used to record a set of pages that influenced the
result of a pagespec match.

The influences are merged together when boolean and/or are encountered
in a pagespec. That means using a non-short-circuiting OR operator. And
so I use & and | when translating pagespecs, since those bitwise operators
can be overloaded. ("and" and "or" cannot, apparently).

15 years agomention that pagespec_match returns an overloaded value
Joey Hess [Wed, 7 Oct 2009 22:06:49 +0000 (18:06 -0400)] 
mention that pagespec_match returns an overloaded value

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Wed, 7 Oct 2009 22:04:52 +0000 (18:04 -0400)] 
Merge branch 'master' into dependency-types

15 years agoa theory of pagespec influence lists, for Will's perusal
Joey Hess [Wed, 7 Oct 2009 22:04:13 +0000 (18:04 -0400)] 
a theory of pagespec influence lists, for Will's perusal

15 years ago(no commit message)
Jogo [Wed, 7 Oct 2009 19:22:32 +0000 (15:22 -0400)] 

15 years agoclose
Joey Hess [Wed, 7 Oct 2009 18:30:19 +0000 (14:30 -0400)] 
close

15 years agoMerge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Wed, 7 Oct 2009 18:26:45 +0000 (14:26 -0400)] 
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info

15 years agoproblem with explicit, presence dependencies
Joey Hess [Wed, 7 Oct 2009 18:25:45 +0000 (14:25 -0400)] 
problem with explicit, presence dependencies

15 years agoremove test case for closed bug
Joey Hess [Wed, 7 Oct 2009 18:11:35 +0000 (14:11 -0400)] 
remove test case for closed bug

15 years agofix backlink new change detection code
Joey Hess [Wed, 7 Oct 2009 18:08:03 +0000 (14:08 -0400)] 
fix backlink new change detection code

15 years agolimit to discussion pages of blog posts, not whole wiki
Joey Hess [Wed, 7 Oct 2009 17:55:02 +0000 (13:55 -0400)] 
limit to discussion pages of blog posts, not whole wiki

15 years agoMake it obvious for the reader of the rendered page that the debbug shortcut links...
Thomas Schwinge [Wed, 7 Oct 2009 17:54:46 +0000 (19:54 +0200)] 
Make it obvious for the reader of the rendered page that the debbug shortcut links to Debian bug reports.

15 years agoUse %S instead of %s for the debbug shortcut, so that things like [[!debbug 522689...
Thomas Schwinge [Wed, 7 Oct 2009 17:53:28 +0000 (19:53 +0200)] 
Use %S instead of %s for the debbug shortcut, so that things like [[!debbug 522689#38]] work as expected.

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Wed, 7 Oct 2009 17:36:40 +0000 (13:36 -0400)] 
Merge branch 'master' into dependency-types

15 years agothoughts
Joey Hess [Wed, 7 Oct 2009 17:35:48 +0000 (13:35 -0400)] 
thoughts

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Wed, 7 Oct 2009 17:00:54 +0000 (13:00 -0400)] 
Merge branch 'master' into dependency-types

15 years agoComments (maybe not so helpful - sorry)
http://www.cse.unsw.edu.au/~willu/ [Wed, 7 Oct 2009 06:40:32 +0000 (02:40 -0400)] 
Comments (maybe not so helpful - sorry)

15 years agoMerge branch 'master' into dependency-types
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

15 years agoupdate
Joey Hess [Wed, 7 Oct 2009 00:20:05 +0000 (20:20 -0400)] 
update

15 years agonotes on removal problem
Joey Hess [Wed, 7 Oct 2009 00:19:17 +0000 (20:19 -0400)] 
notes on removal problem

15 years agolinkmap, pagestats: avoid using %links to get a list of pages
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.

15 years agolinkmap: does need presence deps
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.

15 years agoadd_depends should default to content dependencies if unknown type specified
Joey Hess [Tue, 6 Oct 2009 23:07:52 +0000 (19:07 -0400)] 
add_depends should default to content dependencies if unknown type specified

15 years agooops!!
Joey Hess [Tue, 6 Oct 2009 23:03:23 +0000 (19:03 -0400)] 
oops!!

15 years agotypo
Joey Hess [Tue, 6 Oct 2009 22:45:22 +0000 (18:45 -0400)] 
typo

15 years agosupport backlink() in pagespecs for links dependencies
Joey Hess [Tue, 6 Oct 2009 22:44:59 +0000 (18:44 -0400)] 
support backlink() in pagespecs for links dependencies

15 years agoupdate to test backlinks() pagespecs
Joey Hess [Tue, 6 Oct 2009 22:44:34 +0000 (18:44 -0400)] 
update to test backlinks() pagespecs

15 years agopresence dependencies not needed
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

15 years agopagespec for links dependencies
Joey Hess [Tue, 6 Oct 2009 22:20:11 +0000 (18:20 -0400)] 
pagespec for links dependencies

15 years agofix support of a single dependency that combines links and exists types
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.

15 years agolinkmap: Use a combination of presence and link dependencies.
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.

15 years agofix handling of links+content dependency
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.

15 years agorefactor 3
Joey Hess [Tue, 6 Oct 2009 06:00:34 +0000 (02:00 -0400)] 
refactor 3

Only left one new global

15 years agorefresh refactor 2
Joey Hess [Tue, 6 Oct 2009 04:06:37 +0000 (00:06 -0400)] 
refresh refactor 2

killed one global

15 years agosplit up refresh
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

15 years agonew todo
Joey Hess [Tue, 6 Oct 2009 02:59:33 +0000 (22:59 -0400)] 
new todo

15 years agoupdate
Joey Hess [Tue, 6 Oct 2009 02:30:14 +0000 (22:30 -0400)] 
update

15 years agonew link change detection method and general code rework
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.

15 years agoadd among limit to pagestats
Joey Hess [Tue, 6 Oct 2009 00:54:38 +0000 (20:54 -0400)] 
add among limit to pagestats

15 years agouh oh, this affects link deps
Joey Hess [Mon, 5 Oct 2009 21:44:15 +0000 (17:44 -0400)] 
uh oh, this affects link deps

15 years agoclose
Joey Hess [Mon, 5 Oct 2009 21:15:37 +0000 (17:15 -0400)] 
close

15 years agofixed a while ago
Joey Hess [Mon, 5 Oct 2009 21:12:38 +0000 (17:12 -0400)] 
fixed a while ago

15 years agoMerge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 21:11:08 +0000 (17:11 -0400)] 
Merge branch 'master' into dependency-types

15 years agoclose
Joey Hess [Mon, 5 Oct 2009 21:11:03 +0000 (17:11 -0400)] 
close