]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
authorJoey Hess <joey@kitenet.net>
Wed, 21 Apr 2010 20:34:50 +0000 (16:34 -0400)
committerJoey Hess <joey@kitenet.net>
Wed, 21 Apr 2010 20:34:50 +0000 (16:34 -0400)
1  2 
doc/todo/auto-create_tag_pages_according_to_a_template.mdwn

index 724a52ec948ac16662f51d3421f63d20bd3591f1,5a1aff92836f8dcae607e315f3d55903b01b8b20..254ec42b5d2cb17b16fcc5662167c729c39fcfbb
@@@ -15,86 -15,7 +15,7 @@@ A new setting is used to enable or disa
  The new tag file is created during the preprocess phase. 
  The new tag file is then complied during the change phase.
  
- _tag.pm from version 3.01_
-       --- tag.pm      2009-02-06 10:26:03.000000000 -0700
-       +++ tag_new.pm  2009-02-06 12:17:19.000000000 -0700
-       @@ -14,6 +14,7 @@
-                       hook(type => "preprocess", id => "tag", call => \&preprocess_tag, scan => 1);
-                       hook(type => "preprocess", id => "taglink", call => \&preprocess_taglink, scan => 1);
-                       hook(type => "pagetemplate", id => "tag", call => \&pagetemplate);
-       +       hook(type => "change", id => "tag", call => \&change);
-        }
-        
-        sub getopt () {
-       @@ -36,6 +37,36 @@
-                                                       safe => 1,
-                                                       rebuild => 1,
-                                       },
-       +               tag_autocreate => {
-       +                       type => "boolean",
-       +                       example => 0,
-       +                       description => "Auto-create the new tag pages, uses autotagpage.tmpl ",
-       +                       safe => 1,
-       +                       rebulid => 1,
-       +               },
-       +}
-       +
-       +my $autocreated_page = 0;
-       +
-       +sub gen_tag_page($)    {
-       +       my $tag=shift;
-       +
-       +       my $tag_file=$tag.'.'.$config{default_pageext};
-       +       return if (-f $config{srcdir}.$tag_file);
-       +
-       +       my $template=template("autotagpage.tmpl");
-       +       $template->param(tag => $tag);
-       +       writefile($tag_file, $config{srcdir}, $template->output);
-       +       $autocreated_page = 1;
-       +
-       +       if ($config{rcs}) {
-       +               IkiWiki::disable_commit_hook();
-       +               IkiWiki::rcs_add($tag_file);
-       +               IkiWiki::rcs_commit_staged(
-       +                       gettext("Automatic tag page generation"),
-       +                       undef, undef);
-       +               IkiWiki::enable_commit_hook();
-       +       }
-        }
-        
-        sub tagpage ($) {
-       @@ -47,6 +78,10 @@
-                                       $tag=~y#/#/#s; # squash dups
-                       }
-        
-       +       if (defined $config{tag_autocreate} && $config{tag_autocreate} ) {
-       +               gen_tag_page($tag);
-       +       }
-       +
-                       return $tag;
-        }
-        
-       @@ -125,4 +160,18 @@
-                       }
-        }
-        
-       +sub change(@) {
-       +       return unless($autocreated_page);
-       +       $autocreated_page = 0;
-       +
-       +       # This refresh/saveindex is to complie the autocreated tag pages
-       +       IkiWiki::refresh();
-       +       IkiWiki::saveindex();
-       +
-       +       # This refresh/saveindex is to fix the Tags link
-       +       # With out this additional refresh/saveindex the tag link displays ?tag
-       +       IkiWiki::refresh();
-       +       IkiWiki::saveindex();
-       +}
-       +
+ *see git history of this page if you want the patch --[[smcv]]*
  
  This uses a [[template|wikitemplates]] called `autotagpage.tmpl`, here is my template file:
  
@@@ -256,6 -177,32 +177,32 @@@ wrong direction. (fixed --[[Joey]] 
  >>>>> manual recreation -- it still needs to remember it was once an autofile,
  >>>>> in order to avoid recreating it if it's deleted yet again. --[[Joey]]
  
+ >>>>>> Are these really the semantics we want? It seems strange to me
+ >>>>>> that this:
+ >>>>>>
+ >>>>>> * tag a page as foo
+ >>>>>> * tags/foo automatically appears
+ >>>>>> * delete tags/foo
+ >>>>>> * create tags/foo manually
+ >>>>>> * delete tags/foo again
+ >>>>>> * tags/foo isn't automatically created
+ >>>>>>
+ >>>>>> isn't the same as this:
+ >>>>>>
+ >>>>>> * create tags/foo
+ >>>>>> * delete tags/foo
+ >>>>>> * tag a page as foo
+ >>>>>> * tags/foo automatically appears
+ >>>>>>
+ >>>>>> or even this:
+ >>>>>>
+ >>>>>> * create tags/foo
+ >>>>>> * tag a page as foo
+ >>>>>> * delete tags/foo
+ >>>>>> * tags/foo automatically appears (?)
+ >>>>>>
+ >>>>>> --[[smcv]]
  >>> * `autoindex` forgets that a page was deleted when it's no longer needed
  >>>   anyway (this may be harder for `autotag`?)
  
  > quite easy to solve by moving `verify_src_file` to IkiWiki.pm? --[[smcv]]
  
  >> True. I'll do that. --[[David_Riebenbauer]]
 +>> Fixed in my branch --[[Joey]]
  
  [[!template id=gitbranch branch=origin/autotag author="[[Joey]]"]]
  I've pushed an autotag branch of my own, which refactors