summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/bugs/title__40____41___in_a_PageSpec__44___with_meta_enabled__44___causes_a_crash.mdwn25
-rw-r--r--doc/todo/aggregate_to_internal_pages.mdwn28
2 files changed, 53 insertions, 0 deletions
diff --git a/doc/bugs/title__40____41___in_a_PageSpec__44___with_meta_enabled__44___causes_a_crash.mdwn b/doc/bugs/title__40____41___in_a_PageSpec__44___with_meta_enabled__44___causes_a_crash.mdwn
new file mode 100644
index 000000000..2f9c10611
--- /dev/null
+++ b/doc/bugs/title__40____41___in_a_PageSpec__44___with_meta_enabled__44___causes_a_crash.mdwn
@@ -0,0 +1,25 @@
+When the meta plugin is enabled, use of the title() predicate in a [[PageSpec]] fails with "Undefined subroutine &IkiWiki::Plugin::meta::pagetitle called". The [[patch]] is to replace "pagetitle" with "IkiWiki::pagetitle" in the meta plugin, as in [this git commit](http://git.debian.org/?p=users/smcv/ikiwiki.git;a=commit;h=1f26a1bf1655b1d0223b24ba1db70579a3774eb1) (git://git.debian.org/git/users/smcv/ikiwiki.git, branch=master, commit=1f26a).
+
+Applying the changes shown here to ikiwiki's docwiki, and rebuilding its docwiki, is sufficient to reproduce this bug.
+
+ diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
+ index 5c7368f..8aaa032 100644
+ --- a/doc/sandbox.mdwn
+ +++ b/doc/sandbox.mdwn
+ @@ -78,4 +78,4 @@ The haiku will change after every save, mind you.
+
+ This sandbox is also a [[ikiwiki/blog]]!
+
+ -[[inline pages="sandbox/* and !*/Discussion" rootpage="sandbox" show="4" archive="yes"]]
+ +[[inline pages="sandbox/* and !title(*s3kr1t*) and !*/Discussion" rootpage="sandbox" show="4" archive="yes"]]
+ diff --git a/docwiki.setup b/docwiki.setup
+ index 0a6a866..65590f0 100644
+ --- a/docwiki.setup
+ +++ b/docwiki.setup
+ @@ -15,5 +15,5 @@ use IkiWiki::Setup::Standard {
+ syslog => 0,
+ userdir => "users",
+ usedirs => 0,
+ - add_plugins => [qw{goodstuff version haiku polygen fortune}],
+ + add_plugins => [qw{goodstuff version haiku polygen fortune meta inline}],
+ }
diff --git a/doc/todo/aggregate_to_internal_pages.mdwn b/doc/todo/aggregate_to_internal_pages.mdwn
index b7b77fc03..614407c9d 100644
--- a/doc/todo/aggregate_to_internal_pages.mdwn
+++ b/doc/todo/aggregate_to_internal_pages.mdwn
@@ -5,3 +5,31 @@ How to transition to it though? inlines of aggregated content would need to
change their pagespecs to use `internal()`.
> [[patch]] in git://git.debian.org/git/users/smcv/ikiwiki.git, branch "aggregate"; [see also gitweb](http://git.debian.org/?p=users/smcv/ikiwiki.git;a=commit;h=01d7ae803710bb0d84fc8d172fd98fd57fb77e9d). --smcv.pseudorandom.co.uk
+> Migration is a two-step process: first change all your pagespecs to use `internal()`, then add `internalize="yes"` to all your aggregate invocations. --smcv.pseudorandom.co.uk
+
+> Thanks for working on this.
+>
+> I see one problem, if internalize is flipped on and there are existing
+> aggregated pages, htmlfn will not return the right filename for those
+> pages when expiring them. Seems that `$was_internal` (or just the full
+> source filename) should be recorded on a per-guid basis. Could you do
+> that?
+>
+> I'm weighing the added complexity of having an internalize option
+> (which people would have to add, and would probably forget), with just
+> making aggregate create all new pages as internal, and having a flag day
+> where all inlines and other uses of aggregated pages have to change
+> pagespecs to use `isinternal()`.
+>
+> There are real bugs that are fixed by making
+> aggregated plugins internal, including:
+> - Avoids web edits to aggregated pages. (Arguably a security hole;
+> though they can be locked..)
+> - Significant speed improvements.
+> - Less disk use.
+>
+> If internal has to be manually enabled, people will forget to. I'd rather
+> not have to worry about these bugs in the future. So, I'm thinking flag
+> day. --[[Joey]]
+
+[[patch]]