Add gitrepo template and use it in ChemDB published post.
authorW. Trevor King <wking@drexel.edu>
Wed, 13 Oct 2010 18:29:54 +0000 (14:29 -0400)
committerW. Trevor King <wking@drexel.edu>
Wed, 13 Oct 2010 18:38:39 +0000 (14:38 -0400)
The template is based on ikiwiki's doc/templates/gitbranch.mdwn.

This turned out to be more complicated than I expected, mostly due to
the need for the template to both work and be appropriate Markdown.
The way to do this seems to be to use the htmlscrubber plugin to strip
the <TMPL_...> tags from the rendered version.  I'd disabled the
htmlscrubber plugin because it had been stripping out my MathML.  Now
it's re-enabled, but only for template/* posts.  It would be nice if
there was a way to force posts to evaluate themselves as templates
when rendered directly...

I also added a git tag for the gitrepo template to use.

ikiwiki.setup
posts/ChemDB_published.mdwn
tags/git.mdwn [new file with mode: 0644]
templates.mdwn [new file with mode: 0644]
templates/gitrepo.mdwn [new file with mode: 0644]

index 665e53e506ef754681b7ec7220a1af2c2b8d9c69..9982a47b9844874f4381045152f98c35081fdfec 100644 (file)
@@ -31,7 +31,7 @@ use IkiWiki::Setup::Standard {
        # plugins to add to the default configuration
        add_plugins => [qw{goodstuff linktoimgonly lockedit mdwn_itex org sidebar}],
        # plugins to disable
-       disable_plugins => [qw{editpage htmlscrubber passwordauth smiley}],
+       disable_plugins => [qw{editpage passwordauth smiley}],
        # location of template files
        templatedir => '/home/wking/.ikiwiki/templates',
        # base wiki source location
@@ -99,6 +99,10 @@ use IkiWiki::Setup::Standard {
        # branch that the wiki is stored in
        #gitmaster_branch => 'master',
 
+       # htmlscrubber plugin
+       # PageSpec specifying pages not to scrub
+       htmlscrubber_skip => "!templates/*",
+
        # inline plugin
        # enable rss feeds by default?
        rss => 1,
index 781069f9bd21ec639766bfea3ccf96e361f2fbd8..0f8b5c2763b87617902544da35782b86fa211806 100644 (file)
@@ -3,7 +3,7 @@
 I wrote a little app in Python to make managing our lab's list of
 chemicals less painful.  I think it is now ready for people other than me :p.
 
-[code](http://www.physics.drexel.edu/~wking/code/index.shtml#chemdb)
+[[!template id=gitrepo repo=chemdb]]
 
 [[!tag tags/code]]
 [[!tag tags/linux]]
diff --git a/tags/git.mdwn b/tags/git.mdwn
new file mode 100644 (file)
index 0000000..4d11d0c
--- /dev/null
@@ -0,0 +1,3 @@
+Software versioned in Git or Git-related posts.
+
+[[!inline pages="link(tags/git)" show=10 actions=yes]]
diff --git a/templates.mdwn b/templates.mdwn
new file mode 100644 (file)
index 0000000..5232b03
--- /dev/null
@@ -0,0 +1,5 @@
+The `templates/` directory contains customized templates for this
+wiki.
+
+[[!inline pages="./templates/*" archive=yes feeds=no sort=title
+  template=titlepage]]
diff --git a/templates/gitrepo.mdwn b/templates/gitrepo.mdwn
new file mode 100644 (file)
index 0000000..7719dd2
--- /dev/null
@@ -0,0 +1,16 @@
+<span class="infobox">
+Available in a [[!taglink tags/git]] repository.<br />
+Repository: <a href="<TMPL_IF url><TMPL_VAR url><TMPL_ELSE>/~wking/code/git/git.php?p=<TMPL_VAR repo>.git</TMPL_IF>" rel="vcs-git"><TMPL_VAR repo></a><br />
+Author: <TMPL_UNLESS author>W. Trevor King</TMPL_UNLESS><TMPL_VAR author><br />
+</span>
+
+<TMPL_UNLESS repo>
+This template is used to create an infobox for a git repository. It
+uses these parameters:
+
+* repo - the name of the repository.
+* url - repository url.  Defaults to `/~wking/code/git/git.php?p=<repo>.git`.
+* author - the author of the branch.  Defaults to `W. Trevor King`.
+
+It also automatically tags the branch with `tags/git`.
+</TMPL_UNLESS>