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

11 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

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

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

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

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

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

Only left one new global

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

killed one global

11 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

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

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

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

11 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

11 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

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

11 years agonote that this old bug affects more stuff now
Joey Hess [Mon, 5 Oct 2009 21:10:00 +0000 (17:10 -0400)] 
note that this old bug affects more stuff now

11 years agouse among limit for correctness
Joey Hess [Mon, 5 Oct 2009 21:03:16 +0000 (17:03 -0400)] 
use among limit for correctness

11 years agoadd rebuild handing
Joey Hess [Mon, 5 Oct 2009 20:51:33 +0000 (16:51 -0400)] 
add rebuild handing

11 years agotypo
Joey Hess [Mon, 5 Oct 2009 20:48:15 +0000 (16:48 -0400)] 
typo

11 years agoMerge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 20:47:40 +0000 (16:47 -0400)] 
Merge branch 'master' into dependency-types

11 years agoresponses, questions, ideas
Joey Hess [Mon, 5 Oct 2009 20:47:12 +0000 (16:47 -0400)] 
responses, questions, ideas

11 years agoMerge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
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

11 years agoresponse
Joey Hess [Mon, 5 Oct 2009 20:18:54 +0000 (16:18 -0400)] 
response

11 years agothoughts about renaming the actual images to .albumimage
http://smcv.pseudorandom.co.uk/ [Mon, 5 Oct 2009 20:08:19 +0000 (16:08 -0400)] 
thoughts about renaming the actual images to .albumimage

11 years agopagestats: Use a combination of precense and link dependencies.
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.

11 years agotypo
Joey Hess [Mon, 5 Oct 2009 19:43:37 +0000 (15:43 -0400)] 
typo

11 years agoclosures
Joey Hess [Mon, 5 Oct 2009 19:40:18 +0000 (15:40 -0400)] 
closures

11 years agoclarify amoung
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..

11 years agoswitch plugins page to use a map instead of an inline
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.

11 years agofix documentation of quick
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.

11 years agosyntax
Joey Hess [Mon, 5 Oct 2009 19:17:36 +0000 (15:17 -0400)] 
syntax

11 years agoomit forum and javascript from list
Joey Hess [Mon, 5 Oct 2009 19:16:14 +0000 (15:16 -0400)] 
omit forum and javascript from list

11 years agooprhans: Use a combination of precense and link dependencies.
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.

11 years agouse links dependency
Joey Hess [Mon, 5 Oct 2009 19:09:09 +0000 (15:09 -0400)] 
use links dependency

11 years agoupdate
Joey Hess [Mon, 5 Oct 2009 19:08:57 +0000 (15:08 -0400)] 
update

11 years agomake links dependencies fire if broken links change
Joey Hess [Mon, 5 Oct 2009 19:01:05 +0000 (15:01 -0400)] 
make links dependencies fire if broken links change

11 years agofix add_depends to new api
Joey Hess [Mon, 5 Oct 2009 18:33:42 +0000 (14:33 -0400)] 
fix add_depends to new api

11 years agoimplement links dependencies
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!

11 years agotypos
Joey Hess [Mon, 5 Oct 2009 17:40:35 +0000 (13:40 -0400)] 
typos

11 years agoanother UI issue I'm interested in
Jon Dowland [Mon, 5 Oct 2009 14:27:41 +0000 (15:27 +0100)] 
another UI issue I'm interested in

11 years agowould you accept patches for this?
Jon Dowland [Mon, 5 Oct 2009 14:27:03 +0000 (15:27 +0100)] 
would you accept patches for this?

11 years agogood work, thank you!
Jon Dowland [Mon, 5 Oct 2009 14:17:11 +0000 (15:17 +0100)] 
good work, thank you!

11 years agoadd test suite for add_depends
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..

11 years agoMerge branch 'master' into dependency-types
Joey Hess [Mon, 5 Oct 2009 00:37:09 +0000 (20:37 -0400)] 
Merge branch 'master' into dependency-types

11 years agoupdate, add spec for link dependencies
Joey Hess [Mon, 5 Oct 2009 00:35:26 +0000 (20:35 -0400)] 
update, add spec for link dependencies

11 years agoremove /i from regexp
Joey Hess [Mon, 5 Oct 2009 00:35:02 +0000 (20:35 -0400)] 
remove /i from regexp

Nothing case-oriented going on in here.

11 years agoupdate
Joey Hess [Mon, 5 Oct 2009 00:34:43 +0000 (20:34 -0400)] 
update

11 years agorework dependency types code
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.

11 years agoupdate
Joey Hess [Sun, 4 Oct 2009 21:38:10 +0000 (17:38 -0400)] 
update

11 years agoupdate
Joey Hess [Sun, 4 Oct 2009 20:40:36 +0000 (16:40 -0400)] 
update

11 years agoupdate
Joey Hess [Sun, 4 Oct 2009 20:36:39 +0000 (16:36 -0400)] 
update

11 years agoMerge branch 'dependency-types' into transitive-dependencies
Joey Hess [Sun, 4 Oct 2009 20:33:58 +0000 (16:33 -0400)] 
Merge branch 'dependency-types' into transitive-dependencies

Conflicts:
IkiWiki/Render.pm

11 years agoMerge branch 'master' into transitive-dependencies
Joey Hess [Sun, 4 Oct 2009 20:28:57 +0000 (16:28 -0400)] 
Merge branch 'master' into transitive-dependencies

11 years agoMerge branch 'master' into dependency-types
Joey Hess [Sun, 4 Oct 2009 20:28:51 +0000 (16:28 -0400)] 
Merge branch 'master' into dependency-types

11 years agodocument effect of contentless dependencies on sidebar efficiency
Joey Hess [Sun, 4 Oct 2009 20:28:14 +0000 (16:28 -0400)] 
document effect of contentless dependencies on sidebar efficiency

11 years agoMerge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
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

11 years agopostsparkline and progress: also contentless dependencies
Joey Hess [Sun, 4 Oct 2009 20:16:50 +0000 (16:16 -0400)] 
postsparkline and progress: also contentless dependencies

11 years agometa redir dependency is contentless
Joey Hess [Sun, 4 Oct 2009 20:12:05 +0000 (16:12 -0400)] 
meta redir dependency is contentless

11 years agolistdirectives: contentless dependency
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.

11 years agonot a contentless dependency
Joey Hess [Sun, 4 Oct 2009 20:10:34 +0000 (16:10 -0400)] 
not a contentless dependency

needs link info

11 years agoedittemplate: contentless dependency
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.

11 years agocalendar: all dependencies are contentless
Joey Hess [Sun, 4 Oct 2009 20:05:41 +0000 (16:05 -0400)] 
calendar: all dependencies are contentless

11 years agoinline: Use a contentless dependency in quick mode.
Joey Hess [Sun, 4 Oct 2009 20:03:01 +0000 (16:03 -0400)] 
inline: Use a contentless dependency in quick mode.

11 years agoexpand the set of things that can be matched contentless
Joey Hess [Sun, 4 Oct 2009 20:01:56 +0000 (16:01 -0400)] 
expand the set of things that can be matched contentless

11 years agoupdate
Joey Hess [Sun, 4 Oct 2009 19:53:54 +0000 (15:53 -0400)] 
update

11 years agomap: Use a contentless dependency unless show= is specified.
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!

11 years agooptimise add_depends for simple pagespecs
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.

11 years agodetect pagespecs that require content dependencies
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.

11 years agoUpdated pproc-indent by catching only indent at beginning of line
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

11 years agoresponse
Joey Hess [Sat, 3 Oct 2009 21:43:23 +0000 (17:43 -0400)] 
response

11 years agodid a scratch implementation of dependancy types, but found it more complex
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

11 years agoclarify
Joey Hess [Sat, 3 Oct 2009 21:17:48 +0000 (17:17 -0400)] 
clarify

11 years agoorphans and brokenlinks cannot use contentless dependency
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.

11 years agoimplement support for DEPEND_EXISTS
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.

11 years agoupdate
Joey Hess [Sat, 3 Oct 2009 19:38:18 +0000 (15:38 -0400)] 
update

11 years agodocument add_depends dependency type interface
Joey Hess [Sat, 3 Oct 2009 19:37:57 +0000 (15:37 -0400)] 
document add_depends dependency type interface

11 years agoset dependency hash value properly for new dependency types
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.

11 years agopagecount: Use contentless dependency
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!

11 years agoadd dependency type parameters to add_depends
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.

11 years agoFix a bug that could lead to duplicate links being recorded for tags.
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.

11 years agodo not need to qualify %links
Joey Hess [Sat, 3 Oct 2009 18:01:19 +0000 (14:01 -0400)] 
do not need to qualify %links

11 years agoresponse
http://www.cse.unsw.edu.au/~willu/ [Sat, 3 Oct 2009 05:39:06 +0000 (01:39 -0400)] 
response

11 years agoconsistency with edittemplate?
Joey Hess [Fri, 2 Oct 2009 22:58:07 +0000 (18:58 -0400)] 
consistency with edittemplate?

11 years agocombine with pagetemplate?
Joey Hess [Fri, 2 Oct 2009 22:51:52 +0000 (18:51 -0400)] 
combine with pagetemplate?

11 years agofix wording here too
Joey Hess [Fri, 2 Oct 2009 22:47:15 +0000 (18:47 -0400)] 
fix wording here too

11 years agoMerge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
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

11 years agoimprove wording
Joey Hess [Fri, 2 Oct 2009 22:45:56 +0000 (18:45 -0400)] 
improve wording

11 years agoAdd reference to new plugin
http://www.cse.unsw.edu.au/~willu/ [Fri, 2 Oct 2009 22:28:11 +0000 (18:28 -0400)] 
Add reference to new plugin

11 years ago(no commit message)
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:31:40 +0000 (17:31 -0400)] 

11 years agowishlist/todo item: disable/enable directives by pagespec
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:30:46 +0000 (17:30 -0400)] 
wishlist/todo item: disable/enable directives by pagespec

11 years ago+bugs/ backlinks onhover thing can go weird
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:25:18 +0000 (17:25 -0400)] 
+bugs/ backlinks onhover thing can go weird

11 years agoresponse
http://jmtd.livejournal.com/ [Fri, 2 Oct 2009 21:23:37 +0000 (17:23 -0400)] 
response

11 years agofix
Joey Hess [Fri, 2 Oct 2009 20:22:47 +0000 (16:22 -0400)] 
fix

11 years agosplit off todo item for multiple dependency types
Joey Hess [Fri, 2 Oct 2009 20:17:56 +0000 (16:17 -0400)] 
split off todo item for multiple dependency types

11 years agosplit out dependency type issue into its own todo
Joey Hess [Fri, 2 Oct 2009 19:56:44 +0000 (15:56 -0400)] 
split out dependency type issue into its own todo

11 years agomention loop optimisation
Joey Hess [Fri, 2 Oct 2009 19:48:47 +0000 (15:48 -0400)] 
mention loop optimisation

11 years agofix branch name
Joey Hess [Fri, 2 Oct 2009 19:46:27 +0000 (15:46 -0400)] 
fix branch name

11 years agoimplemented one fix in transitive-dependencies branch, but not really happy with it
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

11 years agominor optimisation
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

11 years agohandle transitive dependencies by re-running dep resolver
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.