aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/autoindex.pm
Commit message (Collapse)AuthorAge
* Silence "used only once: possible typo" warnings for variables that are part ↵Simon McVittie2016-01-19
| | | | of modules' APIs
* Allow creation of transient index pages for directories outside srcdirSimon McVittie2014-07-04
| | | | | | | | | | After this change autoindex creates index pages also for empty directories included in underlays, but only if it isn't going to commit them to the srcdir ($config{autoindex_commit} = 0). Inspired by a patch from Tuomas Jormola. Bug-Debian: http://bugs.debian.org/611068
* autoindex: remove unnecessary special case for transient underlaySimon McVittie2014-07-04
| | | | | | | | | | | It's not clear that the transient underlay should be excluded from indexing; see [[bugs/transient autocreated tagbase is not transient autoindexed]]. In any case, the code that checks what directories might need indexes specifically checks for the srcdir anyway, so the only effect this extra check can have is negative (it could fail to notice files in the transient underlay and attempt to recreate them unnecessarily).
* autoindex and tag use transient underlay when not committing, so do not need ↵Joey Hess2013-11-17
| | | | to disable only_committed_changes
* disable only_committed_changes when uncommitted files are created by pluginsJoey Hess2013-11-17
|
* autoindex: default to autoindex_commit=1 as intendedSimon McVittie2011-01-22
|
* Don't create autoindex pages just because of transient thingsSimon McVittie2011-01-22
|
* Allow autoindex files to be written into the transient underlaySimon McVittie2011-01-22
| | | | As with the tag plugin, for the moment keep the old behaviour in the test.
* autoindex: stop tracking deletions, use generic autofile tracking insteadSimon McVittie2011-01-22
| | | | | | | | | | | | | - Migrate the set of deletions to the {autofile} set, since it has more or less the same effect. This affects the "deleted" case in the test. - If a page has just been deleted, add it as an autofile anyway: by the time gen_autofile is called, it'll be in the list of deleted files, so it'll just be added to {autofile}. This affects the "gone" case in the test. - Behaviour change: we don't forget that a page with no reason to be re-created was deleted. This affects the 'expunged' and 'reinstated' cases in the test.
* autoindex: use add_autofileSimon McVittie2011-01-22
| | | | | | | | This does cause a minor regression: index pages are now committed individually rather than being a single commit per rebuild. This also means the autoindex regression test needs to trigger the autofile generation pass.
* rcs_commit and rcs_commit_staged api changesJoey Hess2010-06-23
| | | | | | | | | | | Using named parameters for these is overdue. Passing the session in a parameter instead of passing username and IP separately will later allow storing other session info, like username or part of the email. Note that these functions are not part of the exported API, and the prototype change will catch (most) skew, so I am not changing API versions. Any third-party plugins that call them will need updated though.
* avoid dying if cannot chdir to an underlaydirJoey Hess2010-06-17
|
* Fix issues with combining unicode srcdirs and source files.Joey Hess2010-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A short story: Once there was a unicode string, let's call him Srcdir. Along came a crufy old File::Find, who went through a tree and pasted each of the leaves in turn onto Srcdir. But this 90's relic didn't decode the leaves -- despite some of them using unicode! Poor Srcdir, with these leaves stuck on him, tainted them with his nice unicode-ness. They didn't look like leaves at all, but instead garbage. (In other words, perl's unicode support sucks mightily, and drives us all to drink and bad storytelling. But we knew that..) So, srcdir is not normally flagged as unicode, because typically it's pure ascii. And in that case, things work ok; File::Find finds filenames, which are not yet decoded to unicode, and appends them to the srcdir, and then decode_utf8 happily converts the whole thing. But, if the srcdir does contain utf8 characters, that breaks. Or, if a Yaml setup file is used, Yaml::Syck's implicitunicode sets the unicode flag of *all* strings, even those containing only ascii. In either case, srcdir has the unicode flag set; a non-decoded filename is appended, and the flag remains set; and decode_utf8 sees the flag and does *nothing*. The result is that the filename is not decoded, so looks valid and gets skipped. File::Find only sticks the directory and filenames together in no_chdir mode .. but we need that mode for security. In order to retain the security, and avoid the problem, I made it not pass srcdir to File::Find. Instead, chdir to the srcdir, and pass ".". Since "." is ascii, the problem is avoided. Note that chdir srcdir is safe because we check for symlinks in the srcdir path. Note that it takes care to chdir back to the starting location. Because the user may have specified relative paths and so staying in the srcdir might break. A relative path could even be specifed for an underlay dir, so it chdirs back after each.
* bugfixJoey Hess2010-04-20
| | | | | So this is the one place that does need to canonpath and compare, as two argument file_pruned used to.
* oops, fix for no_chdir modeJoey Hess2010-04-20
| | | | $_ will be absolute then
* switch to 1 parameter version of file_prunedJoey Hess2010-04-20
| | | | | Another bit of code that didn't realize that File::Find sets $_ to the relative filename.
* autoindex: Switch to using %wikistate instead of abusing $pagestate{index}.Joey Hess2010-04-17
|
* setup file orderingJoey Hess2010-02-12
|
* add section informationJoey Hess2010-02-12
|
* finalise version 3.00 of the plugin apiJoey Hess2008-12-23
|
* Coding style change: Remove explcit vim folding markers.Joey Hess2008-12-17
|
* avoid $_ in a few other for loopsJoey Hess2008-10-06
| | | | | These were probably not currently buggy, but let's avoid bugs being introduced by the functions called clobbering $_.
* support indexpagesJoey Hess2008-09-29
|
* autoindex: Avoid re-adding previously deleted (or renamed) pages.Joey Hess2008-08-26
|
* autoindex: Ignore internal pages, and take underlay directories into ↵Joey Hess2008-08-06
| | | | account. Also, avoid making index pages for directories that contain no files.
* add plugin safe/rebuild info (part 1 of 2)Joey Hess2008-08-03
| | | | too many plugins.. brain exploding..
* check generated pages inJoey Hess2008-07-29
| | | | | | | | | | | I considered not checking them in, or making the checkin configurable. However, then they would remain not checked in if edited by a user, which is probably not desired. Note that passing undef as the username/ip to rcs_commit_staged may not result in ideal behavior; the commit may seem to come from "anonymous" with some revision control systems. Most of them handle it a bit better and just have it come from whatever user is running the build.
* initial draftJoey Hess2008-07-29