diff options
author | Simon McVittie <smcv@debian.org> | 2010-11-26 22:25:41 +0000 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2011-01-07 18:53:27 +0000 |
commit | 8250c3a45799cecb0f3a4f48e9a660ae4e937f39 (patch) | |
tree | 49a7e22df9f17a8c97a99fc45af0ffc41483f8c7 | |
parent | 657dc544575e4f0b8f56dbdc10dc28e290811987 (diff) |
Add transient plugin, which adds ~/.ikiwiki/transient as an underlay
This can contain auto-generated things, like tag pages; if edited
they'll automatically migrate into source code control.
-rw-r--r-- | IkiWiki/Plugin/transient.pm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/transient.pm b/IkiWiki/Plugin/transient.pm new file mode 100644 index 000000000..5764467ab --- /dev/null +++ b/IkiWiki/Plugin/transient.pm @@ -0,0 +1,33 @@ +#!/usr/bin/perl +package IkiWiki::Plugin::transient; + +use warnings; +use strict; +use IkiWiki 3.00; + +sub import { + hook(type => "getsetup", id => "transient", call => \&getsetup); + hook(type => "checkconfig", id => "transient", call => \&checkconfig); +} + +sub getsetup () { + return + plugin => { + # this plugin is safe but only makes sense as a + # dependency; similarly, it needs a rebuild but + # only if something else does + safe => 0, + rebuild => 0, + }, +} + +our $transientdir; + +sub checkconfig () { + eval q{use Cwd 'abs_path'}; + error($@) if $@; + $transientdir = abs_path($config{wikistatedir})."/transient"; + add_underlay($transientdir); +} + +1; |