From 20ba12802b3897bf48d8a7704a57e9cede2466bd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 12 Feb 2010 04:22:15 -0500 Subject: add section information --- IkiWiki/Plugin/edittemplate.pm | 1 + 1 file changed, 1 insertion(+) (limited to 'IkiWiki/Plugin/edittemplate.pm') diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm index a163b0d84..5f0551d92 100644 --- a/IkiWiki/Plugin/edittemplate.pm +++ b/IkiWiki/Plugin/edittemplate.pm @@ -23,6 +23,7 @@ sub getsetup () { plugin => { safe => 1, rebuild => undef, + section => "web", }, } -- cgit v1.2.3 From d1cc7e81c84e57c32b6560f82065caf6535c0692 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 23 Apr 2010 15:11:25 -0400 Subject: use template() rather than rolling it by hand --- IkiWiki/Plugin/edittemplate.pm | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'IkiWiki/Plugin/edittemplate.pm') diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm index 5f0551d92..d65072010 100644 --- a/IkiWiki/Plugin/edittemplate.pm +++ b/IkiWiki/Plugin/edittemplate.pm @@ -114,28 +114,18 @@ sub filltemplate ($$) { my $template_page=shift; my $page=shift; - my $template_file=$pagesources{$template_page}; - if (! defined $template_file) { - return; - } - my $template; eval { - $template=HTML::Template->new( - filter => sub { - my $text_ref = shift; - $$text_ref=&Encode::decode_utf8($$text_ref); - chomp $$text_ref; - }, - filename => srcfile($template_file), - die_on_bad_params => 0, - no_includes => 1, - ); + # force page name absolute so it doesn't look in templates/ + $template=template("/".$template_page); }; if ($@) { # Indicate that the earlier preprocessor directive set # up a template that doesn't work. - return "[[!pagetemplate ".gettext("failed to process")." $@]]"; + return "[[!pagetemplate ".gettext("failed to process template:")." $@]]"; + } + if (! defined $template) { + return; } $template->param(name => $page); -- cgit v1.2.3 From c225cdad2524a12b998e550b6c0ba7079d164cff Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 12 Jun 2010 22:20:22 -0400 Subject: edittemplate: Make silent mode not disable display when the template page does not exist, so it can be easily created. --- IkiWiki/Plugin/edittemplate.pm | 3 ++- debian/changelog | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'IkiWiki/Plugin/edittemplate.pm') diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm index d65072010..742413c94 100644 --- a/IkiWiki/Plugin/edittemplate.pm +++ b/IkiWiki/Plugin/edittemplate.pm @@ -59,8 +59,9 @@ sub preprocess (@) { my $bestlink=bestlink($params{page}, $link); $pagestate{$params{page}}{edittemplate}{$params{match}}=$bestlink; - return "" if ($params{silent} && IkiWiki::yesno($params{silent})); add_depends($params{page}, $link, deptype("presence")); + return "" if ($params{silent} && IkiWiki::yesno($params{silent})) && + length $bestlink; return sprintf(gettext("edittemplate %s registered for %s"), htmllink($params{page}, $params{destpage}, $link), $params{match}); diff --git a/debian/changelog b/debian/changelog index 1d849f558..d607640c4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,8 @@ ikiwiki (3.20100611) UNRELEASED; urgency=low * img: Support hspace and vspace attributes. * editpage: Rename "comments" field to avoid CSS conflict with the comments div. + * edittemplate: Make silent mode not disable display when the template + page does not exist, so it can be easily created. -- Joey Hess Fri, 11 Jun 2010 13:39:15 -0400 -- cgit v1.2.3 From dccd76487151acc6adc93ec79f1808096bc41324 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 12 Jun 2010 22:43:34 -0400 Subject: edittemplate: Look for template pages under templates/ like everything else (still looks in old location for backwards compatability). --- IkiWiki/Plugin/edittemplate.pm | 7 ++++++- debian/changelog | 2 ++ doc/plugins/edittemplate.mdwn | 4 ++-- doc/templates.mdwn | 16 +++++++++------- 4 files changed, 19 insertions(+), 10 deletions(-) (limited to 'IkiWiki/Plugin/edittemplate.pm') diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm index 742413c94..226f83bb4 100644 --- a/IkiWiki/Plugin/edittemplate.pm +++ b/IkiWiki/Plugin/edittemplate.pm @@ -56,10 +56,15 @@ sub preprocess (@) { } my $link=linkpage($params{template}); + add_depends($params{page}, $link, deptype("presence")); my $bestlink=bestlink($params{page}, $link); + if (! length $bestlink) { + add_depends($params{page}, "templates/$link", deptype("presence")); + $link="/templates/".$link; + $bestlink=bestlink($params{page}, $link); + } $pagestate{$params{page}}{edittemplate}{$params{match}}=$bestlink; - add_depends($params{page}, $link, deptype("presence")); return "" if ($params{silent} && IkiWiki::yesno($params{silent})) && length $bestlink; return sprintf(gettext("edittemplate %s registered for %s"), diff --git a/debian/changelog b/debian/changelog index d607640c4..07b349c57 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ ikiwiki (3.20100611) UNRELEASED; urgency=low comments div. * edittemplate: Make silent mode not disable display when the template page does not exist, so it can be easily created. + * edittemplate: Look for template pages under templates/ like everything + else (still looks in old location for backwards compatability). -- Joey Hess Fri, 11 Jun 2010 13:39:15 -0400 diff --git a/doc/plugins/edittemplate.mdwn b/doc/plugins/edittemplate.mdwn index 85dfdfc2d..c19ecd858 100644 --- a/doc/plugins/edittemplate.mdwn +++ b/doc/plugins/edittemplate.mdwn @@ -2,5 +2,5 @@ [[!tag type/web]] This plugin provides the [[ikiwiki/directive/edittemplate]] [[ikiwiki/directive]]. -This directive allows registering template pages, that provide default -content for new pages created using the web frontend. +This directive allows registering [[template|templates]] pages, that +provide default content for new pages created using the web frontend. diff --git a/doc/templates.mdwn b/doc/templates.mdwn index 22b9345ef..d7480ee8f 100644 --- a/doc/templates.mdwn +++ b/doc/templates.mdwn @@ -22,20 +22,22 @@ easy to learn. All you really need to know to modify templates is this: The template directive allows wiki pages to be used as templates, filled out and inserted into other pages in the wiki. """]] -[[!if test="enabled(template) and enabled(inline)" then=""" -[[!inline pages="templates/* and !*.tmpl and !*/discussion" -feeds=no archive=yes sort=title template=titlepage -rootpage=templates postformtext="Add a new template named:"]] -"""]] [[!if test="enabled(edittemplate)" then=""" -## edit templates +## default content for new pages The edittemplate directive can be used to make new pages default to -containing text from a template, which can be filled as out the page is +containing text from a template page, which can be filled as out the page is edited. """]] +[[!if test="(enabled(template) or enabled(edittemplate) +and enabled(inline)" then=""" +[[!inline pages="templates/* and !*.tmpl and !templates/*/* and !*/discussion" +feeds=no archive=yes sort=title template=titlepage +rootpage=templates postformtext="Add a new template named:"]] +"""]] + ## wiki templates These templates are used to build the wiki. The aim is to keep almost all -- cgit v1.2.3