Would it be possible to add an option to only generate the index files for the html output and not place the markdown files in the wiki source?
Or better still, add a mechanism for ikiwiki to hold transient source pages in memory and render them as if they existed, without actually writing them out, as ?JoeRayhawk suggests below? I think add_autofile would be the way to do this. I've added this to todo as autoindex should use add_autofile and transient pages. --smcv
The reason being that I have a lot of directories which need to be autoindexed, but I would prefer if the index files didn't clutter up my git repository.
even without that feature the plugin is a great help, thanks
If you just don't want to clutter your git repo, below it's a patch does the following:
If you set autoindex_commit to 0 in your ikiwiki.setup file, we do place auto-generated markdown files in the wiki source but not in the repo
If you set autoindex_commit to 1 (this is the default), auto-generated index files will be put in the repo provided you enabled rcs backend.
--- autoindex.pm.orig 2009-10-01 17:13:51.000000000 +0800 +++ autoindex.pm 2009-10-01 17:21:09.000000000 +0800 @@ -17,6 +17,13 @@ safe => 1, rebuild => 0, }, + autoindex_commit => { + type => 'boolean', + default => 1, + description => 'commit generated autoindex pages into RCS', + safe => 0, + rebuild => 0, + }, } sub genindex ($) { @@ -25,7 +32,7 @@ my $template=template("autoindex.tmpl"); $template->param(page => $page); writefile($file, $config{srcdir}, $template->output); - if ($config{rcs}) { + if ($config{rcs} and $config{autoindex_commit}) { IkiWiki::rcs_add($file); } } @@ -94,13 +101,13 @@ } if (@needed) { - if ($config{rcs}) { + if ($config{rcs} and $config{autoindex_commit}) { IkiWiki::disable_commit_hook(); } foreach my $page (@needed) { genindex($page); } - if ($config{rcs}) { + if ($config{rcs} and $config{autoindex_commit}) { IkiWiki::rcs_commit_staged( gettext("automatic index generation"), undef, undef);
Warning: I guess this patch may work, but I haven't tested it yet. -- weakish
autoindex_commit => 0
would be nice, but uncommited files are definitely not.
remote: From /srv/git/test3 remote: 3047077..1df636c master -> origin/master remote: error: Untracked working tree file 'test.mdwn' would be overwritten by merge. Aborting remote: 'git pull --prune origin' failed: at /usr/share/perl5/IkiWiki/Plugin/git.pm line 201.
It'd be nice if we were able to notice directories with no associated compilable markup files and compile a simple map directive straight to HTML without any intermediate markup file being involved at all. -- JoeRayhawk