Joey Hess [Wed, 21 Apr 2010 20:13:37 +0000 (16:13 -0400)]
commit autocreated tag pages
Joey Hess [Wed, 21 Apr 2010 19:59:39 +0000 (15:59 -0400)]
remember autofiles always
This fixes the problem that it did not remember if an autofile is deleted,
unless a plugin happened to register the autofile at the same time.
With the new code, we just never recreate an autofile more than once.
Only downside is that the list of autofiles is never pruned either.
And I don't really see a way to prune it.
Joey Hess [Wed, 21 Apr 2010 19:54:18 +0000 (15:54 -0400)]
bugfixes
Joey Hess [Wed, 21 Apr 2010 19:53:59 +0000 (15:53 -0400)]
Merge branch 'master' into autotag
Joey Hess [Wed, 21 Apr 2010 19:53:44 +0000 (15:53 -0400)]
update, tag deletion bug
Joey Hess [Wed, 21 Apr 2010 19:22:05 +0000 (15:22 -0400)]
document tag_autocreate
Joey Hess [Wed, 21 Apr 2010 19:19:47 +0000 (15:19 -0400)]
spelling
Joey Hess [Wed, 21 Apr 2010 19:18:11 +0000 (15:18 -0400)]
update; my branch is (partially) debugged now
Joey Hess [Wed, 21 Apr 2010 19:05:59 +0000 (15:05 -0400)]
remove verify_src_file
Splitting out this function bothered me. It is conceptially similar to
file_pruned, and yet also very specific to exactly the security needs of
find_src_files.
I liked that it got rid of duplicate code in the latter function. So
instead, put a helper sub in that, which I think allows refactoring
things more cleanly, and with less boilerplate.
As to the needs of gen_autofile, I'm not convinced this needs to handle
the same set of problems that verify_src_file did. So I sat down and
wrote a custom validator for autofiles, which turned out to seem to just
need three things: Make sure the candidate filename is not something
that would be pruned; untaint the candidate filename; and make sure that
srcdir doesn't already have something with its name. (Plus, of course,
all the other checks that were already in gen_autofile.)
(In passing, also fixed a bunch of bugs I had introduced in this branch.)
Joey Hess [Wed, 21 Apr 2010 18:27:12 +0000 (14:27 -0400)]
add_autofile filename should be relative to srcdir
Joey Hess [Wed, 21 Apr 2010 18:21:40 +0000 (14:21 -0400)]
Merge branch 'master' into autotag
Joey Hess [Wed, 21 Apr 2010 16:50:43 +0000 (12:50 -0400)]
applied
Joey Hess [Wed, 21 Apr 2010 16:50:34 +0000 (12:50 -0400)]
layout
Giuseppe Bilotta [Tue, 20 Apr 2010 22:16:32 +0000 (00:16 +0200)]
Always give createlink class to links to nonexistent pages
With this change, the <span> with class createlink is always created
around the link text, even when no CGI URL is defined. This allows
styling of these 'links' in this case too. The same class is used as when
CGI URL is defined so that e.g. clones of the same ikiwiki, one with CGI
and one without, display in the same way (modulo the missing question mark
link).
(cherry picked from commit
290d1b498f00f63e6d41218ddb76d87e68ed5081)
http://oblomov.myopenid.com/ [Wed, 21 Apr 2010 08:17:03 +0000 (08:17 +0000)]
Missing links with no CGI
Joey Hess [Tue, 20 Apr 2010 22:19:00 +0000 (18:19 -0400)]
Merge branch 'master' into autotag
Joey Hess [Tue, 20 Apr 2010 22:18:39 +0000 (18:18 -0400)]
Merge branch 'file_pruned_revamp'
Joey Hess [Tue, 20 Apr 2010 22:16:40 +0000 (18:16 -0400)]
bugfix
So this is the one place that does need to canonpath and compare,
as two argument file_pruned used to.
Joey Hess [Tue, 20 Apr 2010 21:52:44 +0000 (17:52 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Tue, 20 Apr 2010 21:49:00 +0000 (17:49 -0400)]
darcs: ensure whole darcs query manifest output is consumed
By a stroke of luck, after a long & full day, I happened to
remember that in the morning, I had seen someone on irc mention
that darcs query manifest doesn't like it if its full output
is not consumed.
So contrary to the usual case where bug reports sent via irc are like
messages written in sand before the new tide, this one was seen and
fixed.
(But use http://ikiwiki.info/bugs/ next time!)
Joey Hess [Tue, 20 Apr 2010 21:42:36 +0000 (17:42 -0400)]
bugfix
Avoid file_pruned triggering on absolute paths causing the whole
comments_pending directory being pruned.
Simplify code.
Joey Hess [Tue, 20 Apr 2010 21:26:40 +0000 (17:26 -0400)]
Merge branch 'master' into file_pruned_revamp
Joey Hess [Tue, 20 Apr 2010 21:21:50 +0000 (17:21 -0400)]
fix uninitialized value warning
$cgi->params('do') may not be defined. The CSRF code may delete all
cgi params. This uninitalized value was introduced when do=register
support was added recently.
http://oblomov.myopenid.com/ [Tue, 20 Apr 2010 20:18:29 +0000 (20:18 +0000)]
Clarifications
Joey Hess [Tue, 20 Apr 2010 18:25:17 +0000 (14:25 -0400)]
typo
Joey Hess [Tue, 20 Apr 2010 18:23:48 +0000 (14:23 -0400)]
fix stat to use unmunged filename
Joey Hess [Tue, 20 Apr 2010 18:13:46 +0000 (14:13 -0400)]
oops, fix for no_chdir mode
$_ will be absolute then
Joey Hess [Tue, 20 Apr 2010 18:08:29 +0000 (14:08 -0400)]
remove 2 argument form of file_pruned
Joey Hess [Tue, 20 Apr 2010 18:06:00 +0000 (14:06 -0400)]
switch to 1 parameter version of file_pruned
Another bit of code that didn't realize that File::Find sets $_ to the
relative filename.
Joey Hess [Tue, 20 Apr 2010 17:59:17 +0000 (13:59 -0400)]
remove explicit absolute test
file_pruned now tests for that
Joey Hess [Tue, 20 Apr 2010 17:54:24 +0000 (13:54 -0400)]
use one parameter form of file_pruned here too
In File::Find, $_ is relative to the current directory, so that is ok.
Also, the directory name doesn't need to be stripped from $_.
Joey Hess [Tue, 20 Apr 2010 17:49:46 +0000 (13:49 -0400)]
clarify why absolute is tested & stripped here
file_prune also fails on absolute filenames now
Joey Hess [Tue, 20 Apr 2010 17:43:21 +0000 (13:43 -0400)]
Merge branch 'master' into file_pruned_revamp
http://smcv.pseudorandom.co.uk/ [Tue, 20 Apr 2010 15:01:39 +0000 (15:01 +0000)]
internal pages: the revenge?
Jon Dowland [Tue, 20 Apr 2010 14:40:10 +0000 (15:40 +0100)]
clarify whether the raw files would be put in destdir
Joey Hess [Tue, 20 Apr 2010 05:54:42 +0000 (01:54 -0400)]
fix minor bug if a page's name is "0"
Joey Hess [Tue, 20 Apr 2010 05:32:19 +0000 (01:32 -0400)]
similarity to internal pages
Joey Hess [Tue, 20 Apr 2010 04:07:41 +0000 (00:07 -0400)]
no need to return content from postscan hook
Joey Hess [Tue, 20 Apr 2010 03:52:16 +0000 (23:52 -0400)]
response
Joey Hess [Tue, 20 Apr 2010 03:49:47 +0000 (23:49 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Tue, 20 Apr 2010 03:45:42 +0000 (23:45 -0400)]
change wording
This is more accurate when a file that is not a page is what is removed.
http://kerravonsen.dreamwidth.org/ [Tue, 20 Apr 2010 02:45:14 +0000 (02:45 +0000)]
non comprend
http://kerravonsen.dreamwidth.org/ [Tue, 20 Apr 2010 02:43:44 +0000 (02:43 +0000)]
formatting
http://kerravonsen.dreamwidth.org/ [Tue, 20 Apr 2010 02:41:13 +0000 (02:41 +0000)]
further clarification
Joey Hess [Tue, 20 Apr 2010 02:37:55 +0000 (22:37 -0400)]
response
Joey Hess [Tue, 20 Apr 2010 02:37:02 +0000 (22:37 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
http://kerravonsen.dreamwidth.org/ [Tue, 20 Apr 2010 02:31:00 +0000 (02:31 +0000)]
response
Joey Hess [Tue, 20 Apr 2010 02:19:09 +0000 (22:19 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Tue, 20 Apr 2010 02:14:22 +0000 (22:14 -0400)]
move message into if block
Svend Sorensen [Mon, 19 Apr 2010 23:13:10 +0000 (16:13 -0700)]
Merge branch 'master' of git://git.ikiwiki.info
Svend Sorensen [Mon, 19 Apr 2010 23:12:09 +0000 (16:12 -0700)]
Remove www prefix from Svend's website URLs
Joey Hess [Mon, 19 Apr 2010 20:04:49 +0000 (16:04 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Mon, 19 Apr 2010 20:03:53 +0000 (16:03 -0400)]
thinking about changing how templatedir works and allowing wikitemplate files into the srcdir
http://oblomov.myopenid.com/ [Mon, 19 Apr 2010 08:36:38 +0000 (08:36 +0000)]
Respond
http://kerravonsen.dreamwidth.org/ [Mon, 19 Apr 2010 02:23:12 +0000 (02:23 +0000)]
response to the further thoughts
PeteG [Sun, 18 Apr 2010 12:34:20 +0000 (12:34 +0000)]
PeteG [Sun, 18 Apr 2010 12:33:51 +0000 (12:33 +0000)]
Joey Hess [Sat, 17 Apr 2010 23:05:40 +0000 (19:05 -0400)]
unfinished file_prune revamp
Many calls to file_prune were incorrectly calling it with 2 parameters.
In cases where the filename being checked is relative to the srcdir,
that is not needed.
Made absolute filenames be pruned. (This won't work for the 2 parameter call
style.)
Joey Hess [Sat, 17 Apr 2010 21:15:07 +0000 (17:15 -0400)]
improve docs
Joey Hess [Sat, 17 Apr 2010 20:14:15 +0000 (16:14 -0400)]
move File::Find control back into its code blocks
Ok, this is longer, but features less scary action at a distance.
Joey Hess [Sat, 17 Apr 2010 20:08:37 +0000 (16:08 -0400)]
move decode_utf8 closer to reason for it
Filenames need to be decoded, as File::Find does not provide them in
decoded form, but other callers of verify_src_file will be using utf8.
Joey Hess [Sat, 17 Apr 2010 20:01:41 +0000 (16:01 -0400)]
fix autotag behavior for relative tags
A tag like ./foo is searched for relative to the tagging page.
However, if multiple pages use such a tag, the only one sure
to be in common is in the root, so autocreate it there to
avoid scattering redunadant autocreated tags around the tree.
(This is probably not ideal.)
Also renamed the tagpage and taglink functions for clarity.
Joey Hess [Sat, 17 Apr 2010 19:48:00 +0000 (15:48 -0400)]
call gentag for taglinks too
Joey Hess [Sat, 17 Apr 2010 19:43:58 +0000 (15:43 -0400)]
fix autofile call
Joey Hess [Sat, 17 Apr 2010 19:40:39 +0000 (15:40 -0400)]
tag_autocreate fixups
Fix style of prompt.
Optional to rebuild when it is changed. (Needed to get new all missing tags)
Joey Hess [Sat, 17 Apr 2010 18:07:12 +0000 (14:07 -0400)]
document add_autofile
Joey Hess [Sat, 17 Apr 2010 18:00:25 +0000 (14:00 -0400)]
recommend git
Joey Hess [Sat, 17 Apr 2010 17:58:31 +0000 (13:58 -0400)]
bzr getmtime done
Joey Hess [Sat, 17 Apr 2010 17:57:59 +0000 (13:57 -0400)]
note that tla plugin is not being maintained
Joey Hess [Sat, 17 Apr 2010 17:55:32 +0000 (13:55 -0400)]
bzr: changelog and refactor
Jelmer Vernooij [Sat, 17 Apr 2010 16:45:23 +0000 (18:45 +0200)]
Fix get_ctime implementation in Bazaar plugin, add get_mtime implementation.
Joey Hess [Sat, 17 Apr 2010 17:49:20 +0000 (13:49 -0400)]
document the gitbranch template
Joey Hess [Sat, 17 Apr 2010 17:42:50 +0000 (13:42 -0400)]
reformat
Joey Hess [Sat, 17 Apr 2010 17:41:06 +0000 (13:41 -0400)]
my autotag branch
Joey Hess [Sat, 17 Apr 2010 17:35:15 +0000 (13:35 -0400)]
refactor autofiles
Made add_autofile take a generator function, and just register the
autofile, for later possible creation. The testing is moved into Render,
which allows cleaning up some stuff.
Joey Hess [Sat, 17 Apr 2010 16:54:22 +0000 (12:54 -0400)]
whitespace
Joey Hess [Sat, 17 Apr 2010 16:50:23 +0000 (12:50 -0400)]
Merge remote branch 'davrieb/autotag' into autotag
Conflicts:
IkiWiki.pm
IkiWiki/Plugin/tag.pm
Joey Hess [Sat, 17 Apr 2010 16:45:20 +0000 (12:45 -0400)]
few more suggestions
Joey Hess [Sat, 17 Apr 2010 16:24:58 +0000 (12:24 -0400)]
typo
Joey Hess [Sat, 17 Apr 2010 16:20:50 +0000 (12:20 -0400)]
autoindex: Switch to using %wikistate instead of abusing $pagestate{index}.
Joey Hess [Fri, 16 Apr 2010 23:42:18 +0000 (19:42 -0400)]
add list of compatability breaking changes
Joey Hess [Fri, 16 Apr 2010 23:25:25 +0000 (19:25 -0400)]
remove note about needing --gettime; automatically run on first build now
Joey Hess [Fri, 16 Apr 2010 23:23:11 +0000 (19:23 -0400)]
squelch warning
Joey Hess [Fri, 16 Apr 2010 22:46:28 +0000 (18:46 -0400)]
update changelog
Joey Hess [Fri, 16 Apr 2010 22:43:51 +0000 (18:43 -0400)]
implement rcs_getmtime for svn
This is a slow implementation; it runs svn log once per file
still, rather than running svn log once on the whole srcdir.
I did it this way because in my experience, svn log, run on a directory,
does not always list every change to files inside that directory.
I don't know why, and I use svn as little as possible these days.
Joey Hess [Fri, 16 Apr 2010 22:29:45 +0000 (18:29 -0400)]
automatically run --gettime, and optimise it for git
* Automatically run --gettime the first time ikiwiki is run on
a given srcdir.
* Optimise --gettime for git, so it's appropriatly screamingly
fast. (This could be done for other backends too.)
* However, --gettime for git no longer follows renames.
* Use above to fix up timestamps on docwiki, as well as ensure that
timestamps on basewiki files shipped in the deb are sane.
Joey Hess [Fri, 16 Apr 2010 22:11:30 +0000 (18:11 -0400)]
fix file, should be symlink
Joey Hess [Fri, 16 Apr 2010 21:53:31 +0000 (17:53 -0400)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Cord [Fri, 16 Apr 2010 21:48:35 +0000 (21:48 +0000)]
typo
Joey Hess [Fri, 16 Apr 2010 21:02:29 +0000 (17:02 -0400)]
--gettime revamp
* Rename --getctime to --gettime. (The old name still works for
backwards compatability.)
* --gettime now also looks up last modification time.
* Add rcs_getmtime to plugin API; currently only implemented
for git.
http://oblomov.myopenid.com/ [Fri, 16 Apr 2010 18:20:29 +0000 (18:20 +0000)]
Proposal for tags/meta/field coalescing
http://smcv.pseudorandom.co.uk/ [Fri, 16 Apr 2010 17:51:51 +0000 (17:51 +0000)]
... and indeed there is a better way to store it
Joey Hess [Fri, 16 Apr 2010 16:21:44 +0000 (12:21 -0400)]
add mtime-to-git script to pull more correct mtimes out of git
David Riebenbauer [Fri, 16 Apr 2010 16:16:47 +0000 (18:16 +0200)]
answer to clarification.
Joey Hess [Fri, 16 Apr 2010 16:08:12 +0000 (12:08 -0400)]
clarify re %pagestate persistence
http://smcv.pseudorandom.co.uk/ [Fri, 16 Apr 2010 15:31:31 +0000 (15:31 +0000)]
try to clarify
David Riebenbauer [Fri, 16 Apr 2010 15:21:54 +0000 (17:21 +0200)]
typo
David Riebenbauer [Fri, 16 Apr 2010 15:19:44 +0000 (17:19 +0200)]
answer about the `%pagestate` of autopages.
http://kerravonsen.dreamwidth.org/ [Fri, 16 Apr 2010 03:41:25 +0000 (03:41 +0000)]
response
Joey Hess [Fri, 16 Apr 2010 02:18:56 +0000 (22:18 -0400)]
sidebar plugin optimisations
The pagetemplate hook may be called multiple times, for example when pages
are inlined into a page. Sidebars were being calculated each time that
happened, only to be thrown away when the final pagetemplate hook was
called. Avoid this unnecessary work.
Remove stored sidebar content on use to save some memory.