summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-01-07 16:40:45 -0500
committerJoey Hess <joey@kodama.kitenet.net>2008-01-07 16:40:45 -0500
commit08cb5f7badff3fdb103cf84890b19b90c0600a4e (patch)
tree0e6ff3f76fdab09377f02eedc74adc85194d190f /doc/todo
parentdcf342f366706880e89bb5178c568094d05b21c4 (diff)
parentcaa68884c7c057fcdd88a517f48bb945c9b7c69c (diff)
Merge branch 'master' of ssh://git.kitenet.net/srv/git/ikiwiki.info
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/allow_CGI_to_create_dynamic_pages.mdwn3
-rw-r--r--doc/todo/auto-create_tag_pages_according_to_a_template.mdwn7
-rw-r--r--doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn51
3 files changed, 61 insertions, 0 deletions
diff --git a/doc/todo/allow_CGI_to_create_dynamic_pages.mdwn b/doc/todo/allow_CGI_to_create_dynamic_pages.mdwn
new file mode 100644
index 000000000..6125bc413
--- /dev/null
+++ b/doc/todo/allow_CGI_to_create_dynamic_pages.mdwn
@@ -0,0 +1,3 @@
+[[tag wishlist]]
+
+It would be cool if the CGI could be used to render dynamic pages. For instance, I might want to create a page with a `\[[map]]` according to a [[pagespec]] to be passed in the query string, instead of creating/hardcoding all possible pagespecs I might want to call.
diff --git a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
new file mode 100644
index 000000000..90864d514
--- /dev/null
+++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
@@ -0,0 +1,7 @@
+It would be great if I could tell ikiwiki to automatically instantiate pages for each tag, according to a template, especially when `$tagbase` is set.
+
+Tags are mainly specific to the object to which they’re stuck. However, I often use them the other way around, too: as concepts. And sometimes I’d like to see all pages related to a given concept (“tagged with a given tag”). The only way to do this with ikiwiki is to instantiate a page for each tag and slap a map on it. This is quite tedious and I’d really love to see Ikiwiki do so by default for all tags.
+
+Also see: <http://madduck.net/blog/2008.01.06:new-blog/> and <http://users.itk.ppke.hu/~cstamas/code/ikiwiki/autocreatetagpage/>
+
+[[tag wishlist]]
diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
new file mode 100644
index 000000000..feb31a128
--- /dev/null
+++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
@@ -0,0 +1,51 @@
+[[tag wishlist]]
+
+HTML::Template is an okay templating kit, but it lacks a lot of powerful
+features and thus makes it rather hard to give an ikiwiki site a consistent
+look. If you browse the templates provided in the tarball, you'll notice that
+more than one of them contain the `<html>` tag, which is unnecessary.
+
+Maybe it's just me, I also find HTML::Template cumbersome to use, due in part
+to its use of capital letters.
+
+Finally, the software seems unmaintained: the mailing list and searchable
+archives linked from
+<http://html-template.sourceforge.net/html_template.html#frequently%20asked%20questions>
+are broken and the author has not replied to my query in months.
+
+I would love to see ikiwiki use the [Template
+Toolkit](http://template-toolkit.org/) as templating engine.
+
+One major reason for TT is its use of slots, a concept I first encountered
+with Zope Page Templates and never wanted to miss it again. Let me quickly
+illustrate, using the HTML::Template syntax for simplicity. Traditionally,
+templating is done with includes:
+
+ Page A Page B
+ <TMPL_INCLUDE header> <TMPL_INCLUDE header>
+ this is page A this is page B
+ <TMPL_INCLUDE footer> <TMPL_INCLUDE footer>
+
+This involves four pages, and if you mistype "footer" on page B,
+it'll be broken in potentially subtle ways.
+
+Now look at the approach with slots:
+
+ MainTemplate
+ This is the header
+ <TMPL_SLOT content>
+ This is the footer
+
+ Page A Page B
+ <TMPL_USE MainTemplate> <TMPL_USE MainTemplate>
+ <TMPL_FILL content> <TMPL_FILL content>
+ This is page A This is page B
+ </TMPL_FILL> </TMPL_FILL>
+ </TMPL_USE> </TMPL_USE>
+
+As soon as you think about more structure pages with various slots
+to fill, I am sure you can see the appeal of that approach. If not,
+here is some more documentation: <http://wiki.zope.org/ZPT/METALSpecification11>
+
+I would be glad to volunteer time to make this switch happen, such as rewrite
+the templates. I'd prefer not having to touch Perl though...