1 [[!meta author="""joey"""]]
3 [[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]]
5 [[!meta title="""change to todo/replace_HTML::Template_with_Template_Toolkit on ikiwiki"""]]
7 [[!meta permalink="http://ikiwiki.info/recentchanges/#change-65e726f201d7b9919271cfe7e8a7314a6abf0fc3"]]
9 <div id="change-65e726f201d7b9919271cfe7e8a7314a6abf0fc3" class="metadata">
10 <span class="desc"><br />Changed pages:</span>
11 <span class="pagelinks">
13 <a href="http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn;h=d55fc0aa82b247be8532bddbc91f46bb22d4578c;hp=9725b6541855c79fc8360e74857bd5737fb43834;hb=65e726f201d7b9919271cfe7e8a7314a6abf0fc3;hpb=2a452ddf146c4148155095e400f56b4674d76953" title="diff" rel="nofollow">[[diff|wikiicons/diff.png]]</a><a href="http://ikiwiki.info/ikiwiki.cgi?page=todo%2Freplace_HTML%3A%3ATemplate_with_Template_Toolkit&do=goto" rel="nofollow">todo/replace HTML::Template with Template Toolkit</a>
17 <span class="desc"><br />Changed by:</span>
18 <span class="committer">
20 <a href="http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto" rel="nofollow">joey</a>
23 <span class="desc"><br />Commit type:</span>
24 <span class="committype">git</span>
25 <span class="desc"><br />Date:</span>
26 <span class="changedate"><span class="relativedate" title="Tue, 16 Nov 2010 13:42:52 -0400">13:42:52 11/16/10</span></span>
27 <span class="desc"><br /></span>
31 <a href="http://ikiwiki.info/ikiwiki.cgi?rev=65e726f201d7b9919271cfe7e8a7314a6abf0fc3&do=revert" title="revert" rel="nofollow">[[revert|wikiicons/revert.png]]</a>
34 <div class="changelog">
44 diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
45 index 9725b65..d55fc0a 100644
46 --- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
47 +++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
48 @@ -5,9 +5,14 @@ features and thus makes it rather hard to give an ikiwiki site a consistent
49 look. If you browse the templates provided in the tarball, you'll notice that
50 more than one of them contain the `<html>` tag, which is unnecessary.
52 +> Note that is no longer true, and I didn't have to do such an intrusive
53 +> change to fix it either. --[[Joey]]
55 Maybe it's just me, I also find HTML::Template cumbersome to use, due in part
56 to its use of capital letters.
58 +> Its entirely optional use of capital letters? --[[Joey]]
60 Finally, the software seems unmaintained: the mailing list and searchable
62 <http://html-template.sourceforge.net/html_template.html#frequently%20asked%20questions>
63 @@ -62,4 +67,21 @@ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer
65 I agree that being able to replace the template toolkit would be a great piece of modularity, and one I would use. If I could use the slot-based filling and the conditional logic from Template::Toolkit, we could build much more flexible inline and archivepage templates that would look different depending on where in the wiki we use them. Some of this can currently be accomplished with separate templates for each use case and a manual call to the right template in the !inline directive, but this is limited, cumbersome, and makes it difficult to reuse bits of formatting by trapping all of that information in multiple template files. -Ian
67 -> I don't wish HTML::Template to be *replaced* by Template::Toolkit - as others have said above, it's overkill for my needs. However, I also agree that HTML::Template has its own problems too. The idea of making the template system modular, with a choice of which backend to use - I really like that idea. It would enable me to use some other template system I like better, such as Text::Template or Text::NeatTemplate. But I think it would be a lot of work to implement, though perhaps no more work than making the revision-control backend modular, I guess. One would need to write an IkiWiki template interface that didn't care what the backend was, and yet is somehow still flexible enough to take advantage of special features of different backends. There are an *awful lot* of things that use templates - not just the `pagetemplate` and `template` plugins, but a number of others which have specialized templates of their own. -- [[KathrynAndersen]]
68 +> I don't wish HTML::Template to be *replaced* by Template::Toolkit - as
69 +> others have said above, it's overkill for my needs. However, I also
70 +> agree that HTML::Template has its own problems too. The idea of making
71 +> the template system modular, with a choice of which backend to use - I
72 +> really like that idea. It would enable me to use some other template
73 +> system I like better, such as Text::Template or Text::NeatTemplate. But I
74 +> think it would be a lot of work to implement, though perhaps no more work
75 +> than making the revision-control backend modular, I guess. One would
76 +> need to write an IkiWiki template interface that didn't care what the
77 +> backend was, and yet is somehow still flexible enough to take advantage
78 +> of special features of different backends. There are an *awful lot* of
79 +> things that use templates - not just the `pagetemplate` and `template`
80 +> plugins, but a number of others which have specialized templates of their
81 +> own. -- [[KathrynAndersen]]a
83 +>> A modular template system in ikiwiki is unlikely, as template objects
84 +>> are part of the API, notably the `pagetemplate` hook. Unless the other
85 +>> system has a compatible template object. --[[Joey]]
90 <!-- 65e726f201d7b9919271cfe7e8a7314a6abf0fc3 -->