something like this:
<pre>
-[[missingparents pages="posts/* and !posts/*/*" generate="""[[template id=year text="$page"]]"""]]
-[[missingparents pages="posts/*/* and !posts/*/*/*" generate="""[[template id=month text="$page"]]"""]]
-[[missingparents pages="posts/*/*/* and !posts/*/*/*/*" generate="""[[template id=day text="$page"]]"""]]
+[[!missingparents pages="posts/* and !posts/*/*" generate="""[[!template id=year text="$page"]]"""]]
+[[!missingparents pages="posts/*/* and !posts/*/*/*" generate="""[[!template id=month text="$page"]]"""]]
+[[!missingparents pages="posts/*/*/* and !posts/*/*/*/*" generate="""[[!template id=day text="$page"]]"""]]
</pre>
And it scans the whole wiki for pages that match the pagespecs but are missing
===================================================================
--- IkiWiki/Plugin/missingparents.pm (revision 0)
+++ IkiWiki/Plugin/missingparents.pm (revision 0)
-@@ -0,0 +1,136 @@
+@@ -0,0 +1,142 @@
+#!/usr/bin/perl
+# missingparents plugin: detect missing parents of pages and create them
+package IkiWiki::Plugin::missingparents;
+ my %params=@_;
+
+ if (! defined $params{pages} || ! defined $params{generate}) {
-+ return "[[missingparents ".gettext("missing pages or generate parameter")."]]";
++ return "[[!missingparents ".gettext("missing pages or generate parameter")."]]";
+ }
+
+ push @pagespecs, \%params;
+ my @new;
+
+ foreach my $file (@{$files}) {
++ if ($ownfiles{$file}) {
++ # someone edited our file, making it the
++ # user's problem
++ delete $ownfiles{$file};
++ next;
++ }
+ my $page = pagename $file;
+ my $newfile = "";
+ foreach my $parent (split '/', $page) {
+} #}}}
+
+1
-Index: IkiWiki/Plugin/rst.pm
-===================================================================
---- IkiWiki/Plugin/rst.pm (revision 3926)
-+++ IkiWiki/Plugin/rst.pm (working copy)
-@@ -25,7 +25,7 @@
- html = publish_string(stdin.read(), writer_name='html',
- settings_overrides = { 'halt_level': 6,
- 'file_insertion_enabled': 0,
-- 'raw_enabled': 0 }
-+ 'raw_enabled': 1 }
- );
- print html[html.find('<body>')+6:html.find('</body>')].strip();
- ";
Index: IkiWiki.pm
===================================================================
--- IkiWiki.pm (revision 3926)
my %cleared;
sub will_render ($$;$) { #{{{
my $page=shift;
-</pre>
\ No newline at end of file
+</pre>
+
+[[!tag patch]]