summaryrefslogtreecommitdiff
path: root/IkiWiki
AgeCommit message (Collapse)Author
2010-04-21fixesJoey Hess
2010-04-21clarifyJoey Hess
2010-04-21Merge branch 'master' into autotagJoey Hess
Conflicts: IkiWiki/Plugin/tag.pm
2010-04-21pass pagespec parameters along from match_taggedJoey Hess
2010-04-21fix false positive in link_types_changedJoey Hess
loadindex does not bother populating oldtypedlinks if there is no link type. However, the code in link_types_changed assumed that if oldtypedlinks is not defined, and typedlinks is, they must differ.
2010-04-21add separate template variable for tag page and sanitize displayed tag nameJoey Hess
2010-04-21remember autofiles that were tried and failed to be addedJoey Hess
This way, if an autofile is registered for a file that already exists, it is remembered that it was tried, and it doesn't get recreated when removed.
2010-04-21commit autocreated tag pagesJoey Hess
2010-04-21remember autofiles alwaysJoey Hess
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.
2010-04-21bugfixesJoey Hess
2010-04-21remove verify_src_fileJoey Hess
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.)
2010-04-20Merge branch 'master' into autotagJoey Hess
2010-04-20Merge branch 'file_pruned_revamp'Joey Hess
2010-04-20bugfixJoey Hess
So this is the one place that does need to canonpath and compare, as two argument file_pruned used to.
2010-04-20darcs: ensure whole darcs query manifest output is consumedJoey Hess
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!)
2010-04-20bugfixJoey Hess
Avoid file_pruned triggering on absolute paths causing the whole comments_pending directory being pruned. Simplify code.
2010-04-20Merge branch 'master' into file_pruned_revampJoey Hess
2010-04-20fix uninitialized value warningJoey Hess
$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.
2010-04-20typoJoey Hess
2010-04-20fix stat to use unmunged filenameJoey Hess
2010-04-20oops, fix for no_chdir modeJoey Hess
$_ will be absolute then
2010-04-20switch to 1 parameter version of file_prunedJoey Hess
Another bit of code that didn't realize that File::Find sets $_ to the relative filename.
2010-04-20remove explicit absolute testJoey Hess
file_pruned now tests for that
2010-04-20use one parameter form of file_pruned here tooJoey Hess
In File::Find, $_ is relative to the current directory, so that is ok. Also, the directory name doesn't need to be stripped from $_.
2010-04-20clarify why absolute is tested & stripped hereJoey Hess
file_prune also fails on absolute filenames now
2010-04-20Merge branch 'master' into file_pruned_revampJoey Hess
2010-04-20fix minor bug if a page's name is "0"Joey Hess
2010-04-20no need to return content from postscan hookJoey Hess
2010-04-19change wordingJoey Hess
This is more accurate when a file that is not a page is what is removed.
2010-04-19move message into if blockJoey Hess
2010-04-17unfinished file_prune revampJoey Hess
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.)
2010-04-17move File::Find control back into its code blocksJoey Hess
Ok, this is longer, but features less scary action at a distance.
2010-04-17move decode_utf8 closer to reason for itJoey Hess
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.
2010-04-17fix autotag behavior for relative tagsJoey Hess
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.
2010-04-17call gentag for taglinks tooJoey Hess
2010-04-17fix autofile callJoey Hess
2010-04-17tag_autocreate fixupsJoey Hess
Fix style of prompt. Optional to rebuild when it is changed. (Needed to get new all missing tags)
2010-04-17bzr: changelog and refactorJoey Hess
2010-04-17Fix get_ctime implementation in Bazaar plugin, add get_mtime implementation.Jelmer Vernooij
2010-04-17refactor autofilesJoey Hess
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.
2010-04-17whitespaceJoey Hess
2010-04-17Merge remote branch 'davrieb/autotag' into autotagJoey Hess
Conflicts: IkiWiki.pm IkiWiki/Plugin/tag.pm
2010-04-17autoindex: Switch to using %wikistate instead of abusing $pagestate{index}.Joey Hess
2010-04-16squelch warningJoey Hess
2010-04-16implement rcs_getmtime for svnJoey Hess
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.
2010-04-16automatically run --gettime, and optimise it for gitJoey Hess
* 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.
2010-04-16--gettime revampJoey Hess
* 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.
2010-04-15sidebar plugin optimisationsJoey Hess
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.
2010-04-15calendar: Improved display of arrows.Joey Hess
2010-04-15conditional: Fix bug that forced "all" mode off by default.Joey Hess
Commit b7351daacd0d4a041a51b43d99b7bf589de54f53 introduced the bug.