From 37f62dde2d9b752ba559b796cf6c1b3bc3dee9bd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 25 Aug 2010 14:57:45 -0400 Subject: response --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn index 8721277aa..77e46049f 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -42,3 +42,11 @@ browsers emulate it. [[done]] Wouldn't it be possible to just implement an integer-valued setting for this, accessible via the "Setup" wiki page? This would require a wiki regen, but such a setting would not be changed frequently I suppose. Also, Mediawiki has this implemented as a per-user setting (two settings, actually, -- number of rows and columns of the edit area); such a per-user setting would be the best possible implementation, but I'm not sure if ikiwiki already supports per-user settings. Please consider implementing this as the current 20 rows is a great PITA for any non-trivial page. > I don't think it would need a wiki rebuild, as the textarea is generated dynamically by the CGI when you perform a CGI action, and (as far as I know) is not cooked into any static content. -- [[Jon]] + +>> There is no need for a configuration setting for this -- to change +>> the default height from 20 rows to something else, you can just put +>> something like this in your `local.css`: --[[Joey]] + + #editcontent { + height: 50em; + } -- cgit v1.2.3 From 00a54d1bb7826455609645aa1d0ea66cfec3f468 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 13:37:16 -0400 Subject: finish link(.) support --- debian/changelog | 1 + doc/ikiwiki/pagespec.mdwn | 6 +++--- doc/todo/support_link__40__.__41___in_pagespec.mdwn | 8 ++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index 0d36a7352..eba38c4d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,7 @@ ikiwiki (3.20100816) UNRELEASED; urgency=low * Danish translation update. Closes: #594673 * highlight: Make location of highlight's files configurable in setup file to allow for nonstandard installations. + * Allow "link(.)" and similar PageSpecs. Thanks, Giuseppe Bilotta. -- Joey Hess Sun, 15 Aug 2010 11:45:48 -0400 diff --git a/doc/ikiwiki/pagespec.mdwn b/doc/ikiwiki/pagespec.mdwn index 7fabff9a4..6aec561ae 100644 --- a/doc/ikiwiki/pagespec.mdwn +++ b/doc/ikiwiki/pagespec.mdwn @@ -79,6 +79,6 @@ filenames of the pages in the wiki, so a pagespec "foo" used on page relative to the directory of the page containing the pagespec, you can use "./". For example, "./foo" on page "a/b" matches page "a/foo". -If you want to use the name of the page the pagespec is used in, you can use -a single dot. For example, `link(.)` matches all the pages linking to the -current page. +To indicate the name of the page the PageSpec is used in, you can +use a single dot. For example, `link(.)` matches all the pages +linking to the page containing the PageSpec. diff --git a/doc/todo/support_link__40__.__41___in_pagespec.mdwn b/doc/todo/support_link__40__.__41___in_pagespec.mdwn index 79809662a..653db1ff2 100644 --- a/doc/todo/support_link__40__.__41___in_pagespec.mdwn +++ b/doc/todo/support_link__40__.__41___in_pagespec.mdwn @@ -11,3 +11,11 @@ IkiWiki.pm is the best way to do it". > I implemented this suggestion in the simplest possible way, [[!taglink patch]] available [[here|http://git.oblomov.eu/ikiwiki/patch/f4a52de556436fdee00fd92ca9a3b46e876450fa]]. > An alternative approach, very similar, would be to make the empty page parameter mean current page (e.g. `link()` would mean pages linking here). The patch would be very similar. > -- GB + +>> Thanks for this, and also for your recent spam-fighting. +>> Huh, I was right about changing derel, didn't realize it would be +>> so obvious a change. :) Oh well, I managed to complicate it +>> some in optimisation pass.. ;) +>> +>> Note that your git-daemon on git.oblomov.eu seems down. +>> I pulled the patch from gitweb, [[done]] --[[Joey]] -- cgit v1.2.3 From 408067b893f8e7668050fd9d8ca0ab4165aa5263 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 14:21:50 -0400 Subject: response --- doc/todo/Add_nicer_math_formatting.mdwn | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/Add_nicer_math_formatting.mdwn b/doc/todo/Add_nicer_math_formatting.mdwn index 041eaee11..6e082c102 100644 --- a/doc/todo/Add_nicer_math_formatting.mdwn +++ b/doc/todo/Add_nicer_math_formatting.mdwn @@ -1,5 +1,24 @@ -It would be nice to add nicer math formatting. I currently use the [[plugins/teximg]] plugin, but I wonder if [jsMath](http://www.math.union.edu/~dpvc/jsMath/) wouldn't be a better option. +It would be nice to add nicer math formatting. I currently use the +[[plugins/teximg]] plugin, but I wonder if +[jsMath](http://www.math.union.edu/~dpvc/jsMath/) wouldn't be a better option. [[Will]] +> I've looked at jsmath (which is nicely packaged in Debian), and +> I agree that this is nicer than TeX images. That text-mode browsers +> get to see LaTeX as a fallback is actually a nice feature (better +> than nothing, right? :) That browsers w/o javascript will not be able to +> see the math either is probably ok. +> +> A plugin would probably be a pretty trivial thing to write. +> It just needs to include the javascript files, +> and slap a `
avound the user's code`, then +> call `jsMath.Process(document);` at the end of the page. +> +> My only concern is security: Has jsMath's parser been written +> to be safe when processing untrusted input? Could a user abuse the +> parser to cause it to emit/run arbitrary javascript code? +> I've posted a question about this to its forum: --[[Joey]] +> + [[!tag wishlist]] -- cgit v1.2.3 From 71fa036270e4c202ee19be60b81993fb6e7cb4cb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 14:41:59 -0400 Subject: response --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 41 ++++++++++++++++++---- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 5f17e3ae0..63fd3d11d 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -12,20 +12,47 @@ It would be good if relative paths could be used instead, so the transport metho > "../../", and "../". The only absolute links are to CGIs and the w3c DTD. > --[[Joey]] ->> The problem is within the CGI script. The links within the HTML page are all absolute, including links to the css file. ->> Having a http links within a HTML page retrieved using https upset most browsers (I think). Also if I push cancel on the edit page in https, I end up at at http page. -- Brian May +>> The problem is within the CGI script. The links within the HTML page are all +>> absolute, including links to the css file. Having a http links within a HTML +>> page retrieved using https upset most browsers (I think). Also if I push cancel +>> on the edit page in https, I end up at at http page. -- Brian May >>> Ikiwiki does not hardcode http links anywhere. If you don't want >>> it to use such links, change your configuration to use https >>> consistently. --[[Joey]] -Errr... That is not a solution, that is a work around. ikiwiki does not hard code the absolute paths, but absolute paths are hard coded in the configuration file. If you want to serve your website so that the majority of users can see it as http, including in rss feeds (this allows proxy caches to cache the contents and has reduced load requirements), but editing is done via https for increased security, it is not possible. I have some ideas how this can be implemented (as ikiwiki has the absolute path to the CGI script and the absolute path to the destination, it should be possible to generate a relative path from one to the other), although some minor issues still need to be resolved. -- Brian May - -I noticed the links to the images on are also absolute, that is ; this seems surprising, as the change.tmpl file uses <TMPL_VAR BASEURL> -which seems to do the right thing in page.tmpl, but not for change.tmpl. Where is BASEURL set? -- Brian May +Errr... That is not a solution, that is a work around. ikiwiki does not hard +code the absolute paths, but absolute paths are hard coded in the configuration +file. If you want to serve your website so that the majority of users can see +it as http, including in rss feeds (this allows proxy caches to cache the +contents and has reduced load requirements), but editing is done via https for +increased security, it is not possible. I have some ideas how this can be +implemented (as ikiwiki has the absolute path to the CGI script and the +absolute path to the destination, it should be possible to generate a relative +path from one to the other), although some minor issues still need to be +resolved. -- Brian May + +I noticed the links to the images on are +also absolute, that is ; this seems +surprising, as the change.tmpl file uses <TMPL_VAR BASEURL> which seems +to do the right thing in page.tmpl, but not for change.tmpl. Where is BASEURL +set? -- Brian May > The use of an absolute baseurl in change.tmpl is a special case. --[[Joey]] -So I'm facing this same issue. I have a wiki which needs to be accessed on three different URLs(!) and the hard coding of the URL from the setup file is becoming a problem for me. Is there anything I can do here? --[[Perry]] +So I'm facing this same issue. I have a wiki which needs to be accessed on +three different URLs(!) and the hard coding of the URL from the setup file is +becoming a problem for me. Is there anything I can do here? --[[Perry]] + +> I remain puzzled by the problem that Brian is discussing. I don't see +> why you can't just set the cgiurl and url to a https url, and serve +> the site using both http and https. +> +> Just for example, is an ikiwiki, and it is accessible +> via https or http, and if you use https, links will remain on https (except +> for links using the cgi, which I could fix by changing the cgiurl to https). +> +> I think it's possible ikiwiki used to have some +> absolute urls that have been fixed since Brian filed the bug. --[[Joey]] [[wishlist]] -- cgit v1.2.3 From 67ac2bad74e42cb3dec564fb40a198688b2e358e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 14:44:10 -0400 Subject: response --- doc/todo/po:_remove_po_files_when_disabling_plugin.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/po:_remove_po_files_when_disabling_plugin.mdwn b/doc/todo/po:_remove_po_files_when_disabling_plugin.mdwn index 0801f7fcd..5d0318ae1 100644 --- a/doc/todo/po:_remove_po_files_when_disabling_plugin.mdwn +++ b/doc/todo/po:_remove_po_files_when_disabling_plugin.mdwn @@ -9,3 +9,5 @@ files from the source repository when it has been disabled? >> in most cases, it is not, thanks to .gitignore or similar, but we >> can't be sure. So I just can't decide it is needed to call >> `rcs_remove` rather than a good old `unlink`. --[[intrigeri]] + +>>> I guess you could call `rcs_remove` followed by `unlink`. --[[Joey]] -- cgit v1.2.3 From bdafa441babb9bf73b8c25852eed1a115ca5b8e7 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 15:08:07 -0400 Subject: close bug; more rationalle for reordering --- doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn b/doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn index 402f70b79..9bb9c72c4 100644 --- a/doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn +++ b/doc/todo/po:_avoid_rebuilding_to_fix_meta_titles.mdwn @@ -43,3 +43,18 @@ Re the meta title escaping issue worked around by `change`. >>>>>> did not dare to. I'll try this. --[[intrigeri]] >>>>>>> Done in my po branch, please have a look. --[[intrigeri]] + +>>>>>>>> I've merged it. Didn't look at the po.pm changes closely; +>>>>>>>> assume they're ok. [[done]] --[[Joey]] +>>>>>>>> +>>>>>>>> My thinking about the reordering being safe is that +>>>>>>>> the relative ordering of scan and preprocess in scan mode hooks +>>>>>>>> has not been defined before, so it should be ok to define it. :) +>>>>>>>> +>>>>>>>> And as to possible breakage from things that assumed the old +>>>>>>>> ordering, such a thing would need to have a scan hook and a +>>>>>>>> preprocess in scan mode hook, and the two hooks would need to +>>>>>>>> populate the same data structure with conflicting information, +>>>>>>>> in order for there to be a problem. That seems highly unlikely +>>>>>>>> and would be pretty broken on its own. And no plugin in ikiwiki +>>>>>>>> itself has both types of hooks. --[[Joey]] -- cgit v1.2.3 From 040e174b2c5e849cbfa256694813731e444ca4ae Mon Sep 17 00:00:00 2001 From: chrysn Date: Tue, 31 Aug 2010 20:48:49 +0200 Subject: wishlist item: alias directive --- doc/todo/alias_directive.mdwn | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 doc/todo/alias_directive.mdwn (limited to 'doc/todo') diff --git a/doc/todo/alias_directive.mdwn b/doc/todo/alias_directive.mdwn new file mode 100644 index 000000000..4d7817694 --- /dev/null +++ b/doc/todo/alias_directive.mdwn @@ -0,0 +1,47 @@ +An alias directive could work like an inverse redirect, but in a more +maintainable way. Currently, a page might have several redirects leading to it, +without an easy way of enumerating them. Therefore, the following directive is +suggested for addition (possibly by means of a plugin): + +> The `alias` and `aliastext` directives implicitly create +> redirect pages to the page they are used on. If two or more pages claim a +> non-existing page to be an alias, a disambiguation page will automatically +> generated. If an existing page is claimed as an alias, it will be prefixed +> with a note that its topic is also an alias for other pages. +> +> All aliases to a page are automatically listed below the backlink and tag +> lists at the bottom of a page by default. This can be configured globally by +> setting the `alias_list` configuration option to `false`, or set explicitly +> per alias by specifying `list=true` or `list=false`. +> +> Similar to the `taglink` directive, `aliastext` produces the alias name as +> well as registering it. +> +> ## Usage example +> +> `Greece.mdwn`: +> +> > Greece, also known as \[[!aliastext Hellas]] and officially the +> > \[[!aliastext "Hellenic Republic"]], is a … +> > +> > +> > \[[!alias Grece list=false]] +> +> This page by itself will redirect from the "Hellas" and "Hellenic Republic" +> pages as if they both contained just: +> +> > \[[!meta redir="Greece"]] +> +> If, on the other hand, `Hellas Planitia` also claims `[[!alias Hellas]]`, the +> Hellas page will look like this: +> +> > **Hellas** is an alias for the following pages: +> > +> > * \[[Greece]] +> > * \[[Hellas Planitia]] + +The proposed plugin/directive could be extended, eg. by also including +old-style redirects in the alias list, but that might introduce unwanted +coupling with the meta directive. + +[[!tag wishlist]] -- cgit v1.2.3 From 7475f90be2c1941d4449791e9e9cd5f3dc3bbb71 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 7 Sep 2010 12:01:20 -0400 Subject: add todo item about hooks not called during untrusted git push --- doc/todo/untrusted_git_push_hooks.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/todo/untrusted_git_push_hooks.mdwn (limited to 'doc/todo') diff --git a/doc/todo/untrusted_git_push_hooks.mdwn b/doc/todo/untrusted_git_push_hooks.mdwn new file mode 100644 index 000000000..313078ce5 --- /dev/null +++ b/doc/todo/untrusted_git_push_hooks.mdwn @@ -0,0 +1,12 @@ +Re the canrename, canremove, and canedit hooks: + +Of the three, only canremove is currently checked during an untrusted +git push (a normal git push is assumed to be from a trusted user and +bypasses all checks). + +It would probably make sense to add the canedit hook to the checks done +there. Calling the canrename hook is tricky, because after all, git does +not record explicit file moves. + +The checkcontent hook is another hook not currently called there, that +probably should be. -- cgit v1.2.3 From b9dfa39e9f6805f7c37252937224ac3f281cb6ce Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 Sep 2010 15:11:46 -0400 Subject: further thought --- doc/todo/po:_rethink_pagespecs.mdwn | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/po:_rethink_pagespecs.mdwn b/doc/todo/po:_rethink_pagespecs.mdwn index 50c10c5db..ada372b0e 100644 --- a/doc/todo/po:_rethink_pagespecs.mdwn +++ b/doc/todo/po:_rethink_pagespecs.mdwn @@ -9,3 +9,27 @@ default when locking pages.) --[[Joey]] > list must be restricted to pages in the master (or current?) > language, and the ones that should not. The only solution I can see > to this surprising behaviour is: documentation. --[[intrigeri]] + +>> Well, a sorting criteria might be that if a PageSpec is used +>> with a specified locaction, as happens whenever a PageSpec is +>> used on a page, then it should match only `currentlang()`. If it +>> is used without a location, as in the setup file, then no such limit. +>> +>> Note that +>> `match_currentlang` currently dies if called w/o a location -- if +>> it instead was always true w/o a location, this would just mean that +>> all pagespecs should have `and currentlang()` added to them. How to +>> implement that? All I can think of doing is wrapping +>> `pagespec_translate`. +>> +>> The only case I've found where it does make sense to match other +>> language pages is on `l10n.ikiwiki.info` when listing pages that +>> need translation. +>> +>> Otherwise, it can be documented, but that's not really enough; +>> a user who makes a site using auto-blog.setup and enables po will +>> get a really scred up blog that lists translations as separate posts +>> and needs significant work to fix. I have thought about making +>> `match_currentlang` a stub in IkiWiki, so I can use it in all +>> the PageSpecs in the example blog, but I can't say I love the idea. +>> --[[Joey]] -- cgit v1.2.3 From ddd987711fdb249245de408f503dad52d225f06a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 13 Sep 2010 15:13:07 -0400 Subject: mention branch --- doc/todo/po:_rethink_pagespecs.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/po:_rethink_pagespecs.mdwn b/doc/todo/po:_rethink_pagespecs.mdwn index ada372b0e..686f3e77d 100644 --- a/doc/todo/po:_rethink_pagespecs.mdwn +++ b/doc/todo/po:_rethink_pagespecs.mdwn @@ -28,8 +28,9 @@ default when locking pages.) --[[Joey]] >> >> Otherwise, it can be documented, but that's not really enough; >> a user who makes a site using auto-blog.setup and enables po will ->> get a really scred up blog that lists translations as separate posts +>> get a really screwed up blog that lists translations as separate posts >> and needs significant work to fix. I have thought about making ->> `match_currentlang` a stub in IkiWiki, so I can use it in all ->> the PageSpecs in the example blog, but I can't say I love the idea. +>> `match_currentlang` a stub in IkiWiki (done in my currentlang branch), +>> so I can use it in all the PageSpecs in the example blog etc, but I +>> can't say I love the idea. >> --[[Joey]] -- cgit v1.2.3 From 852cc25f3b5d0f7b026e37a6231334edc92d367f Mon Sep 17 00:00:00 2001 From: intrigeri Date: Wed, 15 Sep 2010 14:39:42 +0200 Subject: reply --- doc/todo/po:_rethink_pagespecs.mdwn | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/po:_rethink_pagespecs.mdwn b/doc/todo/po:_rethink_pagespecs.mdwn index 686f3e77d..98c7ff655 100644 --- a/doc/todo/po:_rethink_pagespecs.mdwn +++ b/doc/todo/po:_rethink_pagespecs.mdwn @@ -14,14 +14,18 @@ default when locking pages.) --[[Joey]] >> with a specified locaction, as happens whenever a PageSpec is >> used on a page, then it should match only `currentlang()`. If it >> is used without a location, as in the setup file, then no such limit. ->> + +>>> Ok. --[[intrigeri]] + >> Note that >> `match_currentlang` currently dies if called w/o a location -- if >> it instead was always true w/o a location, this would just mean that >> all pagespecs should have `and currentlang()` added to them. How to >> implement that? All I can think of doing is wrapping >> `pagespec_translate`. ->> + +>>> Seems doable. --[[intrigeri]] + >> The only case I've found where it does make sense to match other >> language pages is on `l10n.ikiwiki.info` when listing pages that >> need translation. -- cgit v1.2.3 From 9585968861d551fc43379053f8556a2fe44de7b8 Mon Sep 17 00:00:00 2001 From: privat Date: Fri, 17 Sep 2010 01:42:46 +0000 Subject: patch proposal: add option to capitalize pagetitles --- doc/todo/capitalize_title.mdwn | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/todo/capitalize_title.mdwn (limited to 'doc/todo') diff --git a/doc/todo/capitalize_title.mdwn b/doc/todo/capitalize_title.mdwn new file mode 100644 index 000000000..3e8366dd3 --- /dev/null +++ b/doc/todo/capitalize_title.mdwn @@ -0,0 +1,31 @@ +Here I propose an option (with a [[patch]]) to capitalize the first letter (ucfirst) of default titles : filenames and urls can be lowercase but title are displayed with a capital first character (filename = "foo.mdwn", pagetitle = "Foo"). Note that \[[!meta title]] are unaffected (no automatic capitalization). Comments please :) --[[JeanPrivat]] +

+diff --git a/IkiWiki.pm b/IkiWiki.pm
+index 6da2819..fd36ec4 100644
+--- a/IkiWiki.pm
++++ b/IkiWiki.pm
+@@ -281,6 +281,13 @@ sub getsetup () {
+                safe => 0,
+                rebuild => 1,
+        },
++       capitalize => {
++               type => "boolean",
++               default => undef,
++               description => "capitalize the first letter of page titles",
++               safe => 1,
++               rebuild => 1,
++       },
+        userdir => {
+                type => "string",
+                default => "",
+@@ -989,6 +996,10 @@ sub pagetitle ($;$) {
+                $page=~s/(__(\d+)__|_)/$1 eq '_' ? ' ' : "&#$2;"/eg;
+        }
+ 
++       if ($config{capitalize}) {
++               $page = ucfirst $page;
++       }
++
+        return $page;
+ }
+
-- cgit v1.2.3 From abea37a67af78c9c9405d4f089b76199264d193f Mon Sep 17 00:00:00 2001 From: chrysn Date: Thu, 23 Sep 2010 13:09:05 +0200 Subject: connection between alias direcive and autotag --- doc/todo/alias_directive.mdwn | 29 ++++++++++++++++++++-- ...o-create_tag_pages_according_to_a_template.mdwn | 13 ++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/alias_directive.mdwn b/doc/todo/alias_directive.mdwn index 4d7817694..71a2efc76 100644 --- a/doc/todo/alias_directive.mdwn +++ b/doc/todo/alias_directive.mdwn @@ -27,8 +27,8 @@ suggested for addition (possibly by means of a plugin): > > > > \[[!alias Grece list=false]] > -> This page by itself will redirect from the "Hellas" and "Hellenic Republic" -> pages as if they both contained just: +> This page by itself will redirect from the "Hellas", "Hellenic Republic" and +> "Grece" pages as if they both contained just: > > > \[[!meta redir="Greece"]] > @@ -44,4 +44,29 @@ The proposed plugin/directive could be extended, eg. by also including old-style redirects in the alias list, but that might introduce unwanted coupling with the meta directive. +----------------- + +On second thought, implementing this might have similarities with +[[todo/auto-create tag pages according to a template]] -- the auto-created +pages would, if the way of the alias directive is followed, not create physical +files, though, but be created just when someone edits them. + +If multiple plugins do such a trick, they would have to fight over who comes +first. If, for example, we have a setup where not yet created tag pages are +automatically generated as "\[[!inline pages="link()" +archive="yes"]]" and aliases are enabled, and a non-tag pages grabs a tag as an +alias (as to redirect all taglinks of the tag to itself), there are two +possibilities: + +* The autotag plugin comes first: + * autotag sees the missing tag and creates its "\[[!inline" stuff + * alias sees that there is already content and adds its prefix +* The alias plugin comes first (this is the prefered way): + * alias sees the empty page, sees it is not contested by other alias + directives and creates its "\[[!meta" redirect + * autotag sees there is already content and doesn't do anything + +That issue could be handled with "priority number" on the hook, with plugins +with a lower number being called first. + [[!tag wishlist]] 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 index 7eb404910..92c3b7695 100644 --- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn +++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn @@ -248,4 +248,17 @@ I've tested it fairly thouroughly. --[[Joey]] [a358d74bef51dae31332ff27e897fe04834571e6]: http://git.liegesta.at/?p=ikiwiki.git;a=commitdiff;h=a358d74bef51dae31332ff27e897fe04834571e6 (commitdiff for a358d74bef51dae31332ff27e897fe04834571e6) [981400177d68a279f485727be3f013e68f0bf691]: http://git.liegesta.at/?p=ikiwiki.git;a=commitdiff;h=981400177d68a279f485727be3f013e68f0bf691 (commitdiff for 981400177d68a279f485727be3f013e68f0bf691) +------------------- + +Even if this is already marked as done, I'd like to suggest an alternative +solution: + +Instead of creating a file that gets checked in into the RCS, the source files +could be left out and the output files be written as long as there is no +physical source file (think of a virtual underlay). Something similar would be +required to implement [[todo/alias directive]], which couldn't be easily done +by writing to the RCS as the page's contents can change depending on which +other pages claim it as an alias. --[[chrysn]] + + [[!tag done]] -- cgit v1.2.3 From 58c80f8ed1d0dea5e03bc566769522c558353ab8 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sun, 26 Sep 2010 21:53:00 +0000 Subject: +patch --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 63fd3d11d..d59bf15f0 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -56,3 +56,27 @@ becoming a problem for me. Is there anything I can do here? --[[Perry]] > absolute urls that have been fixed since Brian filed the bug. --[[Joey]] [[wishlist]] + +---- + +[[!template id=gitbranch branch=smcv/https author="[[smcv]]"]] +[[!tag patch]] + +For a while I've been using a configuration where each wiki has a HTTP and +a HTTPS mirror, and updating one automatically updates the other, but +that seems unnecessarily complicated. My `https` branch adds `https_url` +and `https_cgiurl` config options which can be used to provide a HTTPS +variant of an existing site; the CGI script automatically detects whether +it was accessed over HTTPS and switches to the other one. + +This required some refactoring, which might be worth merging even if +you don't like my approach: + +* change `IkiWiki::cgiurl` to return the equivalent of `$config{cgiurl}` if + called with no parameters, and change all plugins to indirect through it + (then I only need to change that one function for the HTTPS hack) + +* `IkiWiki::baseurl` already has similar behaviour, so change nearly all + references to the `$config{url}` to call `baseurl` (a couple of references + specifically wanted the top-level public URL for Google or Blogspam rather + than a URL for the user's browser, so I left those alone) -- cgit v1.2.3 From 9d634e97d2f359db65883aadfb941309a53a0bc8 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sun, 26 Sep 2010 21:53:54 +0000 Subject: sign my change --- ...avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index d59bf15f0..112112284 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -80,3 +80,5 @@ you don't like my approach: references to the `$config{url}` to call `baseurl` (a couple of references specifically wanted the top-level public URL for Google or Blogspam rather than a URL for the user's browser, so I left those alone) + +--[[smcv]] -- cgit v1.2.3 From e7b772e65b5cedb6773a6ecc52cde6fb0bacdd79 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 26 Sep 2010 23:01:01 -0400 Subject: review --- ...g_http_or_https_in_urls_to_allow_serving_both.mdwn | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 112112284..1547c39eb 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -82,3 +82,22 @@ you don't like my approach: than a URL for the user's browser, so I left those alone) --[[smcv]] + +> The justification for your patch seems to be wanting to use a different +> domain, like secure.foo.com, for https? Can you really not just configure +> both url and cgiurl to use `https://secure.foo.com/...` and rely on +> relative links to keep users of `http://insecure.foo.com/` on http until +> they need to use the cgi? +> +> I'm unconvinced. +> +> `Ikiwiki::baseurl()."foo"` just seems to be asking for trouble, +> ie being accidentially written as `IkiWiki::baseurl("foo")`, +> which will fail when foo is not a page, but some file. +> +> I see multiple places (inline.pm, meta.pm, poll.pm, recentchanges.pm) +> where it will now put the https url into a static page if the build +> happens to be done by the cgi accessed via https, but not otherwise. +> I would rather not have to audit for such problems going forward. +> +> --[[Joey]] -- cgit v1.2.3 From e05099d5cf70b3637c57b6584df3bdfddbb5e513 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Mon, 27 Sep 2010 18:48:58 +0000 Subject: yay https --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 37 +++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 1547c39eb..cbd8c4da7 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -88,16 +88,45 @@ you don't like my approach: > both url and cgiurl to use `https://secure.foo.com/...` and rely on > relative links to keep users of `http://insecure.foo.com/` on http until > they need to use the cgi? -> + +>> My problem with that is that uses of the CGI aren't all equal (and that +>> the CA model is broken). You could put CGI uses in two classes: +>> +>> - websetup and other "serious" things (for the sites I'm running, which +>> aren't very wiki-like, editing pages is also in this class). +>> I'd like to be able to let privileged users log in over +>> https with httpauth (or possibly even a client certificate), and I don't +>> mind teaching these few people how to do the necessary contortions to +>> enable something like CACert. +>> +>> - Random users making limited use of the CGI: do=goto, do=404, and +>> commenting with an OpenID. I don't think it's realistic to expect +>> users to jump through all the CA hoops to get CACert installed for that, +>> which leaves their browsers being actively obstructive, unless I either +>> pay the CA tax (per subdomain) to get "real" certificates, or use plain +>> http. +>> +>> On a more wiki-like wiki, the second group would include normal page edits. +>> +>> Perhaps I'm doing this backwards, and instead of having the master +>> `url`/`cgiurl` be the HTTP version and providing tweakables to override +>> these with HTTPS, I should be overriding particular uses to plain HTTP... +>> +>> --[[smcv]] + > I'm unconvinced. > > `Ikiwiki::baseurl()."foo"` just seems to be asking for trouble, > ie being accidentially written as `IkiWiki::baseurl("foo")`, > which will fail when foo is not a page, but some file. -> + +>> That's a good point. --s + > I see multiple places (inline.pm, meta.pm, poll.pm, recentchanges.pm) > where it will now put the https url into a static page if the build > happens to be done by the cgi accessed via https, but not otherwise. > I would rather not have to audit for such problems going forward. -> -> --[[Joey]] + +>> Yes, that's a problem with this approach (either way round). Perhaps +>> making it easier to run two mostly-synched copies like I was previously +>> doing is the only solution... --s -- cgit v1.2.3 From 3d3af6983d32b41143d5e64ac90c44d1bc829d07 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 Sep 2010 15:36:05 -0400 Subject: response --- ...wiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index cbd8c4da7..bb0a87183 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -108,11 +108,21 @@ you don't like my approach: >> >> On a more wiki-like wiki, the second group would include normal page edits. >> +>>> I see your use case. It still seems to me that for the more common +>>> case where CA tax has been paid (getting a cert that is valid for +>>> multiple subdomains should be doable?), having anything going through the +>>> cgiurl upgrade to https would be ok. In that case, http is just an +>>> optimisation for low-value, high-aggregate-bandwidth type uses, so a +>>> little extra https on the side is not a big deal. --[[Joey]] +>> >> Perhaps I'm doing this backwards, and instead of having the master >> `url`/`cgiurl` be the HTTP version and providing tweakables to override >> these with HTTPS, I should be overriding particular uses to plain HTTP... >> >> --[[smcv]] +>>> +>>> Maybe, or I wonder if you could just use RewriteEngine for such selective +>>> up/downgrading. Match on `do=(edit|create|prefs)`. --[[Joey]] > I'm unconvinced. > -- cgit v1.2.3 From 8571f1e38db474e9fe7616937f8cc896e38813a3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 28 Sep 2010 17:07:01 -0400 Subject: add todo page for web reversion, with code review of patch --- ...ow_do_I_revert_edits_in_the_web_mode__63__.mdwn | 5 +- doc/todo/web_reversion.mdwn | 56 ++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 doc/todo/web_reversion.mdwn (limited to 'doc/todo') diff --git a/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn b/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn index dc2b7ca4a..4998c1a75 100644 --- a/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn +++ b/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn @@ -36,6 +36,5 @@ Puzzled a bit :-/ --- -There is some work in progress on this by Peter Gammie. --[[Joey]] - -[[!template id=gitbranch branch=peteg/master author="[[peteg]]"]] +Perer Gammie and I are working on reversion over at [[todo/web_reversion]]. +--[[Joey]] diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn new file mode 100644 index 000000000..50cb13fad --- /dev/null +++ b/doc/todo/web_reversion.mdwn @@ -0,0 +1,56 @@ +Goal: Web interface to allow reverting of changes. + +Interface: + +At least at first, it will be exposed via the recentchanges +page, with revert icons next to each change. We may want a dynamic +per-page interface that goes back more than 100 changes later. + +Limiting assumptions: + +* No support for resolving conflicts in reverts; such a revert would just + fail and not happen. +* No support for reset-to-this-point; initially the interface would only + revert a single commit, and if a bunch needed to go, the user would have + to drive that one at a time. + +Implementation plan: + +* `rcs_revert` hook that takes a revision to revert. +* CGI: `do=revert&rev=foo` +* recentchanges plugin adds above to recentchanges page +* prompt user to confirm (to avoid spiders doing reverts), + check that user is allowed to make the change, commit reversion, + and refresh site. + +Peter Gammie has done an initial implementation of the above. +[[!template id=gitbranch branch=peteg/master author="[[peteg]]"]] + +> Review: --[[Joey]] +> +> The revert commit will not currently say what web user did the revert. +> This could be fixed by doing a --no-commit revert first and then using +> rcs_commit_staged. +> +> So I see one thing I completly forgot about is `check_canedit`. Avoiding users +> using reverting to make changes they would normally not be allowed to do is +> tricky. I guess that a easy first pass would be to only let admins do it. +> That would be enough to get the feature out there.. +> +> I'm thinking about having a `rcs_preprevert`. It would take a rev and look +> at what changes reverting it would entail, and return the same data +> structure that `rcs_recieve` does. This could be done by using `git revert +> --no-commit`, and then examining the changes, and then `git reset` to drop +> them. +> +> Then the code that is currently in IkiWiki/Receive.pm, that calls +> `check_canedit` and `check_canremove` to test the change, can be +> straightforwardly refactored out, and used for checking reverts too. +> +> (The data from `rcs_preprevert` could also be used for a confirmation +> prompt -- it doesn't currently include enough info for diffs, but at +> least could have a list of changed files.) +> +> Note that it's possible for a git repo to have commits that modify wiki +> files in a subdir, and code files elsewhere. `rcs_preprevert` should +> detect changes outside the wiki dir, and fail, like `rcs_receive` does. -- cgit v1.2.3 From 388dd74c96fdcd18141081b8ec0ae68dd128b89d Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Wed, 29 Sep 2010 00:28:14 +0000 Subject: alternative approach with untested branch --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 32 +++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index bb0a87183..e2d9a5993 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -60,7 +60,6 @@ becoming a problem for me. Is there anything I can do here? --[[Perry]] ---- [[!template id=gitbranch branch=smcv/https author="[[smcv]]"]] -[[!tag patch]] For a while I've been using a configuration where each wiki has a HTTP and a HTTPS mirror, and updating one automatically updates the other, but @@ -140,3 +139,34 @@ you don't like my approach: >> Yes, that's a problem with this approach (either way round). Perhaps >> making it easier to run two mostly-synched copies like I was previously >> doing is the only solution... --s + +---- + +**warning: untested branch ** [[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] + +OK, here's an alternative approach, closer in spirit to what was initially +requested. I haven't tested this at all (it's getting rather late in UK time) +and it will probably be rebased later, but I've referenced it here as a proof of +concept. + +The idea is that in the common case, the CGI and the pages will reside on the +same server, so they can use "semi-absolute" URLs (`/ikiwiki.cgi`, `/style.css`, +`/bugs/done`) to refer to each other. My branch adds config options which +could be set as follows for ikiwiki.info or any branchable.com site: + +* local_url: / +* local_cgiurl: /ikiwiki.cgi + +Most redirects, form actions, links etc. can safely use this form rather than +the fully-absolute URL. If not configured, these options default to the +corresponding absolute URL, which is would also be correct for unusual sites +where the CGI and the pages aren't on the same server. + +(In theory you could use things like `//static.example.com/wiki/` and +`//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https +while switching server, but I don't know how consistently browsers +suppot that.) + +"local" here is short for "locally valid", because these URLs are neither +fully relative nor fully absolute, and there doesn't seem to be a good name +for them... -- cgit v1.2.3 From 589aabeebe50c8ee95cd7c60c2128204264dd634 Mon Sep 17 00:00:00 2001 From: PeteG Date: Wed, 29 Sep 2010 04:22:10 +0000 Subject: --- doc/todo/web_reversion.mdwn | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 50cb13fad..92052eb26 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -24,14 +24,17 @@ Implementation plan: and refresh site. Peter Gammie has done an initial implementation of the above. -[[!template id=gitbranch branch=peteg/master author="[[peteg]]"]] +[[!template id=gitbranch branch=peteg/revert author="[[peteg]]"]] + +>> It is on a separate branch now. --[[peteg]] > Review: --[[Joey]] > > The revert commit will not currently say what web user did the revert. > This could be fixed by doing a --no-commit revert first and then using > rcs_commit_staged. -> +>> Fixed, I think. --[[peteg]] +> > So I see one thing I completly forgot about is `check_canedit`. Avoiding users > using reverting to make changes they would normally not be allowed to do is > tricky. I guess that a easy first pass would be to only let admins do it. -- cgit v1.2.3 From 278821b6b611c0885977f3b2431b5384a9fd660f Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Thu, 30 Sep 2010 12:17:14 +0000 Subject: Created "configurable tidy" todo item. --- doc/todo/configurable_tidy_command_for_htmltidy.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 doc/todo/configurable_tidy_command_for_htmltidy.mdwn (limited to 'doc/todo') diff --git a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn new file mode 100644 index 000000000..51991393e --- /dev/null +++ b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn @@ -0,0 +1,6 @@ +[[!tag patch patch]] + +I was trying to get htmltidy to [play nicely with MathML][play]. Unfortunately, I couldn't construct a command line that I was happy with, but along the way I altered htmltidy to allow a configurable command line. This seemed like a generally useful thing, so I've published my [patch][] as a Git branch. + +[play]: http://lists.w3.org/Archives/Public/html-tidy/2006JanMar/0052.html +[patch]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=ikiwiki.git&a=commitdiff&h=408ee89fd7c1dc70510385a7cf263a05862dda97&hb=e65ce4f0937eaf622846c02a9d39fa7aebe4af12 -- cgit v1.2.3 From dfbb57aa8dd3de920773aa5765f18b23ec620ea0 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Thu, 30 Sep 2010 13:49:37 +0000 Subject: Point to my updated mdwn_itex plugin. --- doc/todo/latex.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/latex.mdwn b/doc/todo/latex.mdwn index 4363003c1..76bb69c9e 100644 --- a/doc/todo/latex.mdwn +++ b/doc/todo/latex.mdwn @@ -9,6 +9,8 @@ of the ikiwiki [[/logo]]. > [[users/JasonBlevins]] has also a plugin for including [[LaTeX]] expressions (by means of `itex2MML`) -- [[plugins/mdwn_itex]] (look at his page for the link). --Ivan Z. +>> I've [updated](http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/mdwn_itex/) Jason's plugin for ikiwiki 3.x. --W. Trevor King + ---- ikiwiki could also support LaTeX as a document type, again rendering to HTML. -- cgit v1.2.3 From 922e149de93844561160c2978d71531f3c08345e Mon Sep 17 00:00:00 2001 From: PeteG Date: Fri, 1 Oct 2010 04:20:03 +0000 Subject: Continuing discussion about reverting via the web interface. --- doc/todo/web_reversion.mdwn | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 92052eb26..34947b710 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -45,15 +45,23 @@ Peter Gammie has done an initial implementation of the above. > structure that `rcs_recieve` does. This could be done by using `git revert > --no-commit`, and then examining the changes, and then `git reset` to drop > them. +>> We can use the existing `git_commit_info` with the patch ID - no need to touch the working directory. -- [[peteg]] > > Then the code that is currently in IkiWiki/Receive.pm, that calls > `check_canedit` and `check_canremove` to test the change, can be > straightforwardly refactored out, and used for checking reverts too. +>> Wow, that was easy. :-) -- [[peteg]] > > (The data from `rcs_preprevert` could also be used for a confirmation > prompt -- it doesn't currently include enough info for diffs, but at > least could have a list of changed files.) -> +>> I added `rcs_showpatch` which simply yields the output of `git show `. -- [[peteg]] +> > Note that it's possible for a git repo to have commits that modify wiki > files in a subdir, and code files elsewhere. `rcs_preprevert` should > detect changes outside the wiki dir, and fail, like `rcs_receive` does. +>> Taken care of by refactoring `rcs_receive` in `git.pm` +>> I've tested it lightly in my single-user setup. It's a little nasty that the `attachment` plugin +>> gets used to check whether attachments are allowed -- there really should be a hook for that. +>> +>> Please look it over and tell me what else needs fixing... -- [[peteg]] -- cgit v1.2.3 From 3740f787571b0dff26d0b01cc63a22d9816c2896 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Fri, 1 Oct 2010 22:43:52 +0000 Subject: updated branch; fold discussion of rejected version into a toggleable --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 67 ++++++++++++++++------ 1 file changed, 49 insertions(+), 18 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index e2d9a5993..f95b7af4b 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -59,6 +59,9 @@ becoming a problem for me. Is there anything I can do here? --[[Perry]] ---- +[[!toggle id="smcv-https" text="Some discussion of a rejected implementation, smcv/https."]] +[[!toggleable id="smcv-https" text=""" + [[!template id=gitbranch branch=smcv/https author="[[smcv]]"]] For a while I've been using a configuration where each wiki has a HTTP and @@ -140,33 +143,61 @@ you don't like my approach: >> making it easier to run two mostly-synched copies like I was previously >> doing is the only solution... --s +"""]] + ---- -**warning: untested branch ** [[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] +[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] OK, here's an alternative approach, closer in spirit to what was initially -requested. I haven't tested this at all (it's getting rather late in UK time) -and it will probably be rebased later, but I've referenced it here as a proof of -concept. +requested. I haven't tested this on a full website with the CGI yet. The idea is that in the common case, the CGI and the pages will reside on the same server, so they can use "semi-absolute" URLs (`/ikiwiki.cgi`, `/style.css`, -`/bugs/done`) to refer to each other. My branch adds config options which -could be set as follows for ikiwiki.info or any branchable.com site: - -* local_url: / -* local_cgiurl: /ikiwiki.cgi - -Most redirects, form actions, links etc. can safely use this form rather than -the fully-absolute URL. If not configured, these options default to the -corresponding absolute URL, which is would also be correct for unusual sites -where the CGI and the pages aren't on the same server. - -(In theory you could use things like `//static.example.com/wiki/` and -`//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https +`/bugs/done`) to refer to each other. Most redirects, form actions, links etc. +can safely use this form rather than the fully-absolute URL. + +The initial version of the branch had config options `local_url` and +`local_cgiurl`, but they're now automatically computed by checking +whether `url` and `cgiurl` are on the same server with the the same URL +scheme. In theory you could use things like `//static.example.com/wiki/` +and `//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https while switching server, but I don't know how consistently browsers -suppot that.) +suppot that. "local" here is short for "locally valid", because these URLs are neither fully relative nor fully absolute, and there doesn't seem to be a good name for them... + +New API added by this branch: + +* `urlto(x, y, 'local')` uses `$local_url` instead of `$config{url}` + +* `IkiWiki::baseurl` has a new second argument which works like the + third argument of `urlto` + +* `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1` + +* `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters + except `cgiurl` and/or `local_cgiurl` + +Bugs: + +* I don't think anything except `openid` calls `cgiurl` without also + passing in `local_cgiurl => 1`, so perhaps that should be the default; + `openid` uses `cgiurl` anyway, so there doesn't even necessarily need + to be a way to force absolute URLs? Any other module that really needs + an absolute URL could use `cgiurl(cgiurl => $config{cgiurl}, ...)`, + although that does look a bit strange + +* It occurs to me that `IkiWiki::cgiurl` could probably benefit from being + exported? Perhaps also `IkiWiki::baseurl`? + +* Or, to reduce use of the unexported `baseurl` function, it might make + sense to give `urlto` a special case that references the root of the wiki, + with a trailing slash ready to append stuff: perhaps `urlto('/')`, + with usage like this? + + do_something(baseurl => urlto('/', undef, local)`); + do_something_else(urlto('/').'style.css'); + IkiWiki::redirect(urlto('/', undef, 1)); -- cgit v1.2.3 From 681b968ab9f728b5b548d27b42fc788ff39de14c Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Fri, 1 Oct 2010 22:46:50 +0000 Subject: how much indentation does a code block in a bullet point need? we just don't know --- ...d_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index f95b7af4b..969b17fa2 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -198,6 +198,6 @@ Bugs: with a trailing slash ready to append stuff: perhaps `urlto('/')`, with usage like this? - do_something(baseurl => urlto('/', undef, local)`); - do_something_else(urlto('/').'style.css'); - IkiWiki::redirect(urlto('/', undef, 1)); + do_something(baseurl => urlto('/', undef, local)`); + do_something_else(urlto('/').'style.css'); + IkiWiki::redirect(urlto('/', undef, 1)); -- cgit v1.2.3 From 28c9f7dbcfa152957e15de3bd3fd91502e94635a Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Fri, 1 Oct 2010 22:50:26 +0000 Subject: clarification: too many things called cgiurl --- ..._ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 969b17fa2..262d5c22d 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -185,9 +185,10 @@ Bugs: * I don't think anything except `openid` calls `cgiurl` without also passing in `local_cgiurl => 1`, so perhaps that should be the default; - `openid` uses `cgiurl` anyway, so there doesn't even necessarily need - to be a way to force absolute URLs? Any other module that really needs - an absolute URL could use `cgiurl(cgiurl => $config{cgiurl}, ...)`, + `openid` uses the `cgiurl` named parameter anyway, so there doesn't even + necessarily need to be a way to force absolute URLs? Any other module + that really needs an absolute URL could use + `cgiurl(cgiurl => $config{cgiurl}, ...)`, although that does look a bit strange * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being -- cgit v1.2.3 From a7d12113ea97735e66811bb1fb498d87a9c3bbe6 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sat, 2 Oct 2010 13:52:45 +0000 Subject: tested and seems to work --- ...kiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 262d5c22d..39dd42b87 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -150,7 +150,8 @@ you don't like my approach: [[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] OK, here's an alternative approach, closer in spirit to what was initially -requested. I haven't tested this on a full website with the CGI yet. +requested. I included a regression test for `urlto`, `baseurl` and `cgiurl`, +now that they have slightly more complex behaviour. The idea is that in the common case, the CGI and the pages will reside on the same server, so they can use "semi-absolute" URLs (`/ikiwiki.cgi`, `/style.css`, @@ -169,6 +170,12 @@ suppot that. fully relative nor fully absolute, and there doesn't seem to be a good name for them... +I've tested this on a demo website with the CGI enabled, and it seems to +work nicely (there might be bugs in some plugins, I didn't try all of them). +The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable +`httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log +in via that, links all end up in the HTTPS version. + New API added by this branch: * `urlto(x, y, 'local')` uses `$local_url` instead of `$config{url}` -- cgit v1.2.3 From 43cdf3f22fdc22e0b93e245f68b330b50d4fb292 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sat, 2 Oct 2010 13:57:03 +0000 Subject: tag as patch, I think this version is ready for review --- ...void_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 39dd42b87..20d22b9ab 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -147,7 +147,8 @@ you don't like my approach: ---- -[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] +[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]] +[[!tag patch]] OK, here's an alternative approach, closer in spirit to what was initially requested. I included a regression test for `urlto`, `baseurl` and `cgiurl`, -- cgit v1.2.3 From d21087205caa025a23bd424618bc78ecc5533902 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 2 Oct 2010 12:03:33 -0400 Subject: close --- doc/todo/configurable_tidy_command_for_htmltidy.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn index 51991393e..e317184b5 100644 --- a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn +++ b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn @@ -4,3 +4,5 @@ I was trying to get htmltidy to [play nicely with MathML][play]. Unfortunately, [play]: http://lists.w3.org/Archives/Public/html-tidy/2006JanMar/0052.html [patch]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=ikiwiki.git&a=commitdiff&h=408ee89fd7c1dc70510385a7cf263a05862dda97&hb=e65ce4f0937eaf622846c02a9d39fa7aebe4af12 + +> Thanks, [[done]] --[[Joey]] -- cgit v1.2.3 From a99790e5ec38afe4d591ba27d984b367c098d5d2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 Oct 2010 16:58:55 -0400 Subject: second review pass and I have a revert branch now --- doc/todo/web_reversion.mdwn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 34947b710..e0c6ebdf1 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -65,3 +65,20 @@ Peter Gammie has done an initial implementation of the above. >> gets used to check whether attachments are allowed -- there really should be a hook for that. >> >> Please look it over and tell me what else needs fixing... -- [[peteg]] + +>>> I have made my own revert branch and put a few fixes in there +>>> (and fixed all the indention..). Issues I noticed but have not gotten +>>> to: --[[Joey]] +>>> +>>> * `rcs_diff` already exists; why add `rcs_showpatch`? +>>> * Would it be better for `rcs_revert` to not commit, and +>>> `rcs_commit_staged` to then be used? This would work for git, but +>>> maybe other RCSs would be problimatic. It would simplifiy the +>>> interface and allow for future mulitple-revert interfaces. +>>> * I quite don't understand why one caller of `git_parse_changes` +>>> needs it to chdir, and not the other one. It's running +>>> in the same git repo either way, and git doesn't need +>>> `git show` to run in a subdir at all.. +>>> * Probably needs to untaint the revs passed in. +>>> * Seems backwards for `rcs_preprevert` to import and +>>> use `IkiWiki::Receive`. -- cgit v1.2.3 From 3f104d1eb7cc15dec0d3a7a67db85fbe63484281 Mon Sep 17 00:00:00 2001 From: PeteG Date: Tue, 5 Oct 2010 02:30:25 +0000 Subject: --- doc/todo/web_reversion.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index e0c6ebdf1..900d98591 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -69,8 +69,11 @@ Peter Gammie has done an initial implementation of the above. >>> I have made my own revert branch and put a few fixes in there >>> (and fixed all the indention..). Issues I noticed but have not gotten >>> to: --[[Joey]] +>>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] >>> >>> * `rcs_diff` already exists; why add `rcs_showpatch`? +>>>> If `rcs_diff` is intended for human consumption, by all means we can use that. -- [[peteg]] + >>> * Would it be better for `rcs_revert` to not commit, and >>> `rcs_commit_staged` to then be used? This would work for git, but >>> maybe other RCSs would be problimatic. It would simplifiy the @@ -79,6 +82,9 @@ Peter Gammie has done an initial implementation of the above. >>> needs it to chdir, and not the other one. It's running >>> in the same git repo either way, and git doesn't need >>> `git show` to run in a subdir at all.. +>>>> I was aping (preserving) what was already there. I don't understand what you say about `git show` - it must run under $srcdir, surely? And empirically the CGI process wasn't in the right place. By all means simplify that. -- [[peteg]] + >>> * Probably needs to untaint the revs passed in. >>> * Seems backwards for `rcs_preprevert` to import and >>> use `IkiWiki::Receive`. +>>>> Indeed. This is saying that the checking code in IkiWiki::Receive is in the wrong place. I think it would be better to set up some general hooks and shuffle it into a plugin, for then other plugins that maintain special files in the repo can have a say about validity. -- [[peteg]] -- cgit v1.2.3 From b02081b6f7de340372100227efc4b97d494b170f Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Tue, 5 Oct 2010 13:33:36 +0000 Subject: Added link to git repository with support for inlining raw files. --- doc/todo/inline_raw_files.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 doc/todo/inline_raw_files.mdwn (limited to 'doc/todo') diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn new file mode 100644 index 000000000..0e0f0c298 --- /dev/null +++ b/doc/todo/inline_raw_files.mdwn @@ -0,0 +1,16 @@ +summary +======= + +Extend inlining to handle raw files (files with unrecognized extensions). + +Also raise an error in IkiWiki::pagetype($file) if $file is blank, which avoids trying to do much with missing files, etc. + +I've included this patch (and some other adjustments) in my [branch] of the IkiWiki Git repository. I'm using the new code in my [blog][]. + +[branch]: http://www.physics.drexel.edu./~wking/code/git/git.php?p=ikiwiki.git +[blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/ + +usage +===== + + \[[!inline pagenames="somefile.txt" template="raw" feeds="no"]] -- cgit v1.2.3 From 267d2ce476756335142424b34fe4341081a67f36 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Tue, 5 Oct 2010 14:02:03 +0000 Subject: Use wtk's github branch instead of drexel.edu branch. --- doc/todo/inline_raw_files.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn index 0e0f0c298..2968bad40 100644 --- a/doc/todo/inline_raw_files.mdwn +++ b/doc/todo/inline_raw_files.mdwn @@ -7,7 +7,7 @@ Also raise an error in IkiWiki::pagetype($file) if $file is blank, which avoids I've included this patch (and some other adjustments) in my [branch] of the IkiWiki Git repository. I'm using the new code in my [blog][]. -[branch]: http://www.physics.drexel.edu./~wking/code/git/git.php?p=ikiwiki.git +[branch]: http://github.com/wking/ikiwiki [blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/ usage -- cgit v1.2.3 From 421de42c2a09d8e933dd25581333afa09c56ff15 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Tue, 5 Oct 2010 14:08:23 +0000 Subject: Add gitbranch template to inline_raw_files.mdwn. --- doc/todo/inline_raw_files.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn index 2968bad40..b5a525ac0 100644 --- a/doc/todo/inline_raw_files.mdwn +++ b/doc/todo/inline_raw_files.mdwn @@ -1,13 +1,14 @@ +[[!template id=gitbranch branch=wtk/master author="[[wtk]]"]] + summary ======= Extend inlining to handle raw files (files with unrecognized extensions). -Also raise an error in IkiWiki::pagetype($file) if $file is blank, which avoids trying to do much with missing files, etc. +Also raise an error in `IkiWiki::pagetype($file)` if `$file` is blank, which avoids trying to do much with missing files, etc. -I've included this patch (and some other adjustments) in my [branch] of the IkiWiki Git repository. I'm using the new code in my [blog][]. +I'm using the new code in my [blog][]. -[branch]: http://github.com/wking/ikiwiki [blog]: http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/yacc2dot/ usage -- cgit v1.2.3 From 46a98c8a4d72e8be0fd5e683a83745d529b2c3c3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 5 Oct 2010 11:22:51 -0400 Subject: add pointer to my branch --- doc/todo/web_reversion.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 900d98591..33fa79aad 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -67,6 +67,7 @@ Peter Gammie has done an initial implementation of the above. >> Please look it over and tell me what else needs fixing... -- [[peteg]] >>> I have made my own revert branch and put a few fixes in there +>>> [[!template id=gitbranch branch=origin/revert author="[[joey]]"]] >>> (and fixed all the indention..). Issues I noticed but have not gotten >>> to: --[[Joey]] >>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] -- cgit v1.2.3 From 8728a79226896b2909f60753dc17978c065cfc57 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 5 Oct 2010 12:01:36 -0400 Subject: inline already supports raw files though --- doc/todo/inline_raw_files.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn index b5a525ac0..645ab89b7 100644 --- a/doc/todo/inline_raw_files.mdwn +++ b/doc/todo/inline_raw_files.mdwn @@ -15,3 +15,17 @@ usage ===== \[[!inline pagenames="somefile.txt" template="raw" feeds="no"]] + + +> But inline already supports raw files in two ways: +> +> * setting raw=yes will cause a page to be inlined raw without +> using any template, as if it were part of the page at the location +> of the inline +> * otherwise, the file becomes an enclosure in the rss feed, for use with +> podcasting. +> +> So I don't see the point of your patch. Although since your text +> editor seems to like to make lots of whitespace changes, it's possible +> I missed something in the large quantity of noise introduced by it. +> --[[Joey]] -- cgit v1.2.3 From 4ea3c3c2e5cf17dc734f90bc2c142129e3106f58 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawna1dYW4AIhTgNOMGflUf8PlpHlugZn5cA" Date: Wed, 6 Oct 2010 11:12:13 +0000 Subject: respond to Joey's raw inline comments. --- doc/todo/inline_raw_files.mdwn | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/inline_raw_files.mdwn b/doc/todo/inline_raw_files.mdwn index 645ab89b7..100c07288 100644 --- a/doc/todo/inline_raw_files.mdwn +++ b/doc/todo/inline_raw_files.mdwn @@ -28,4 +28,34 @@ usage > So I don't see the point of your patch. Although since your text > editor seems to like to make lots of whitespace changes, it's possible > I missed something in the large quantity of noise introduced by it. -> --[[Joey]] +> --[[Joey]] + +>> As I understand it, setting `raw=yes` causes the page to be inlined +>> as if the page contents had appeared in place of the directive. The +>> content is then processed by whatever `htmlize()` applies to the +>> inlining page. I want the inlined page to be unprocessed, and +>> wrapped in `
...
` (as they are on the blog +>> post I link to above). +>> +>> Enclosures do not include the page contents at all, just a link to +>> them. I'm trying to inline the content so I can comment on it from +>> the inlining page. +>> +>> Apologies for my cluttered version history, I should have branched my +>> earlier changes off to make things clearer. I tried to isolate my +>> whitespace changes (fixes?) in c9ae012d245154c3374d155958fcb0b60fda57ce. +>> 157389355d01224b2d3c3f6e4c1eb42a20ec8a90 should hold all the content +>> changes. +>> +>> A list of other things globbed into my master branch that should have +>> been separate branches: +>> +>> * Make it easy to select a Markdown executable for mdwn.pm. +>> * Included an updated form of +>> [[Javier Rojas' linktoimgonly.pm|forum/link_to_an_image_inside_the_wiki_without_inlining_it]]. +>> * Included an updated form of +>> [Jason Blevins' mdwn_itex.pm](http://jblevins.org/git/ikiwiki/plugins.git/plain/mdwn_itex.pm). +>> * Assorted minor documentation changes. +>> +>> --[[wtk]] + -- cgit v1.2.3 From 237ea79d715fbba5c1be0b73fbe008b3221975fb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 6 Oct 2010 14:39:10 -0400 Subject: remove rcs_showpatch --- IkiWiki.pm | 4 ---- IkiWiki/Plugin/git.pm | 9 --------- IkiWiki/Plugin/recentchanges.pm | 2 +- doc/plugins/write.mdwn | 6 ------ doc/todo/web_reversion.mdwn | 4 ---- 5 files changed, 1 insertion(+), 24 deletions(-) (limited to 'doc/todo') diff --git a/IkiWiki.pm b/IkiWiki.pm index 466907c9d..269647eb4 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1949,10 +1949,6 @@ sub rcs_revert (@) { $hooks{rcs}{rcs_revert}{call}->(@_); } -sub rcs_showpatch (@) { - $hooks{rcs}{rcs_showpatch}{call}->(@_); -} - sub add_depends ($$;$) { my $page=shift; my $pagespec=shift; diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm index 5922494bc..3ccaa446a 100644 --- a/IkiWiki/Plugin/git.pm +++ b/IkiWiki/Plugin/git.pm @@ -29,7 +29,6 @@ sub import { hook(type => "rcs", id => "rcs_receive", call => \&rcs_receive); hook(type => "rcs", id => "rcs_preprevert", call => \&rcs_preprevert); hook(type => "rcs", id => "rcs_revert", call => \&rcs_revert); - hook(type => "rcs", id => "rcs_showpatch", call => \&rcs_showpatch); } sub checkconfig () { @@ -865,12 +864,4 @@ sub rcs_revert (@) { } } -sub rcs_showpatch (@) { - # Show the patch with the given revision id. - my %params = @_; - my $rev = $params{rev}; - - return join "\n", run_or_die('git', 'show', $rev); -} - 1 diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm index 7e71d4fc3..948bb1366 100644 --- a/IkiWiki/Plugin/recentchanges.pm +++ b/IkiWiki/Plugin/recentchanges.pm @@ -117,7 +117,7 @@ sub sessioncgi ($$) { } else { $form->title(sprintf(gettext("confirm reversion of %s"), $rev)); - my $patch_contents = IkiWiki::rcs_showpatch(rev => $rev); + my $patch_contents = IkiWiki::rcs_diff($rev); $form->tmpl_param(patch_contents => encode_entities($patch_contents)); $form->field(name => "rev", type => "hidden", value => $rev, force => 1); IkiWiki::showform($form, $buttons, $session, $q); diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 1bd3b0f87..3eade34ee 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -1212,12 +1212,6 @@ It should try to revert the specified rev, which includes committing the reversion, and returns undef on _success_ and an error message on failure. -#### `rcs_showpatch(@)` - -This is passed a named parameter rev that is a RCS-specific -change ID. It should generate a diff-style patch showing the changes -made and return it. - ### PageSpec plugins It's also possible to write plugins that add new functions to diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 33fa79aad..7cb412f79 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -55,7 +55,6 @@ Peter Gammie has done an initial implementation of the above. > (The data from `rcs_preprevert` could also be used for a confirmation > prompt -- it doesn't currently include enough info for diffs, but at > least could have a list of changed files.) ->> I added `rcs_showpatch` which simply yields the output of `git show `. -- [[peteg]] > > Note that it's possible for a git repo to have commits that modify wiki > files in a subdir, and code files elsewhere. `rcs_preprevert` should @@ -71,9 +70,6 @@ Peter Gammie has done an initial implementation of the above. >>> (and fixed all the indention..). Issues I noticed but have not gotten >>> to: --[[Joey]] >>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] ->>> ->>> * `rcs_diff` already exists; why add `rcs_showpatch`? ->>>> If `rcs_diff` is intended for human consumption, by all means we can use that. -- [[peteg]] >>> * Would it be better for `rcs_revert` to not commit, and >>> `rcs_commit_staged` to then be used? This would work for git, but -- cgit v1.2.3 From c2694e663deb6f49aa511c1b5310fb4cd4187eb0 Mon Sep 17 00:00:00 2001 From: JoshTriplett Date: Wed, 6 Oct 2010 18:49:02 +0000 Subject: --- doc/todo/countdown_directive.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/todo/countdown_directive.mdwn (limited to 'doc/todo') diff --git a/doc/todo/countdown_directive.mdwn b/doc/todo/countdown_directive.mdwn new file mode 100644 index 000000000..5a540d927 --- /dev/null +++ b/doc/todo/countdown_directive.mdwn @@ -0,0 +1,3 @@ +I'd love to have a countdown directive, which would take a timestamp to count down to and generate a JavaScript timer in the page. + +Ideally I'd also like to either have parameters providing content to show before and after the time passes, or integration with existing conditional directives to do the same thing. -- cgit v1.2.3 From 017f06dd49fc59c1c0b8c13c7d17722297c97200 Mon Sep 17 00:00:00 2001 From: JoshTriplett Date: Wed, 6 Oct 2010 18:49:30 +0000 Subject: wishlist --- doc/todo/countdown_directive.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/countdown_directive.mdwn b/doc/todo/countdown_directive.mdwn index 5a540d927..61c36204c 100644 --- a/doc/todo/countdown_directive.mdwn +++ b/doc/todo/countdown_directive.mdwn @@ -1,3 +1,5 @@ I'd love to have a countdown directive, which would take a timestamp to count down to and generate a JavaScript timer in the page. Ideally I'd also like to either have parameters providing content to show before and after the time passes, or integration with existing conditional directives to do the same thing. + +[[!tag wishlist]] -- cgit v1.2.3 From 238e8b95a5b084e7131d3314b78419b9404cba4c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 6 Oct 2010 15:08:12 -0400 Subject: convert rcs_revert to only stage the reversion --- IkiWiki.pm | 4 ++-- IkiWiki/Plugin/git.pm | 13 ++++--------- IkiWiki/Plugin/recentchanges.pm | 13 +++++++++---- doc/plugins/write.mdwn | 10 ++++------ doc/todo/web_reversion.mdwn | 4 ---- 5 files changed, 19 insertions(+), 25 deletions(-) (limited to 'doc/todo') diff --git a/IkiWiki.pm b/IkiWiki.pm index 269647eb4..faf4af5c7 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1941,11 +1941,11 @@ sub rcs_receive () { $hooks{rcs}{rcs_receive}{call}->(); } -sub rcs_preprevert (@) { +sub rcs_preprevert ($) { $hooks{rcs}{rcs_preprevert}{call}->(@_); } -sub rcs_revert (@) { +sub rcs_revert ($) { $hooks{rcs}{rcs_revert}{call}->(@_); } diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm index 3ccaa446a..996ab6fba 100644 --- a/IkiWiki/Plugin/git.pm +++ b/IkiWiki/Plugin/git.pm @@ -846,19 +846,14 @@ sub rcs_preprevert (@) { [git_parse_changes(git_commit_info($rev, 1))]); } -sub rcs_revert (@) { - # Try to revert the given patch; returns undef on _success_. - my %params = @_; - my $rev = $params{rev}; +sub rcs_revert ($) { + # Try to revert the given rev; returns undef on _success_. + my $rev = $shift; if (run_or_non('git', 'revert', '--no-commit', $rev)) { - debug "Committing revert for patch '$rev'."; - rcs_commit_staged(message => - sprintf(gettext("This reverts commit %s"), $rev), @_); + return undef; } else { - # No idea what is actually getting reverted, so all we can - # do is say we failed. run_or_die('git', 'reset', '--hard'); return sprintf(gettext("Failed to revert commit %s"), $rev); } diff --git a/IkiWiki/Plugin/recentchanges.pm b/IkiWiki/Plugin/recentchanges.pm index 439241b93..44c981548 100644 --- a/IkiWiki/Plugin/recentchanges.pm +++ b/IkiWiki/Plugin/recentchanges.pm @@ -101,12 +101,17 @@ sub sessioncgi ($$) { if ($form->submitted eq 'Revert' && $form->validate) { IkiWiki::checksessionexpiry($q, $session, $q->param('sid')); IkiWiki::disable_commit_hook(); - my $r = IkiWiki::rcs_revert( - session => $session, - rev => $rev); + my $r = IkiWiki::rcs_revert($rev); + if (! defined $r) { # success + rcs_commit_staged( + message => sprintf(gettext("This reverts commit %s"), $rev), + session => $session, + rev => $rev, + ); + } IkiWiki::enable_commit_hook(); - if ($r) { + if (defined $r) { die "Revert '$rev' failed."; } else { diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 3eade34ee..dbbe83851 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -1201,16 +1201,14 @@ Like `rcs_receive`, it should do whatever sanity checks are appropriate for the RCS to limit changes to safe changes, and die if a change would be unsafe to revert. -#### `rcs_revert(@)` +#### `rcs_revert($)` This is called by the revert web interface. It is passed a named parameter rev that is the RCS-specific change ID to revert. -Addition named parameters: `message`, and `session` (optional). - -It should try to revert the specified rev, which includes committing -the reversion, and returns undef on _success_ and an error message -on failure. +It should try to revert the specified rev, and leave the reversion staged +so `rcs_commit_staged` will complete it. It should return undef on _success_ +and an error message on failure. ### PageSpec plugins diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 7cb412f79..784b72e05 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -71,10 +71,6 @@ Peter Gammie has done an initial implementation of the above. >>> to: --[[Joey]] >>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] ->>> * Would it be better for `rcs_revert` to not commit, and ->>> `rcs_commit_staged` to then be used? This would work for git, but ->>> maybe other RCSs would be problimatic. It would simplifiy the ->>> interface and allow for future mulitple-revert interfaces. >>> * I quite don't understand why one caller of `git_parse_changes` >>> needs it to chdir, and not the other one. It's running >>> in the same git repo either way, and git doesn't need -- cgit v1.2.3 From 734d352bebc66cf80458277b96ef06467c6f99ed Mon Sep 17 00:00:00 2001 From: "http://jmtd.livejournal.com/" Date: Wed, 6 Oct 2010 20:25:05 +0000 Subject: rationale --- doc/todo/use_templates_for_the_img_plugin.mdwn | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/todo/use_templates_for_the_img_plugin.mdwn (limited to 'doc/todo') diff --git a/doc/todo/use_templates_for_the_img_plugin.mdwn b/doc/todo/use_templates_for_the_img_plugin.mdwn new file mode 100644 index 000000000..c5a1028f4 --- /dev/null +++ b/doc/todo/use_templates_for_the_img_plugin.mdwn @@ -0,0 +1,5 @@ +The patches in http://github.com/jmtd/ikiwiki/tree/img_use_template convert the `img.pm` plugin to use a template (by default, `img.tmpl`, varied using a`template=` parameter) rather than hard-code the generated HTML. + +I originally thought of this to solve the problem outlined in [[bugs/can't mix template vars inside directives]], before I realised I could wrap the `img` call in my pages with a template to achieve the same thing. I therefore sat on it. + +However, I since thought of another use for this, and so started implementing it. -- cgit v1.2.3 From 78f784c91df385050ef61a0c76c906cacdb2d911 Mon Sep 17 00:00:00 2001 From: "http://jmtd.livejournal.com/" Date: Wed, 6 Oct 2010 20:27:08 +0000 Subject: gitbranch template --- doc/todo/use_templates_for_the_img_plugin.mdwn | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/use_templates_for_the_img_plugin.mdwn b/doc/todo/use_templates_for_the_img_plugin.mdwn index c5a1028f4..d6dce8c63 100644 --- a/doc/todo/use_templates_for_the_img_plugin.mdwn +++ b/doc/todo/use_templates_for_the_img_plugin.mdwn @@ -1,5 +1,9 @@ -The patches in http://github.com/jmtd/ikiwiki/tree/img_use_template convert the `img.pm` plugin to use a template (by default, `img.tmpl`, varied using a`template=` parameter) rather than hard-code the generated HTML. +[[!template id=gitbranch branch=jmtd/img_use_template author="[[Jon]]"]] + +Not finished! :-) + +The patches in convert the `img.pm` plugin to use a template (by default, `img.tmpl`, varied using a `template=` parameter) rather than hard-code the generated HTML. I originally thought of this to solve the problem outlined in [[bugs/can't mix template vars inside directives]], before I realised I could wrap the `img` call in my pages with a template to achieve the same thing. I therefore sat on it. -However, I since thought of another use for this, and so started implementing it. +However, I since thought of another use for this, and so started implementing it. (note to self: explain this other use) -- cgit v1.2.3 From c8214300ed6198d3a59cc1e3b3d74b0722c26b91 Mon Sep 17 00:00:00 2001 From: "http://jmtd.livejournal.com/" Date: Thu, 7 Oct 2010 12:37:02 +0000 Subject: other purpose --- doc/todo/use_templates_for_the_img_plugin.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/use_templates_for_the_img_plugin.mdwn b/doc/todo/use_templates_for_the_img_plugin.mdwn index d6dce8c63..1cee1b535 100644 --- a/doc/todo/use_templates_for_the_img_plugin.mdwn +++ b/doc/todo/use_templates_for_the_img_plugin.mdwn @@ -7,3 +7,23 @@ The patches in convert th I originally thought of this to solve the problem outlined in [[bugs/can't mix template vars inside directives]], before I realised I could wrap the `img` call in my pages with a template to achieve the same thing. I therefore sat on it. However, I since thought of another use for this, and so started implementing it. (note to self: explain this other use) + +---- + +Ok, I have managed to achieve what I wanted with stock ikiwiki, this branch might not have any more life left in it (but it has proven an interesting experiment to see how much logic could be moved from `img.pm` into a template relatively easily. Although the template is not terribly legible.) + +My ikiwiki page has a picture on the front page. I've changed that picture just once, but I would like to change it again from time to time. I also want to keep a "gallery", or at least a list, of previous pictures, and perhaps include text alongside each picture, but not on the front page. + +I've achieved this as follows + + * each index picture gets a page under "indexpics". + * the "indexpics" page has a raw inline to include them all[1] + * the front page has more-or-less the same inline, with show=1 + * each index picture page has a [[plugins/conditional]]: + * if you are being included, show the resized picture only, and link the picture to the relevant indexpic page + * else, show the picture with the default link to a full-size image, and include explanatory text. + * most of the boilerplate is hidden inside a template + +It is not quite as I envisaged it: the explanatory text would probably make sense on the indexpics "gallery" page, but since that includes the page, the wrong trouser-leg of the conditional is used. But it works quite well. Introducing a new index picture involves creating an appropriate page under indexpics and the rest happens automatically. + +[1] lie #1: the pagespec is a lot more complex as it has to exclude raw image filetypes -- cgit v1.2.3 From 7aba3bd74696dc5c3f51448db29bfba0c58d6529 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Fri, 8 Oct 2010 23:28:08 +0200 Subject: ping --- doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn index 6ca9962ba..fb33f195c 100644 --- a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn +++ b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn @@ -21,4 +21,6 @@ and decided this time it was really needed to implement this feature. --[[intrigeri]] +> Ping. --[[intrigeri]] + [[!tag patch]] -- cgit v1.2.3 From f5c270b11dbfb2589df21388a07f55002e076d3c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 8 Oct 2010 18:43:15 -0400 Subject: update --- doc/todo/web_reversion.mdwn | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 784b72e05..4335b3fbf 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -62,6 +62,8 @@ Peter Gammie has done an initial implementation of the above. >> Taken care of by refactoring `rcs_receive` in `git.pm` >> I've tested it lightly in my single-user setup. It's a little nasty that the `attachment` plugin >> gets used to check whether attachments are allowed -- there really should be a hook for that. +>>> I agree, but have not figured out a way to make a hook work yet. +>>> --[[Joey]] >> >> Please look it over and tell me what else needs fixing... -- [[peteg]] @@ -76,8 +78,3 @@ Peter Gammie has done an initial implementation of the above. >>> in the same git repo either way, and git doesn't need >>> `git show` to run in a subdir at all.. >>>> I was aping (preserving) what was already there. I don't understand what you say about `git show` - it must run under $srcdir, surely? And empirically the CGI process wasn't in the right place. By all means simplify that. -- [[peteg]] - ->>> * Probably needs to untaint the revs passed in. ->>> * Seems backwards for `rcs_preprevert` to import and ->>> use `IkiWiki::Receive`. ->>>> Indeed. This is saying that the checking code in IkiWiki::Receive is in the wrong place. I think it would be better to set up some general hooks and shuffle it into a plugin, for then other plugins that maintain special files in the repo can have a say about validity. -- [[peteg]] -- cgit v1.2.3 From e7d6dcfed618c57c775478c95b77a15097142e6e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 8 Oct 2010 18:46:30 -0400 Subject: remove todo item I understand the need to avoid chdir when running git_parse_changes for receive now. At that point, the changes have not been pushed to the srcdir's repo yet. When running the same code for preprevert, chdir to the srcdir is ok, and necessary. --- IkiWiki/Plugin/git.pm | 2 -- doc/todo/web_reversion.mdwn | 9 +-------- 2 files changed, 1 insertion(+), 10 deletions(-) (limited to 'doc/todo') diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm index 48e71aa9a..47e806209 100644 --- a/IkiWiki/Plugin/git.pm +++ b/IkiWiki/Plugin/git.pm @@ -794,8 +794,6 @@ sub git_parse_changes { die $@ if $@; my $fh; ($fh, $path)=File::Temp::tempfile("XXXXXXXXXX", UNLINK => 1); - # Ensure we run this in the right place, - # see comments in rcs_receive. my $cmd = ($no_chdir ? '' : "cd $config{srcdir} && ") . "git show $detail->{sha1_to} > '$path'"; if (system($cmd) != 0) { diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 4335b3fbf..212fd3a53 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -69,12 +69,5 @@ Peter Gammie has done an initial implementation of the above. >>> I have made my own revert branch and put a few fixes in there >>> [[!template id=gitbranch branch=origin/revert author="[[joey]]"]] ->>> (and fixed all the indention..). Issues I noticed but have not gotten ->>> to: --[[Joey]] +>>> (and fixed all the indention..). --[[Joey]] >>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] - ->>> * I quite don't understand why one caller of `git_parse_changes` ->>> needs it to chdir, and not the other one. It's running ->>> in the same git repo either way, and git doesn't need ->>> `git show` to run in a subdir at all.. ->>>> I was aping (preserving) what was already there. I don't understand what you say about `git show` - it must run under $srcdir, surely? And empirically the CGI process wasn't in the right place. By all means simplify that. -- [[peteg]] -- cgit v1.2.3 From 1820f07f04476e8be290aadeee140cd0a5a0dfed Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 8 Oct 2010 19:24:06 -0400 Subject: revert interface done --- debian/changelog | 5 +++++ doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn | 6 ++++++ doc/todo/web_reversion.mdwn | 2 ++ 3 files changed, 13 insertions(+) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index 1d12d0558..d1ee4967d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,11 @@ ikiwiki (3.20100927) UNRELEASED; urgency=low * htmltidy: Allow configuring tidy parameters in setup file. (W. Trevor King) * Updated French program translation. Closes: #598918 + * git: Added new rcs_revert and rcs_preprevert hooks. + * recentchanges: Add revert buttons to RecentChanges page, and + implement web-based reversion interface. + * Thanks to Peter Gammie for his assistance with the web-based reversion + feature. -- Joey Hess Wed, 29 Sep 2010 11:58:23 -0400 diff --git a/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn b/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn index 4998c1a75..d69b3801b 100644 --- a/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn +++ b/doc/forum/how_do_I_revert_edits_in_the_web_mode__63__.mdwn @@ -38,3 +38,9 @@ Puzzled a bit :-/ Perer Gammie and I are working on reversion over at [[todo/web_reversion]]. --[[Joey]] + +Update: Web reversion is now supported by ikiwiki. Only changes committed +to your wiki after you upgrade to the version of ikiwiki that supports it +will get revert buttons on the RecentChanges page. If you want to force +adding buttons for older changes, you can delete `recentchanges/*._change` +from your srcdir, and rebuild the wiki. --[[Joey]] diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 212fd3a53..9550fa58b 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -71,3 +71,5 @@ Peter Gammie has done an initial implementation of the above. >>> [[!template id=gitbranch branch=origin/revert author="[[joey]]"]] >>> (and fixed all the indention..). --[[Joey]] >>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] + +[[done]] -- cgit v1.2.3 From 59ea972fc91005699b14204c989c2d29997a3009 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 8 Oct 2010 19:32:09 -0400 Subject: cleanup --- doc/todo/web_reversion.mdwn | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn index 9550fa58b..736d674fe 100644 --- a/doc/todo/web_reversion.mdwn +++ b/doc/todo/web_reversion.mdwn @@ -67,9 +67,7 @@ Peter Gammie has done an initial implementation of the above. >> >> Please look it over and tell me what else needs fixing... -- [[peteg]] ->>> I have made my own revert branch and put a few fixes in there ->>> [[!template id=gitbranch branch=origin/revert author="[[joey]]"]] ->>> (and fixed all the indention..). --[[Joey]] ->>>> Please change the git pointer above, then. I will work on your branch. -- [[peteg]] +>>> I have made my own revert branch and put a few^Wseveral fixes in there. +>>> All merged to master now! --[[Joey]] [[done]] -- cgit v1.2.3 From bc8b61dae8faa0a654f3a5f2278cd1c66a2f44a3 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sat, 9 Oct 2010 12:48:47 +0000 Subject: pseudo-review --- ...irrorlist_with_per-mirror_usedirs_settings.mdwn | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn index fb33f195c..484f85cbb 100644 --- a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn +++ b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn @@ -24,3 +24,27 @@ and decided this time it was really needed to implement this feature. > Ping. --[[intrigeri]] [[!tag patch]] + +>> (I'm not an ikiwiki committer, opinions may vary.) +>> +>> This would be easier to review if there weren't a million merges from +>> master; perhaps either leave a branch as-is, or rebase it, or merge +>> only at "significant" times like after a release? +>> +>> I believe Joey's main objection to complex $config entries is that +>> it's not at all clear what [[plugins/websetup]] would do with them. +>> Would something like this make a reasonable alternative? +>> +>> $config{mirrorlist} = ["nousedirs|file:///home/intrigeri/wiki", +>> "usedirs|http://example.com/wiki", "http://example.net"]; +>> +>> From how I understand tainting, this: +>> +>> $untainted{$_} = possibly_foolish_untaint($tainted->{$_}) +>> +>> probably needs to untaint the key too: +>> +>> my $key = possibly_foolish_untaint($_); +>> $untainted{$key} = possibly_foolish_untaint($tainted->{key}); +>> +>> --[[smcv]] -- cgit v1.2.3 From a12dd235ea6afff3540da3f5e66e7abbadaa6944 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 27 Oct 2010 14:49:21 +0200 Subject: Fix some more links. DynDNS (which was resolving *.schwinge.homeip.net to my server at home) stopped supporting wildcard CNAMEs *.schwinge.homeip.net, so I now always have to use the canonical name (or pay for getting this back, or go looking for another service provider)... --- ..._no_text_was_copied_in_this_page_--_missing_page_dependencies.mdwn | 2 +- doc/bugs/cutpaste.pm:_missing_filter_call.mdwn | 4 ++-- doc/forum/cutpaste.pm_not_only_file-local.mdwn | 2 +- doc/plugins/contrib/texinfo.mdwn | 2 +- .../__42__forward__42__ing_functionality_for_the_meta_plugin.mdwn | 2 +- doc/todo/passwordauth:_sendmail_interface.mdwn | 2 +- doc/users/tschwinge.mdwn | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) (limited to 'doc/todo') diff --git a/doc/bugs/Error:_no_text_was_copied_in_this_page_--_missing_page_dependencies.mdwn b/doc/bugs/Error:_no_text_was_copied_in_this_page_--_missing_page_dependencies.mdwn index 6996a9fbf..0082eed4d 100644 --- a/doc/bugs/Error:_no_text_was_copied_in_this_page_--_missing_page_dependencies.mdwn +++ b/doc/bugs/Error:_no_text_was_copied_in_this_page_--_missing_page_dependencies.mdwn @@ -2,7 +2,7 @@ That one has bitten me for some time; here is the minimal testcase. There is also an equivalent (I suppose) problem when using another plugin, but I hope it's enough to track it down for this one. - $ tar -xj < [bug-dep_order.tar.bz2](http://www.thomas.schwinge.homeip.net/tmp/bug-dep_order.tar.bz2) + $ tar -xj < [bug-dep_order.tar.bz2](http://schwinge.homeip.net/~thomas/tmp/bug-dep_order.tar.bz2) $ cd bug-dep_order/ $ ./render_locally [...] diff --git a/doc/bugs/cutpaste.pm:_missing_filter_call.mdwn b/doc/bugs/cutpaste.pm:_missing_filter_call.mdwn index f7138cba0..4b22fd06c 100644 --- a/doc/bugs/cutpaste.pm:_missing_filter_call.mdwn +++ b/doc/bugs/cutpaste.pm:_missing_filter_call.mdwn @@ -1,7 +1,7 @@ Consider this: - $ wget http://www.thomas.schwinge.homeip.net/tmp/cutpaste_filter.tar.bz2 - $ wget http://www.thomas.schwinge.homeip.net/tmp/cutpaste_filter.patch + $ wget http://schwinge.homeip.net/~thomas/tmp/cutpaste_filter.tar.bz2 + $ wget http://schwinge.homeip.net/~thomas/tmp/cutpaste_filter.patch $ tar -xj < cutpaste_filter.tar.bz2 $ cd cutpaste_filter/ diff --git a/doc/forum/cutpaste.pm_not_only_file-local.mdwn b/doc/forum/cutpaste.pm_not_only_file-local.mdwn index 3563e3e01..0c5221cc9 100644 --- a/doc/forum/cutpaste.pm_not_only_file-local.mdwn +++ b/doc/forum/cutpaste.pm_not_only_file-local.mdwn @@ -3,7 +3,7 @@ has \[[!cut id=foo text="foo"]], and fileB does \[[!absorb pagenames=fileA]], and can then use \[[!paste id=foo]]. Therefore, I've written an [*absorb* directive / -plugin](http://www.thomas.schwinge.homeip.net/tmp/absorb.pm), which is meant to +plugin](http://schwinge.homeip.net/~thomas/tmp/absorb.pm), which is meant to absorb pages in order to get hold of their *cut* and *copy* directives' contents. This does work as expected. But it also absorbs page fileA's *meta* values, like a *meta title*, etc. How to avoid / solve this? diff --git a/doc/plugins/contrib/texinfo.mdwn b/doc/plugins/contrib/texinfo.mdwn index 595bd27aa..a2769166d 100644 --- a/doc/plugins/contrib/texinfo.mdwn +++ b/doc/plugins/contrib/texinfo.mdwn @@ -8,7 +8,7 @@ This plugin is not neccessarily meant to enable people to write arbitrary wiki pages in the Texinfo format (even though that is possible, of course), but rather to ease collaboration on existing Texinfo documents. -The plugin is available at . +The plugin is available at . It's very basic at the moment, but will be improved over time. diff --git a/doc/todo/__42__forward__42__ing_functionality_for_the_meta_plugin.mdwn b/doc/todo/__42__forward__42__ing_functionality_for_the_meta_plugin.mdwn index 61b19d302..b3804d652 100644 --- a/doc/todo/__42__forward__42__ing_functionality_for_the_meta_plugin.mdwn +++ b/doc/todo/__42__forward__42__ing_functionality_for_the_meta_plugin.mdwn @@ -4,7 +4,7 @@ to the [[`meta`_plugin|plugins/meta]]. > [[done]], with some changes --[[Joey]] Find the most recent version at -. +. I can't use `scrub(...)`, as that will strip out the forwarding HTML command. How to deal with that? diff --git a/doc/todo/passwordauth:_sendmail_interface.mdwn b/doc/todo/passwordauth:_sendmail_interface.mdwn index 29f28ca32..556240964 100644 --- a/doc/todo/passwordauth:_sendmail_interface.mdwn +++ b/doc/todo/passwordauth:_sendmail_interface.mdwn @@ -35,7 +35,7 @@ in the ikiwiki source code, where emailing is done. OK, so I'll have a look at replacing all email handling with *Email::Send*. [[!tag patch]] -** +** Remaining TODOs: diff --git a/doc/users/tschwinge.mdwn b/doc/users/tschwinge.mdwn index 944105349..435208a71 100644 --- a/doc/users/tschwinge.mdwn +++ b/doc/users/tschwinge.mdwn @@ -1,8 +1,8 @@ [[!meta title="Thomas Schwinge"]] # Thomas Schwinge - - + + I have converted the [GNU Hurd](http://www.gnu.org/software/hurd/)'s previous web pages and previous wiki pages to a *[[ikiwiki]]* system; and all that while -- cgit v1.2.3 From 85d262e4cab2bfa55194b445d7fd251fa5818bc6 Mon Sep 17 00:00:00 2001 From: "http://edrex.myopenid.com/" Date: Sat, 30 Oct 2010 21:24:17 +0000 Subject: --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'doc/todo') 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 index 92c3b7695..676e2bc00 100644 --- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn +++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn @@ -260,5 +260,6 @@ required to implement [[todo/alias directive]], which couldn't be easily done by writing to the RCS as the page's contents can change depending on which other pages claim it as an alias. --[[chrysn]] +I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- [[Eric|http://wiki.pdxhub.org/people/eric]] [[!tag done]] -- cgit v1.2.3 From 69a22a6f4b4dfc47a7ce39476758742036b70e63 Mon Sep 17 00:00:00 2001 From: dark Date: Mon, 1 Nov 2010 20:55:20 +0000 Subject: proposal plus patch --- doc/todo/selective_more_directive.mdwn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 doc/todo/selective_more_directive.mdwn (limited to 'doc/todo') diff --git a/doc/todo/selective_more_directive.mdwn b/doc/todo/selective_more_directive.mdwn new file mode 100644 index 000000000..24e6ab568 --- /dev/null +++ b/doc/todo/selective_more_directive.mdwn @@ -0,0 +1,26 @@ +I'm setting up a blog for NaNoWriMo and other story-writing, which means long posts every day. I want to have excerpts on the front page, which link to the full length story posts. I also want a dedicated page for each story which inlines the story in full and in chronological order. I can use the "more" directive to achieve this effect on the front page but then it spoils the story page. My solution was to add a pages= parameter to the more directive to make it more selective. + + --- /usr/share/perl5/IkiWiki/Plugin/more.pm 2010-10-09 00:09:24.000000000 +0000 + +++ .ikiwiki/IkiWiki/Plugin/more.pm 2010-11-01 20:24:59.000000000 +0000 + @@ -26,7 +26,10 @@ + + $params{linktext} = $linktext unless defined $params{linktext}; + + - if ($params{page} ne $params{destpage}) { + + if ($params{page} ne $params{destpage} && + + (! exists $params{pages} || + + pagespec_match($params{destpage}, $params{pages}, + + location => $params{page}))) { + return "\n". + htmllink($params{page}, $params{destpage}, $params{page}, + linktext => $params{linktext}, + +I can now call it as + + \[[!more pages="index" linktext="Chapter 1" text=""" + etc + """]] + +I'm not entirely happy with the design, since I would rather put this information in the inline directive instead of in every story post. Unfortunately I found no way to pass parameters from the inline directive to the inlined page. + +-- [[dark]] -- cgit v1.2.3 From 0e4e3f7cae25082fc90a93dee41b397b0ae9be09 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Mon, 8 Nov 2010 12:10:20 +0000 Subject: suggested in two places => useful? --- doc/todo/transient_in-memory_pages.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/todo/transient_in-memory_pages.mdwn (limited to 'doc/todo') diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn new file mode 100644 index 000000000..9808ffdfe --- /dev/null +++ b/doc/todo/transient_in-memory_pages.mdwn @@ -0,0 +1,20 @@ +On [[todo/auto-create_tag_pages_according_to_a_template]], [[chrysn]] +suggests: + +> Instead of creating a file that gets checked in into the RCS, the +> source files could be left out and the output files be written as +> long as there is no physical source file (think of a virtual underlay). +> Something similar would be required to implement alias directive, +> which couldn't be easily done by writing to the RCS as the page's +> contents can change depending on which other pages claim it as an alias. + +`add_autofile` could be adapted to do this, or a similar API could be +added. + +This would also be useful for autoindex, as suggested on +[[plugins/autoindex/discussion]]. I'd also like to use it for +[[plugins/contrib/album]]. + +One refinement I'd suggest is that if the transient page is edited, +its transient contents are evaluated and used as the initial +content for the edit box; after that, it'd become a static page. --[[smcv]] -- cgit v1.2.3 From db3fb406733b98535d426acedd58f1633df79ade Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Mon, 8 Nov 2010 12:11:32 +0000 Subject: --- doc/todo/autoindex_should_use_add__95__autofile.mdwn | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 doc/todo/autoindex_should_use_add__95__autofile.mdwn (limited to 'doc/todo') diff --git a/doc/todo/autoindex_should_use_add__95__autofile.mdwn b/doc/todo/autoindex_should_use_add__95__autofile.mdwn new file mode 100644 index 000000000..517567e58 --- /dev/null +++ b/doc/todo/autoindex_should_use_add__95__autofile.mdwn @@ -0,0 +1,2 @@ +`add_autofile` is a generic version of [[plugins/autoindex]]'s code, +so the latter should probably use the former. --[[smcv]] -- cgit v1.2.3 From 171c429f829aac53cb449e3bb574d2a1669e025e Mon Sep 17 00:00:00 2001 From: "http://kerravonsen.dreamwidth.org/" Date: Wed, 10 Nov 2010 00:53:10 +0000 Subject: make match_glob faster - patch! --- ...mproving_the_efficiency_of_match__95__glob.mdwn | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn new file mode 100644 index 000000000..8f70f1dde --- /dev/null +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn @@ -0,0 +1,39 @@ +I've been profiling my IkiWiki to try to improve speed (with many pages makes speed even more important) and I've written a patch to improve the speed of match_glob. This matcher is a good one to improve the speed of, because it gets called so many times. + +Here's my patch - please consider it! -- [[KathrynAndersen]] + +-------------------------------------------------------------- +
+diff --git a/IkiWiki.pm b/IkiWiki.pm
+index 08a3d78..c187b98 100644
+--- a/IkiWiki.pm
++++ b/IkiWiki.pm
+@@ -2482,6 +2482,8 @@ sub derel ($$) {
+ 	return $path;
+ }
+ 
++my %glob_cache;
++
+ sub match_glob ($$;@) {
+ 	my $page=shift;
+ 	my $glob=shift;
+@@ -2489,8 +2491,15 @@ sub match_glob ($$;@) {
+ 	
+ 	$glob=derel($glob, $params{location});
+ 
+-	my $regexp=IkiWiki::glob2re($glob);
+-	if ($page=~/^$regexp$/i) {
++	# Instead of converting the glob to a regex every time,
++	# cache the compiled regex to save time.
++	if (!exists $glob_cache{$glob}
++	    or !defined $glob_cache{$glob})
++	{
++	    my $re=IkiWiki::glob2re($glob);
++	    $glob_cache{$glob} = qr/^$re$/i;
++	}
++	if ($page =~ $glob_cache{$glob}) {
+ 		if (! IkiWiki::isinternal($page) || $params{internal}) {
+ 			return IkiWiki::SuccessReason->new("$glob matches $page");
+ 		}
+
+-------------------------------------------------------------- -- cgit v1.2.3 From e810fe394b49955971299329136d46548d95ec6b Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Wed, 10 Nov 2010 13:26:16 +0000 Subject: possible improvement --- doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn index 8f70f1dde..0a9d8c69c 100644 --- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn @@ -2,6 +2,10 @@ I've been profiling my IkiWiki to try to improve speed (with many pages makes sp Here's my patch - please consider it! -- [[KathrynAndersen]] +> It seems to me as though changing `glob2re` to return qr/$re/, and calling +> `memoize(glob2re)` next to the other memoize calls, would be a less +> verbose way to do this? --[[smcv]] + --------------------------------------------------------------
 diff --git a/IkiWiki.pm b/IkiWiki.pm
-- 
cgit v1.2.3


From 08a20a3deaca2cb1f68fba993411b51c19e4c362 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Wed, 10 Nov 2010 11:37:59 -0400
Subject: benchmarks

---
 doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index 0a9d8c69c..b63128702 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -6,6 +6,9 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 > `memoize(glob2re)` next to the other memoize calls, would be a less
 > verbose way to do this? --[[smcv]]
 
+>> I think so, yeah. Anyway, do you have any benchmark results handy,
+>> Kathryn?  --[[Joey]] 
+
 --------------------------------------------------------------
 
 diff --git a/IkiWiki.pm b/IkiWiki.pm
-- 
cgit v1.2.3


From f35f79a0b831e8b47f62c430c1bba538d4687521 Mon Sep 17 00:00:00 2001
From: "http://kerravonsen.dreamwidth.org/"
 
Date: Wed, 10 Nov 2010 21:08:45 +0000
Subject: response with benchmark

---
 ...mproving_the_efficiency_of_match__95__glob.mdwn | 41 ++++++++++++++++++++++
 1 file changed, 41 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index b63128702..ff9784dd1 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -9,6 +9,47 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 >> I think so, yeah. Anyway, do you have any benchmark results handy,
 >> Kathryn?  --[[Joey]] 
 
+>>> See below.
+>>> Also, would it make more sense for glob2re to return qr/^$re$/i rather than qr/$re/?  Everything that uses glob2re seems to use
+	$foo =~ /^$re$/i
+>>> rather than /$re/ so I think that would make sense.
+>>> -- [[KathrynAndersen]]
+
+--------------------------------------------------------------
+Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
+
+Before:
+
+time elapsed (wall):   27.4173
+time running program:  22.5909  (82.40%)
+time profiling (est.): 4.8264  (17.60%)
+number of calls:       1314729
+number of exceptions:  65
+
+%Time    Sec.     #calls   sec/call  F  name
+11.05    2.4969    62333   0.000040     IkiWiki::PageSpec::match_glob
+ 4.10    0.9261      679   0.001364     Text::Balanced::_match_tagged
+ 2.72    0.6139    59812   0.000010     IkiWiki::SuccessReason::merge_influences
+
+ +After: +
+time elapsed (wall):   26.1843
+time running program:  21.5673  (82.37%)
+time profiling (est.): 4.6170  (17.63%)
+number of calls:       1252433
+number of exceptions:  65
+
+%Time    Sec.     #calls   sec/call  F  name
+ 7.66    1.6521    62333   0.000027     IkiWiki::PageSpec::match_glob
+ 4.33    0.9336      679   0.001375     Text::Balanced::_match_tagged
+ 2.81    0.6057    59812   0.000010     IkiWiki::SuccessReason::merge_influences
+
+ +Note that the seconds per call for match_glob in the "after" case has gone down by about a third. + +K.A. + --------------------------------------------------------------
 diff --git a/IkiWiki.pm b/IkiWiki.pm
-- 
cgit v1.2.3


From ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa Mon Sep 17 00:00:00 2001
From: 
 "https://www.google.com/accounts/o8/id?id=AItOawmrVK0l7LGe93rzchPlVg7bukNgTsqTbn8"
 
Date: Fri, 12 Nov 2010 13:35:34 +0000
Subject:

---
 doc/todo/Add_nicer_math_formatting.mdwn | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Add_nicer_math_formatting.mdwn b/doc/todo/Add_nicer_math_formatting.mdwn
index 6e082c102..3a5e94a14 100644
--- a/doc/todo/Add_nicer_math_formatting.mdwn
+++ b/doc/todo/Add_nicer_math_formatting.mdwn
@@ -21,4 +21,6 @@ It would be nice to add nicer math formatting.  I currently use the
 > I've posted a question about this to its forum:  --[[Joey]] 
 >  
 
+I think [mathjax](http://www.mathjax.org/) would be the best option. This is the math rendering engine used in mathoverflow.
+
 [[!tag wishlist]]
-- 
cgit v1.2.3


From 98d0883c8949e6cde8db019bb282d5fa815ffc1a Mon Sep 17 00:00:00 2001
From: "http://smcv.pseudorandom.co.uk/" 
Date: Sun, 14 Nov 2010 16:50:31 +0000
Subject: branches imported into git; benchmark results

---
 ...mproving_the_efficiency_of_match__95__glob.mdwn | 71 ++++++++++++++++++++++
 1 file changed, 71 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index ff9784dd1..c4d3a8ecb 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -15,6 +15,11 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 >>> rather than /$re/ so I think that would make sense.
 >>> -- [[KathrynAndersen]]
 
+>>>> Git branch `smcv/ka-glob-cache` has Kathryn's patch. Git
+>>>> branch `smcv/memoize-glob2re` does as I suggested, which
+>>>> is less verbose than Kathryn's patch but also not as
+>>>> fast; I'm not sure why, tbh. --[[smcv]]
+
 --------------------------------------------------------------
 Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
 
@@ -51,6 +56,72 @@ Note that the seconds per call for match_glob in the "after" case has gone down
 K.A.
 
 --------------------------------------------------------------
+
+A second set of benchmarks, done by rebuilding the docwiki at commit f942c2db05e4
+like so:
+
+    perl -Iblib/lib -d:Profile ikiwiki.in -setup docwiki.setup --no-verbose
+
+The docwiki appears to use fewer glob matches than Kathryn's wiki.
+
+With master:
+
+    time elapsed (wall):   29.6970
+    time running program:  24.6930  (83.15%)
+    time profiling (est.): 5.0041  (16.85%)
+    number of calls:       1359180
+    number of exceptions:  13
+
+    %Time    Sec.     #calls   sec/call  F  name
+    13.62    3.3629     3406   0.000987     Text::Balanced::_match_tagged
+    10.84    2.6773    79442   0.000034     IkiWiki::PageSpec::match_glob
+     3.08    0.7598    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+     3.07    0.7593    29830   0.000025     IkiWiki::bestlink
+     2.99    0.7378    10231   0.000072     IkiWiki::PageSpec::match_link
+
+With my `smcv/memoize-glob2re` branch:
+
+    time elapsed (wall):   30.4931
+    time running program:  25.1248  (82.39%)
+    time profiling (est.): 5.3683  (17.61%)
+    number of calls:       1439943
+    number of exceptions:  13
+
+    %Time    Sec.     #calls   sec/call  F  name
+    13.19    3.3146     3406   0.000973     Text::Balanced::_match_tagged
+     8.41    2.1123    79442   0.000027     IkiWiki::PageSpec::match_glob
+     3.97    0.9979    86905   0.000011     Memoize::_memoizer
+     3.05    0.7654    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+     3.02    0.7576    29830   0.000025     IkiWiki::bestlink
+
+and in a repeated run:
+
+     8.40    2.0905    79442   0.000026     IkiWiki::PageSpec::match_glob
+
+With Kathryn's patch as seen in my `smcv/ka-glob-cache` branch:
+
+    time elapsed (wall):   27.7567
+    time running program:  22.9941  (82.84%)
+    time profiling (est.): 4.7627  (17.16%)
+    number of calls:       1279946
+    number of exceptions:  13
+
+    %Time    Sec.     #calls   sec/call  F  name
+    14.29    3.2867     3406   0.000965     Text::Balanced::_match_tagged
+     7.89    1.8136    79442   0.000023     IkiWiki::PageSpec::match_glob
+     3.30    0.7577    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+     3.24    0.7461    29830   0.000025     IkiWiki::bestlink
+     3.19    0.7332      143   0.005127  ?  IkiWiki::pagespec_match_list
+
+and in a repeated run:
+
+     7.84    1.8253    79442   0.000023     IkiWiki::PageSpec::match_glob
+
+--[[smcv]]
+
+--------------------------------------------------------------
+
+
 
 diff --git a/IkiWiki.pm b/IkiWiki.pm
 index 08a3d78..c187b98 100644
-- 
cgit v1.2.3


From 9d26a72468fad69d633875b4ffb4aff8abd80023 Mon Sep 17 00:00:00 2001
From: Simon McVittie 
Date: Sun, 14 Nov 2010 18:19:46 +0000
Subject: point to my 'transient' branch

---
 ...o-create_tag_pages_according_to_a_template.mdwn |  2 ++
 .../autoindex_should_use_add__95__autofile.mdwn    |  2 ++
 doc/todo/transient_in-memory_pages.mdwn            | 23 ++++++++++++++++++++++
 3 files changed, 27 insertions(+)

(limited to 'doc/todo')

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
index 676e2bc00..e065c4a3d 100644
--- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
+++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
@@ -262,4 +262,6 @@ other pages claim it as an alias. --[[chrysn]]
 
 I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- [[Eric|http://wiki.pdxhub.org/people/eric]]
 
+> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]]
+
 [[!tag done]]
diff --git a/doc/todo/autoindex_should_use_add__95__autofile.mdwn b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
index 517567e58..64f81c82e 100644
--- a/doc/todo/autoindex_should_use_add__95__autofile.mdwn
+++ b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
@@ -1,2 +1,4 @@
 `add_autofile` is a generic version of [[plugins/autoindex]]'s code,
 so the latter should probably use the former. --[[smcv]]
+
+> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]]
diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
index 9808ffdfe..5dbbe4f82 100644
--- a/doc/todo/transient_in-memory_pages.mdwn
+++ b/doc/todo/transient_in-memory_pages.mdwn
@@ -18,3 +18,26 @@ This would also be useful for autoindex, as suggested on
 One refinement I'd suggest is that if the transient page is edited,
 its transient contents are evaluated and used as the initial
 content for the edit box; after that, it'd become a static page. --[[smcv]]
+
+--------------------------
+
+[[!template id=gitbranch branch=smcv/transient author="[[smcv]]"]]
+[[!tag patch]]
+
+I had a look at implementing this. It turns out to be harder than I thought
+to have purely in-memory pages (several plugins want to be able to access the
+source file as a file), but I did get this proof-of-concept branch
+to write tag and autoindex pages into an underlay.
+
+This loses the ability to delete the auto-created pages (although they don't
+clutter up git this way, at least), and a lot of the code in autoindex is
+probably now redundant, so this is probably not quite ready for merge, but
+I'd welcome opinions.
+
+Usage: set `tag_underlay` and/or `autoindex_underlay` to an absolute path,
+which you must create beforehand. I suggest *srcdir* + `/.ikiwiki/transient`.
+
+Refinements that could be made if this approach seems reasonable:
+
+* make these options boolean, and have the path always be `.ikiwiki/transient`
+* improve the `remove` plugin so it also deletes from this special underlay
-- 
cgit v1.2.3


From 608cef54d63ba60efd24ae14012dda7ff8d014a9 Mon Sep 17 00:00:00 2001
From: "http://kerravonsen.dreamwidth.org/"
 
Date: Mon, 15 Nov 2010 02:01:21 +0000
Subject: theory about differences in speed of memoize and non-memoize patches

---
 doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index c4d3a8ecb..43571ead7 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -20,6 +20,8 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 >>>> is less verbose than Kathryn's patch but also not as
 >>>> fast; I'm not sure why, tbh. --[[smcv]]
 
+>>>>> I think it's because my patch focuses on match_glob while the memoize patch focuses on `glob2re`, and `glob2re` is called in `filecheck`, `meta` and `po` as well as in `match_glob` and `match_user`; thus the memoized `glob2re` is dealing with a bigger set of globs to look up, and thus could be just that little bit slower. -- [[KathrynAndersen]]
+
 --------------------------------------------------------------
 Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
 
-- 
cgit v1.2.3


From ffeee19216182d633d251852ab62fe79c1367796 Mon Sep 17 00:00:00 2001
From: "http://kerravonsen.dreamwidth.org/"
 
Date: Mon, 15 Nov 2010 05:43:56 +0000
Subject: make it more generic?

---
 doc/todo/transient_in-memory_pages.mdwn | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
index 5dbbe4f82..816e95c38 100644
--- a/doc/todo/transient_in-memory_pages.mdwn
+++ b/doc/todo/transient_in-memory_pages.mdwn
@@ -41,3 +41,8 @@ Refinements that could be made if this approach seems reasonable:
 
 * make these options boolean, and have the path always be `.ikiwiki/transient`
 * improve the `remove` plugin so it also deletes from this special underlay
+
+>> Perhaps it should be something more generic, so that other plugins could use it (such as "album" mentioned above).
+>> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that?
+>> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay.
+>> --[[KathrynAndersen]]
-- 
cgit v1.2.3


From 5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9 Mon Sep 17 00:00:00 2001
From: "http://smcv.pseudorandom.co.uk/" 
Date: Mon, 15 Nov 2010 11:14:21 +0000
Subject: more discussion

---
 doc/todo/transient_in-memory_pages.mdwn | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
index 816e95c38..edf056e4a 100644
--- a/doc/todo/transient_in-memory_pages.mdwn
+++ b/doc/todo/transient_in-memory_pages.mdwn
@@ -46,3 +46,21 @@ Refinements that could be made if this approach seems reasonable:
 >> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that?
 >> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay.
 >> --[[KathrynAndersen]]
+
+>>> What I had in mind was more like `tag_autocreate_transient => 1` or
+>>> `autoindex_transient => 1`; you might conceivably want tags to be
+>>> checked in but autoindices to be transient, and it's fine for each
+>>> plugin to make its own decision. Going from that to one boolean
+>>> (or just always-transient if people don't think that's too
+>>> astonishing) would be trivial, though.
+>>>
+>>> I don't think relocating the transient underlay really makes sense,
+>>> except for prototyping: you only want one, and `.ikiwiki` is as good
+>>> a place as any (ikiwiki already needs to be able to write there).
+>>>
+>>> For [[plugins/contrib/album]] I think I'd just make the photo viewer
+>>> pages always-transient - you can always make a transient page
+>>> permanent by editing it, after all.
+>>>
+>>> Do you think this approach has enough potential that I should
+>>> continue to hack on it? Any thoughts on the implementation? --[[smcv]]
-- 
cgit v1.2.3


From f6312319a49cc1860eebbafd937a0f75d8e7baeb Mon Sep 17 00:00:00 2001
From: "http://churchkey.org/author/ian/"
 
Date: Mon, 15 Nov 2010 15:50:37 +0000
Subject: added my reasons for wanting a replace-able template system

---
 doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
index c4e78ca0b..8650e4f2a 100644
--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
@@ -58,3 +58,6 @@ Yes, Template::Toolkit is very powerful. But I think it's somehow overkill for a
 I'd have to agree that Template::Toolkit is overkill and personally I'm not a fan, but it is very popular (there is even a book) and the new version (3) is alleged to be much more nimble than current version.  --[[ajt]]
 
 HTML::Template's HTML-like markup prevents me from editing templates in KompoZer or other WYSIWYG HTML editors.  The editor tries to render the template markup rather than display it verbatim, and large parts of the template become invisible.  A markup syntax that doesn't confuse editors (such as Template::Toolkit's "[% FOO %]") may promote template customization.  The ability to replace the template engine would be within the spirit of ikiwiki's extensibility. --Rocco
+
+
+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
-- 
cgit v1.2.3


From eb13521f5276cdd21a3f5990b1a1a17234e40174 Mon Sep 17 00:00:00 2001
From: "http://kerravonsen.dreamwidth.org/"
 
Date: Mon, 15 Nov 2010 23:00:48 +0000
Subject: modular, not replacement

---
 doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn | 2 ++
 1 file changed, 2 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
index 8650e4f2a..9725b6541 100644
--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
@@ -61,3 +61,5 @@ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer
 
 
 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
+
+> 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]]
-- 
cgit v1.2.3


From ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf Mon Sep 17 00:00:00 2001
From: "http://kerravonsen.dreamwidth.org/"
 
Date: Mon, 15 Nov 2010 23:23:08 +0000
Subject: further thoughts

---
 doc/todo/transient_in-memory_pages.mdwn | 8 ++++++++
 1 file changed, 8 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
index edf056e4a..9c1be7362 100644
--- a/doc/todo/transient_in-memory_pages.mdwn
+++ b/doc/todo/transient_in-memory_pages.mdwn
@@ -64,3 +64,11 @@ Refinements that could be made if this approach seems reasonable:
 >>>
 >>> Do you think this approach has enough potential that I should
 >>> continue to hack on it? Any thoughts on the implementation? --[[smcv]]
+
+>>>> Ah, now I understand what you're getting at. Yes, it makes sense to put transient pages under `.ikiwiki`.
+>>>> I haven't looked at the code, but I'd be interested in seeing whether it's generic enough to be used by other plugins (such as `album`) without too much fuss.
+>>>> The idea of a transient underlay gives us a desirable feature for free: that if someone edits the transient page, it is made permanent and added to the repository.
+>>>>
+>>>> I think the tricky thing with removing these transient underlay pages is the question of how to prevent whatever auto-generated the pages in the first place from generating them again - or, conversely, how to force whatever auto-generated those pages to regenerate them if you've changed your mind.
+>>>> I think you'd need something similar to `will_render` so that transient pages would be automatically removed if whatever auto-generated them is no longer around.
+>>>> -- [[KathrynAndersen]]
-- 
cgit v1.2.3


From 9a7387a53be2b1e182003f3e86cb76d7f10c4b67 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 16 Nov 2010 13:19:13 -0400
Subject: thoughts

---
 .../Improving_the_efficiency_of_match__95__glob.mdwn    | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index 43571ead7..0fc059ad7 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -22,6 +22,23 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 
 >>>>> I think it's because my patch focuses on match_glob while the memoize patch focuses on `glob2re`, and `glob2re` is called in `filecheck`, `meta` and `po` as well as in `match_glob` and `match_user`; thus the memoized `glob2re` is dealing with a bigger set of globs to look up, and thus could be just that little bit slower. -- [[KathrynAndersen]]
 
+>>>>>> What may be going on is that glob2re is already a fairly fast
+>>>>>> function, so the overhead of memoizing it with the very generic
+>>>>>> `_memoizer` (see its source) swamps the memoization gain. Note
+>>>>>> that the few functions memoized with the Memoizer before were much
+>>>>>> more expensive, so that little overhead was acceptable then.
+>>>>>>
+>>>>>> It also may be that Kathryn's patch is slightly faster due to using
+>>>>>> the construct `$foo =~ $regexp` rather than `$foo =~ /$regexp/`
+>>>>>> (probably avoids a copy or something like that internally) --
+>>>>>> this despite checking both `exists` and `defined` on the hash, which
+>>>>>> should be reundant AFAICS.
+>>>>>>
+>>>>>> My guess is that the best of both worlds would be to move
+>>>>>> the byhand memoization to glob2re and have it return a compiled
+>>>>>> `/^/i` regexp that can be used without further modifiction in most
+>>>>>> cases. --[[Joey]] 
+
 --------------------------------------------------------------
 Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
 
-- 
cgit v1.2.3


From 65e726f201d7b9919271cfe7e8a7314a6abf0fc3 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 16 Nov 2010 13:42:52 -0400
Subject: response

---
 ...place_HTML::Template_with_Template_Toolkit.mdwn | 24 +++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

(limited to 'doc/todo')

diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
index 9725b6541..d55fc0aa8 100644
--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
@@ -5,9 +5,14 @@ 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 `` tag, which is unnecessary.
 
+> Note that is no longer true, and I didn't have to do such an intrusive
+> change to fix it either. --[[Joey]]
+
 Maybe it's just me, I also find HTML::Template cumbersome to use, due in part
 to its use of capital letters.
 
+> Its entirely optional use of capital letters? --[[Joey]]
+
 Finally, the software seems unmaintained: the mailing list and searchable
 archives linked from
 
@@ -62,4 +67,21 @@ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer
 
 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
 
-> 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]]
+> 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]]a
+
+>> A modular template system in ikiwiki is unlikely, as template objects
+>> are part of the API,  notably the `pagetemplate` hook. Unless the other
+>> system has a compatible template object. --[[Joey]] 
-- 
cgit v1.2.3


From ec6c1269d251c78d2eef68cb789de6cfc6272464 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 16 Nov 2010 15:00:04 -0400
Subject: more: Add pages parameter to limit where the more is displayed.
 (thanks, dark)

---
 IkiWiki/Plugin/more.pm                 | 5 ++++-
 debian/changelog                       | 2 ++
 doc/ikiwiki/directive/more.mdwn        | 5 +++++
 doc/todo/selective_more_directive.mdwn | 2 ++
 4 files changed, 13 insertions(+), 1 deletion(-)

(limited to 'doc/todo')

diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm
index 80e339a1b..6880e366d 100644
--- a/IkiWiki/Plugin/more.pm
+++ b/IkiWiki/Plugin/more.pm
@@ -26,7 +26,10 @@ sub preprocess (@) {
 
 	$params{linktext} = $linktext unless defined $params{linktext};
 
-	if ($params{page} ne $params{destpage}) {
+	if ($params{page} ne $params{destpage} &&
+	    (! exists $params{pages} ||
+	     pagespec_match($params{destpage}, $params{pages},
+		     location => $params{page}))) {
 		return "\n".
 			htmllink($params{page}, $params{destpage}, $params{page},
 				linktext => $params{linktext},
diff --git a/debian/changelog b/debian/changelog
index 91ff0964b..faabf1993 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 ikiwiki (3.20101113) UNRELEASED; urgency=low
 
   * websetup: Fix encoding problem when restoring old setup file.
+  * more: Add pages parameter to limit where the more is displayed.
+    (thanks, dark)
 
  -- Joey Hess   Tue, 16 Nov 2010 14:23:47 -0400
 
diff --git a/doc/ikiwiki/directive/more.mdwn b/doc/ikiwiki/directive/more.mdwn
index 506551910..bda1427f3 100644
--- a/doc/ikiwiki/directive/more.mdwn
+++ b/doc/ikiwiki/directive/more.mdwn
@@ -11,6 +11,11 @@ leads to the full version of the page. Use it like this:
 
 If the `linktext` parameter is omitted it defaults to just "more".
 
+An optional `pages` parameter can be used to specify a
+[[ikiwiki/PageSpec]], and then the "more" link will only be displayed
+when the page is inlined into a page matching that PageSpec, and otherwise
+the full content shown.
+
 Note that you can accomplish something similar using a [[toggle]] instead.
 
 [[!meta robots="noindex, follow"]]
diff --git a/doc/todo/selective_more_directive.mdwn b/doc/todo/selective_more_directive.mdwn
index 24e6ab568..2a9998205 100644
--- a/doc/todo/selective_more_directive.mdwn
+++ b/doc/todo/selective_more_directive.mdwn
@@ -24,3 +24,5 @@ I can now call it as
 I'm not entirely happy with the design, since I would rather put this information in the inline directive instead of in every story post. Unfortunately I found no way to pass parameters from the inline directive to the inlined page.
 
 -- [[dark]]
+
+> Me neither, but nor do I see a better way, so [[applied|done]]. --[[Joey]] 
-- 
cgit v1.2.3


From d6ff694ff7a6a4700ccbbd5819907eac73cf065a Mon Sep 17 00:00:00 2001
From: Simon McVittie 
Date: Sat, 20 Nov 2010 00:22:56 +0000
Subject: branch ready for merge, I think

---
 ...mproving_the_efficiency_of_match__95__glob.mdwn | 156 ++++++++++++---------
 1 file changed, 93 insertions(+), 63 deletions(-)

(limited to 'doc/todo')

diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
index 0fc059ad7..de3cf48d3 100644
--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
@@ -1,3 +1,7 @@
+[[!template id=gitbranch branch=smcv/ready/glob-cache
+  author="[[KathrynAndersen]], [[smcv]]"]]
+[[!tag patch]]
+
 I've been profiling my IkiWiki to try to improve speed (with many pages makes speed even more important) and I've written a patch to improve the speed of match_glob.  This matcher is a good one to improve the speed of, because it gets called so many times.
 
 Here's my patch - please consider it! -- [[KathrynAndersen]]
@@ -39,7 +43,92 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
 >>>>>> `/^/i` regexp that can be used without further modifiction in most
 >>>>>> cases. --[[Joey]] 
 
+>>>>>>> Done, see `smcv/ready/glob-cache`.
+>>>>>>> Kathryn's patch is a significant improvement; my first patch on top of
+>>>>>>> that is a trivial cleanup that speeds it up a little, and the other two
+>>>>>>> patches (using precompiled regexes) have surprisingly little effect
+>>>>>>> (they don't slow it down either though, so either omit them or merge
+>>>>>>> them, whichever). Detailed benchmark results --[[smcv]]
+
 --------------------------------------------------------------
+
+[[!toggle id="smcv-benchmark" text="current benchmarks"]]
+
+[[!toggleable id="smcv-benchmark" text="""
+master at time of branch:
+
+    time elapsed (wall):   29.6348
+    time running program:  24.9212  (84.09%)
+    time profiling (est.): 4.7136  (15.91%)
+    number of calls:       1360181
+    number of exceptions:  13
+    
+    %Time    Sec.     #calls   sec/call  F  name
+    13.24    3.2986     3408   0.000968     Text::Balanced::_match_tagged
+    10.94    2.7253    79514   0.000034     IkiWiki::PageSpec::match_glob
+     3.19    0.7952    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+
+`Improve the speed of match_glob`:
+
+    time elapsed (wall):   27.9755
+    time running program:  23.5293  (84.11%)
+    time profiling (est.): 4.4461  (15.89%)
+    number of calls:       1280875
+    number of exceptions:  13
+    
+    %Time    Sec.     #calls   sec/call  F  name
+    14.56    3.4257     3408   0.001005     Text::Balanced::_match_tagged
+     7.82    1.8403    79514   0.000023     IkiWiki::PageSpec::match_glob
+     3.27    0.7698    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+
+`match_glob: streamline glob cache slightly`:
+
+    time elapsed (wall):   27.5753
+    time running program:  23.1714  (84.03%)
+    time profiling (est.): 4.4039  (15.97%)
+    number of calls:       1280875
+    number of exceptions:  13
+    
+    %Time    Sec.     #calls   sec/call  F  name
+    14.09    3.2637     3408   0.000958     Text::Balanced::_match_tagged
+     7.74    1.7926    79514   0.000023     IkiWiki::PageSpec::match_glob
+     3.30    0.7646    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+
+`glob2re: return a precompiled, anchored case-insensitiv...`:
+
+    time elapsed (wall):   27.5656
+    time running program:  23.1464  (83.97%)
+    time profiling (est.): 4.4192  (16.03%)
+    number of calls:       1282189
+    number of exceptions:  13
+    
+    %Time    Sec.     #calls   sec/call  F  name
+    14.21    3.2891     3408   0.000965     Text::Balanced::_match_tagged
+     7.72    1.7872    79514   0.000022     IkiWiki::PageSpec::match_glob
+     3.32    0.7678    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+
+`make use of precompiled regex objects`:
+
+    time elapsed (wall):   27.5357
+    time running program:  23.1289  (84.00%)
+    time profiling (est.): 4.4068  (16.00%)
+    number of calls:       1281981
+    number of exceptions:  13
+    
+    %Time    Sec.     #calls   sec/call  F  name
+    14.17    3.2776     3408   0.000962     Text::Balanced::_match_tagged
+     7.70    1.7814    79514   0.000022     IkiWiki::PageSpec::match_glob
+     3.35    0.7756    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
+
+"""]]
+
+--[[smcv]]
+
+--------------------------------------------------------------
+
+[[!toggle id="ka-benchmarks" text="Kathryn's benchmarks"]]
+
+[[!toggleable id="ka-benchmarks" text="""
 Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
 
 Before:
@@ -73,73 +162,13 @@ number of exceptions:  65
 Note that the seconds per call for match_glob in the "after" case has gone down by about a third.
 
 K.A.
+"""]]
 
 --------------------------------------------------------------
 
-A second set of benchmarks, done by rebuilding the docwiki at commit f942c2db05e4
-like so:
-
-    perl -Iblib/lib -d:Profile ikiwiki.in -setup docwiki.setup --no-verbose
-
-The docwiki appears to use fewer glob matches than Kathryn's wiki.
-
-With master:
-
-    time elapsed (wall):   29.6970
-    time running program:  24.6930  (83.15%)
-    time profiling (est.): 5.0041  (16.85%)
-    number of calls:       1359180
-    number of exceptions:  13
-
-    %Time    Sec.     #calls   sec/call  F  name
-    13.62    3.3629     3406   0.000987     Text::Balanced::_match_tagged
-    10.84    2.6773    79442   0.000034     IkiWiki::PageSpec::match_glob
-     3.08    0.7598    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
-     3.07    0.7593    29830   0.000025     IkiWiki::bestlink
-     2.99    0.7378    10231   0.000072     IkiWiki::PageSpec::match_link
-
-With my `smcv/memoize-glob2re` branch:
-
-    time elapsed (wall):   30.4931
-    time running program:  25.1248  (82.39%)
-    time profiling (est.): 5.3683  (17.61%)
-    number of calls:       1439943
-    number of exceptions:  13
-
-    %Time    Sec.     #calls   sec/call  F  name
-    13.19    3.3146     3406   0.000973     Text::Balanced::_match_tagged
-     8.41    2.1123    79442   0.000027     IkiWiki::PageSpec::match_glob
-     3.97    0.9979    86905   0.000011     Memoize::_memoizer
-     3.05    0.7654    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
-     3.02    0.7576    29830   0.000025     IkiWiki::bestlink
-
-and in a repeated run:
-
-     8.40    2.0905    79442   0.000026     IkiWiki::PageSpec::match_glob
-
-With Kathryn's patch as seen in my `smcv/ka-glob-cache` branch:
-
-    time elapsed (wall):   27.7567
-    time running program:  22.9941  (82.84%)
-    time profiling (est.): 4.7627  (17.16%)
-    number of calls:       1279946
-    number of exceptions:  13
-
-    %Time    Sec.     #calls   sec/call  F  name
-    14.29    3.2867     3406   0.000965     Text::Balanced::_match_tagged
-     7.89    1.8136    79442   0.000023     IkiWiki::PageSpec::match_glob
-     3.30    0.7577    59454   0.000013     :IkiWiki/Plugin/inline.pm:223
-     3.24    0.7461    29830   0.000025     IkiWiki::bestlink
-     3.19    0.7332      143   0.005127  ?  IkiWiki::pagespec_match_list
-
-and in a repeated run:
-
-     7.84    1.8253    79442   0.000023     IkiWiki::PageSpec::match_glob
-
---[[smcv]]
-
---------------------------------------------------------------
+[[!toggle id="ka-patch" text="Kathryn's original patch"]]
 
+[[!toggleable id="ka-patch" text="""
 
 
 diff --git a/IkiWiki.pm b/IkiWiki.pm
@@ -174,4 +203,5 @@ index 08a3d78..c187b98 100644
  			return IkiWiki::SuccessReason->new("$glob matches $page");
  		}
 
+"""]] -------------------------------------------------------------- -- cgit v1.2.3 From c9b737cc8596f9421ba968e56839eb052e80e794 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sat, 20 Nov 2010 00:36:29 +0000 Subject: one more patch: but expanding the memoization is actually a slowdown for the docwiki --- ...mproving_the_efficiency_of_match__95__glob.mdwn | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn index de3cf48d3..4fe14540f 100644 --- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn @@ -43,12 +43,19 @@ Here's my patch - please consider it! -- [[KathrynAndersen]] >>>>>> `/^/i` regexp that can be used without further modifiction in most >>>>>> cases. --[[Joey]] ->>>>>>> Done, see `smcv/ready/glob-cache`. +>>>>>>> Done, see `smcv/ready/glob-cache` and `smcv/glob-cache-too-far`. +>>>>>>> >>>>>>> Kathryn's patch is a significant improvement; my first patch on top of ->>>>>>> that is a trivial cleanup that speeds it up a little, and the other two +>>>>>>> that is a trivial cleanup that speeds it up a little, and the next two >>>>>>> patches (using precompiled regexes) have surprisingly little effect >>>>>>> (they don't slow it down either though, so either omit them or merge ->>>>>>> them, whichever). Detailed benchmark results --[[smcv]] +>>>>>>> them, whichever). Detailed benchmark results below. +>>>>>>> +>>>>>>> Moving the memoization to `glob2re` actually seems to slow things down +>>>>>>> again - I suspect the docwiki has few enough mentions of `user()` etc. +>>>>>>> that caching them is a waste of time, but perhaps it's not the most +>>>>>>> representative. +>>>>>>> --[[smcv]] -------------------------------------------------------------- @@ -120,9 +127,21 @@ master at time of branch: 7.70 1.7814 79514 0.000022 IkiWiki::PageSpec::match_glob 3.35 0.7756 59454 0.000013 :IkiWiki/Plugin/inline.pm:223 -"""]] +`move memoization from match_glob to glob2re`: + + time elapsed (wall): 28.7677 + time running program: 23.9473 (83.24%) + time profiling (est.): 4.8205 (16.76%) + number of calls: 1360181 + number of exceptions: 13 + + %Time Sec. #calls sec/call F name + 13.98 3.3469 3408 0.000982 Text::Balanced::_match_tagged + 8.85 2.1194 79514 0.000027 IkiWiki::PageSpec::match_glob + 3.24 0.7750 59454 0.000013 :IkiWiki/Plugin/inline.pm:223 --[[smcv]] +"""]] -------------------------------------------------------------- -- cgit v1.2.3 From f8f8770a652520b2f09eb2262510a04a8e353e9d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 20 Nov 2010 12:28:22 -0400 Subject: smcv/ready/glob-cache merged --- debian/changelog | 1 + doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn | 2 ++ 2 files changed, 3 insertions(+) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index 0edb78004..65c235317 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ ikiwiki (3.20101113) UNRELEASED; urgency=low and support all elements that HTML::Tagset knows about. (Which doesn't include html5 just yet, but then the old version didn't either.) Bonus: 4 times faster than old regexp method. + * Optimise glob() pagespec. (Thanks, Kathryn and smcv) -- Joey Hess Tue, 16 Nov 2010 14:23:47 -0400 diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn index 4fe14540f..4e1df3381 100644 --- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn +++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn @@ -57,6 +57,8 @@ Here's my patch - please consider it! -- [[KathrynAndersen]] >>>>>>> representative. >>>>>>> --[[smcv]] +[[done]] --[[Joey]] + -------------------------------------------------------------- [[!toggle id="smcv-benchmark" text="current benchmarks"]] -- cgit v1.2.3 From 178d6a16c2fff68edfbe6a1af5c8a9fa91db6039 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 22 Nov 2010 14:05:37 -0400 Subject: comments (finally) --- ...ing_http_or_https_in_urls_to_allow_serving_both.mdwn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 20d22b9ab..4fafc2bbc 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -181,6 +181,16 @@ New API added by this branch: * `urlto(x, y, 'local')` uses `$local_url` instead of `$config{url}` + > Yikes. I see why you wanted to keep it to 3 parameters (4 is too many, + > and po overrides it), but I dislike overloading the third parameter + > like that. + > + > There are fairly few calls to `urlto($foo, $bar)`, so why not + > make that always return the semi-local url form, and leave the third + > parameter for the cases that need a true fully-qualified url. + > The new form for local urls will typically be only a little bit longer, + > except in the unusual case where the cgiurl is elsewhere. --[[Joey]] + * `IkiWiki::baseurl` has a new second argument which works like the third argument of `urlto` @@ -199,9 +209,13 @@ Bugs: `cgiurl(cgiurl => $config{cgiurl}, ...)`, although that does look a bit strange + > I agree that makes sense. --[[Joey]] + * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being exported? Perhaps also `IkiWiki::baseurl`? + > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]] + * Or, to reduce use of the unexported `baseurl` function, it might make sense to give `urlto` a special case that references the root of the wiki, with a trailing slash ready to append stuff: perhaps `urlto('/')`, @@ -210,3 +224,6 @@ Bugs: do_something(baseurl => urlto('/', undef, local)`); do_something_else(urlto('/').'style.css'); IkiWiki::redirect(urlto('/', undef, 1)); + + > AFACIS, `baseurl` is only called in 3 places so I don't think that's + > needed. --[[Joey]] -- cgit v1.2.3 From d916cd2f71f1c22dad947d7b2134edbbb15e7b8e Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Mon, 22 Nov 2010 19:45:02 +0000 Subject: respond to feedback --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 39 +++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 4fafc2bbc..80925b458 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -191,14 +191,41 @@ New API added by this branch: > The new form for local urls will typically be only a little bit longer, > except in the unusual case where the cgiurl is elsewhere. --[[Joey]] + >> So, have urlto(x, y) use `$local_url`? There are few calls, but IMO + >> they're for the most important things - wikilinks, img, map and + >> other ordinary hyperlinks. Using `$local_url` would be fine for + >> webserver-based use, but it does stop you browsing your wiki's + >> HTML over `file:///` (unless you set that as the base URL, but + >> then you can't move it around), and stops you moving simple + >> outputs (like the docwiki!) around. + >> + >> I personally think breaking the docwiki is enough to block that. + >> + >> How about this? + >> + >> * `urlto($link, $page)` with `$page` defined: relative + >> * `urlto($link, undef)`: local, starts with `/` + >> * `urlto($link)`: also local, as a side-effect + >> * `urlto($link, $anything, 1)` (but idiomatically, `$anything` is + >> normally undef): absolute, starts with `http[s]://` + >> + >> --[[smcv]] + * `IkiWiki::baseurl` has a new second argument which works like the third argument of `urlto` + > I assume you have no objection to this --[[smcv]] + * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1` + > Possibly changed to making this always be local unless `cgiurl => $x` + > is given: see below --[[smcv]] + * `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters except `cgiurl` and/or `local_cgiurl` + > I assume you have no objection to this --[[smcv]] + Bugs: * I don't think anything except `openid` calls `cgiurl` without also @@ -211,10 +238,18 @@ Bugs: > I agree that makes sense. --[[Joey]] + >> I'm not completely sure whether you're agreeing with "perhaps do this" + >> or "that looks too strange", so please disambiguate: + >> would you accept a patch that makes `cgiurl` default to a local + >> (starts-with-`/`) result? If you would, that'd reduce the diff. --[[smcv]] + * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being exported? Perhaps also `IkiWiki::baseurl`? - > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]] + > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]] + + >> Not really part of this branch, though, so wontfix (unless you ask me + >> to do so). --[[smcv]] * Or, to reduce use of the unexported `baseurl` function, it might make sense to give `urlto` a special case that references the root of the wiki, @@ -227,3 +262,5 @@ Bugs: > AFACIS, `baseurl` is only called in 3 places so I don't think that's > needed. --[[Joey]] + + >> OK, wontfix. --[[smcv]] -- cgit v1.2.3 From 5954915a4fe8a889b8217cac99fae53cbe7f1e97 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 22 Nov 2010 16:04:11 -0400 Subject: response --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 80925b458..f8ec4c420 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -201,6 +201,10 @@ New API added by this branch: >> >> I personally think breaking the docwiki is enough to block that. >> + >>> Well, the docwiki doesn't have an url configured at all, so I assumed + >>> it would need to fall back to current behavior in that case. I had + >>> not thought about browsing wiki's html files though, good point. + >> >> How about this? >> >> * `urlto($link, $page)` with `$page` defined: relative @@ -210,12 +214,24 @@ New API added by this branch: >> normally undef): absolute, starts with `http[s]://` >> >> --[[smcv]] + >> + >>> That makes a great deal of sense, bravo for actually removing + >>> parameters in the common case while maintaining backwards + >>> compatability! + >>> + >>> It does highlight that it would be better to have a + >>> `absolute_urlto($link)` (or maybe `absolute(urlto($link))` ) + >>> rather than the 3 parameter form. --[[Joey]] * `IkiWiki::baseurl` has a new second argument which works like the third argument of `urlto` > I assume you have no objection to this --[[smcv]] + >> It's so little used that I don't really care if it's a bit ugly. + >> (But I assume changes to `urlto` will follow through here anyway.) + >> --[[Joey]] + * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1` > Possibly changed to making this always be local unless `cgiurl => $x` @@ -225,6 +241,8 @@ New API added by this branch: except `cgiurl` and/or `local_cgiurl` > I assume you have no objection to this --[[smcv]] + > + >> Nod, although I don't know of a use case. --[[Joey]] Bugs: @@ -243,6 +261,10 @@ Bugs: >> would you accept a patch that makes `cgiurl` default to a local >> (starts-with-`/`) result? If you would, that'd reduce the diff. --[[smcv]] + >>> Yes, I absolutely think it should default to local. (Note that + >>> if `absolute()` were implemented as suggested above, it could also + >>> be used with cgiurl if necessary.) --[[Joey]] + * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being exported? Perhaps also `IkiWiki::baseurl`? -- cgit v1.2.3 From 8935a131d02ac13b6024dff9cbf7a5f837fcdc04 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Tue, 23 Nov 2010 00:37:28 +0000 Subject: updated branch, not tested properly yet --- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 51 ++++++++++++++++++---- 1 file changed, 42 insertions(+), 9 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index f8ec4c420..8b0501041 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -147,7 +147,7 @@ you don't like my approach: ---- -[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]] +[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] [[!tag patch]] OK, here's an alternative approach, closer in spirit to what was initially @@ -165,14 +165,17 @@ whether `url` and `cgiurl` are on the same server with the the same URL scheme. In theory you could use things like `//static.example.com/wiki/` and `//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https while switching server, but I don't know how consistently browsers -suppot that. +support that. "local" here is short for "locally valid", because these URLs are neither fully relative nor fully absolute, and there doesn't seem to be a good name for them... -I've tested this on a demo website with the CGI enabled, and it seems to +I tested an earlier version on a demo website with the CGI enabled, and it seemed to work nicely (there might be bugs in some plugins, I didn't try all of them). +I haven't yet re-tested with my updated branch, which is why it's not `ready/` +yet. + The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable `httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log in via that, links all end up in the HTTPS version. @@ -217,11 +220,19 @@ New API added by this branch: >> >>> That makes a great deal of sense, bravo for actually removing >>> parameters in the common case while maintaining backwards - >>> compatability! + >>> compatability! --[[Joey]] + >>> + >>>> Done in my `localurl` branch; not tested in a whole-wiki way + >>>> yet, but I did add a regression test. I've used + >>>> `urlto(x, undef)` rather than `urlto(x)` so far, but I could + >>>> go back through the codebase using the short form if you'd + >>>> prefer. --[[smcv]] >>> >>> It does highlight that it would be better to have a >>> `absolute_urlto($link)` (or maybe `absolute(urlto($link))` ) >>> rather than the 3 parameter form. --[[Joey]] + >>> + >>> Possibly. I haven't added this. * `IkiWiki::baseurl` has a new second argument which works like the third argument of `urlto` @@ -232,19 +243,34 @@ New API added by this branch: >> (But I assume changes to `urlto` will follow through here anyway.) >> --[[Joey]] + >>> I had to use it a bit more, as a replacement for `$config{url}` + >>> when doing things like referencing stylesheets or redirecting to + >>> the top of the wiki. + >>> + >>> I ended up redoing this without the extra parameter. Previously, + >>> `baseurl(undef)` was the absolute URL; now, `baseurl(undef)` is + >>> the local path. I know you objected to me using `baseurl()` in + >>> an earlier branch, because `baseurl().$x` looks confusingly + >>> similar to `baseurl($x)` but has totally different semantics; + >>> I've generally written it `baseurl(undef)` now, to be more + >>> explicit. --[[smcv]] + * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1` - > Possibly changed to making this always be local unless `cgiurl => $x` - > is given: see below --[[smcv]] + > Now changed to always use the `$local_cgiurl`. --[[smcv]] * `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters except `cgiurl` and/or `local_cgiurl` > I assume you have no objection to this --[[smcv]] > - >> Nod, although I don't know of a use case. --[[Joey]] + >> Nod, although I don't know of a use case. --[[Joey]] + + >>> The use-case is that I can replace `$config{cgiurl}` with + >>> `IkiWiki::cgiurl()` for things like the action attribute of + >>> forms. --[[smcv]] -Bugs: +Fixed bugs: * I don't think anything except `openid` calls `cgiurl` without also passing in `local_cgiurl => 1`, so perhaps that should be the default; @@ -265,6 +291,10 @@ Bugs: >>> if `absolute()` were implemented as suggested above, it could also >>> be used with cgiurl if necessary.) --[[Joey]] + >>>> Done (minus `absolute()`). --[[smcv]] + +Potential future things: + * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being exported? Perhaps also `IkiWiki::baseurl`? @@ -285,4 +315,7 @@ Bugs: > AFACIS, `baseurl` is only called in 3 places so I don't think that's > needed. --[[Joey]] - >> OK, wontfix. --[[smcv]] + >> OK, wontfix. For what it's worth, my branch has 6 uses in IkiWiki + >> core code (IkiWiki, CGI, Render and the pseudo-core part of editpage) + >> and 5 in plugins, since I used it for things like redirection back + >> to the top of the wiki --[[smcv]] -- cgit v1.2.3 From 9180381728e252cf474eb8a4b0460755b5c28340 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Tue, 23 Nov 2010 23:50:29 +0000 Subject: tested and seems to work --- ...ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 8b0501041..264eb9688 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -147,7 +147,7 @@ you don't like my approach: ---- -[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]] +[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]] [[!tag patch]] OK, here's an alternative approach, closer in spirit to what was initially @@ -171,10 +171,10 @@ support that. fully relative nor fully absolute, and there doesn't seem to be a good name for them... -I tested an earlier version on a demo website with the CGI enabled, and it seemed to +I've tested this on a demo website with the CGI enabled, and it seemed to work nicely (there might be bugs in some plugins, I didn't try all of them). -I haven't yet re-tested with my updated branch, which is why it's not `ready/` -yet. +The branch at [[todo/use secure cookies for SSL logins]] goes well with +this one. The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable `httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log -- cgit v1.2.3 From 61218e338a7517b25fc82697c3a11fff1edb6803 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Tue, 23 Nov 2010 23:59:03 +0000 Subject: another branch --- doc/todo/use_secure_cookies_for_ssl_logins.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/todo/use_secure_cookies_for_ssl_logins.mdwn (limited to 'doc/todo') diff --git a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn new file mode 100644 index 000000000..a91a15b98 --- /dev/null +++ b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn @@ -0,0 +1,12 @@ +[[!template id=gitbranch branch=smcv/ready/sslcookie-auto author="[[smcv]]"]] +[[!tag patch]] + +At the moment `sslcookie => 0` never creates secure cookies, so if you log in +with SSL, your browser will send the session cookie even over plain HTTP. +Meanwhile `sslcookie => 1` always creates secure cookies, so you can't +usefully log in over plain http. + +This branch adds `sslcookie => 0, sslcookie_auto => 1` as an option; this +uses the `HTTPS` environment variable, so if you log in over SSL you'll +get a secure session cookie, but if you log in over HTTP, you won't. +(The syntax for the setup file is pretty rubbish - any other suggestions?) -- cgit v1.2.3 From 6e97574598534c4d81d2039bc044ceceaaf44fbd Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Sat, 27 Nov 2010 23:29:20 +0000 Subject: rename todo/transient_in-memory_pages.mdwn to todo/transient_pages.mdwn --- doc/todo/transient_in-memory_pages.mdwn | 74 --------------------------------- doc/todo/transient_pages.mdwn | 74 +++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 74 deletions(-) delete mode 100644 doc/todo/transient_in-memory_pages.mdwn create mode 100644 doc/todo/transient_pages.mdwn (limited to 'doc/todo') diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn deleted file mode 100644 index 9c1be7362..000000000 --- a/doc/todo/transient_in-memory_pages.mdwn +++ /dev/null @@ -1,74 +0,0 @@ -On [[todo/auto-create_tag_pages_according_to_a_template]], [[chrysn]] -suggests: - -> Instead of creating a file that gets checked in into the RCS, the -> source files could be left out and the output files be written as -> long as there is no physical source file (think of a virtual underlay). -> Something similar would be required to implement alias directive, -> which couldn't be easily done by writing to the RCS as the page's -> contents can change depending on which other pages claim it as an alias. - -`add_autofile` could be adapted to do this, or a similar API could be -added. - -This would also be useful for autoindex, as suggested on -[[plugins/autoindex/discussion]]. I'd also like to use it for -[[plugins/contrib/album]]. - -One refinement I'd suggest is that if the transient page is edited, -its transient contents are evaluated and used as the initial -content for the edit box; after that, it'd become a static page. --[[smcv]] - --------------------------- - -[[!template id=gitbranch branch=smcv/transient author="[[smcv]]"]] -[[!tag patch]] - -I had a look at implementing this. It turns out to be harder than I thought -to have purely in-memory pages (several plugins want to be able to access the -source file as a file), but I did get this proof-of-concept branch -to write tag and autoindex pages into an underlay. - -This loses the ability to delete the auto-created pages (although they don't -clutter up git this way, at least), and a lot of the code in autoindex is -probably now redundant, so this is probably not quite ready for merge, but -I'd welcome opinions. - -Usage: set `tag_underlay` and/or `autoindex_underlay` to an absolute path, -which you must create beforehand. I suggest *srcdir* + `/.ikiwiki/transient`. - -Refinements that could be made if this approach seems reasonable: - -* make these options boolean, and have the path always be `.ikiwiki/transient` -* improve the `remove` plugin so it also deletes from this special underlay - ->> Perhaps it should be something more generic, so that other plugins could use it (such as "album" mentioned above). ->> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that? ->> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay. ->> --[[KathrynAndersen]] - ->>> What I had in mind was more like `tag_autocreate_transient => 1` or ->>> `autoindex_transient => 1`; you might conceivably want tags to be ->>> checked in but autoindices to be transient, and it's fine for each ->>> plugin to make its own decision. Going from that to one boolean ->>> (or just always-transient if people don't think that's too ->>> astonishing) would be trivial, though. ->>> ->>> I don't think relocating the transient underlay really makes sense, ->>> except for prototyping: you only want one, and `.ikiwiki` is as good ->>> a place as any (ikiwiki already needs to be able to write there). ->>> ->>> For [[plugins/contrib/album]] I think I'd just make the photo viewer ->>> pages always-transient - you can always make a transient page ->>> permanent by editing it, after all. ->>> ->>> Do you think this approach has enough potential that I should ->>> continue to hack on it? Any thoughts on the implementation? --[[smcv]] - ->>>> Ah, now I understand what you're getting at. Yes, it makes sense to put transient pages under `.ikiwiki`. ->>>> I haven't looked at the code, but I'd be interested in seeing whether it's generic enough to be used by other plugins (such as `album`) without too much fuss. ->>>> The idea of a transient underlay gives us a desirable feature for free: that if someone edits the transient page, it is made permanent and added to the repository. ->>>> ->>>> I think the tricky thing with removing these transient underlay pages is the question of how to prevent whatever auto-generated the pages in the first place from generating them again - or, conversely, how to force whatever auto-generated those pages to regenerate them if you've changed your mind. ->>>> I think you'd need something similar to `will_render` so that transient pages would be automatically removed if whatever auto-generated them is no longer around. ->>>> -- [[KathrynAndersen]] diff --git a/doc/todo/transient_pages.mdwn b/doc/todo/transient_pages.mdwn new file mode 100644 index 000000000..9c1be7362 --- /dev/null +++ b/doc/todo/transient_pages.mdwn @@ -0,0 +1,74 @@ +On [[todo/auto-create_tag_pages_according_to_a_template]], [[chrysn]] +suggests: + +> Instead of creating a file that gets checked in into the RCS, the +> source files could be left out and the output files be written as +> long as there is no physical source file (think of a virtual underlay). +> Something similar would be required to implement alias directive, +> which couldn't be easily done by writing to the RCS as the page's +> contents can change depending on which other pages claim it as an alias. + +`add_autofile` could be adapted to do this, or a similar API could be +added. + +This would also be useful for autoindex, as suggested on +[[plugins/autoindex/discussion]]. I'd also like to use it for +[[plugins/contrib/album]]. + +One refinement I'd suggest is that if the transient page is edited, +its transient contents are evaluated and used as the initial +content for the edit box; after that, it'd become a static page. --[[smcv]] + +-------------------------- + +[[!template id=gitbranch branch=smcv/transient author="[[smcv]]"]] +[[!tag patch]] + +I had a look at implementing this. It turns out to be harder than I thought +to have purely in-memory pages (several plugins want to be able to access the +source file as a file), but I did get this proof-of-concept branch +to write tag and autoindex pages into an underlay. + +This loses the ability to delete the auto-created pages (although they don't +clutter up git this way, at least), and a lot of the code in autoindex is +probably now redundant, so this is probably not quite ready for merge, but +I'd welcome opinions. + +Usage: set `tag_underlay` and/or `autoindex_underlay` to an absolute path, +which you must create beforehand. I suggest *srcdir* + `/.ikiwiki/transient`. + +Refinements that could be made if this approach seems reasonable: + +* make these options boolean, and have the path always be `.ikiwiki/transient` +* improve the `remove` plugin so it also deletes from this special underlay + +>> Perhaps it should be something more generic, so that other plugins could use it (such as "album" mentioned above). +>> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that? +>> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay. +>> --[[KathrynAndersen]] + +>>> What I had in mind was more like `tag_autocreate_transient => 1` or +>>> `autoindex_transient => 1`; you might conceivably want tags to be +>>> checked in but autoindices to be transient, and it's fine for each +>>> plugin to make its own decision. Going from that to one boolean +>>> (or just always-transient if people don't think that's too +>>> astonishing) would be trivial, though. +>>> +>>> I don't think relocating the transient underlay really makes sense, +>>> except for prototyping: you only want one, and `.ikiwiki` is as good +>>> a place as any (ikiwiki already needs to be able to write there). +>>> +>>> For [[plugins/contrib/album]] I think I'd just make the photo viewer +>>> pages always-transient - you can always make a transient page +>>> permanent by editing it, after all. +>>> +>>> Do you think this approach has enough potential that I should +>>> continue to hack on it? Any thoughts on the implementation? --[[smcv]] + +>>>> Ah, now I understand what you're getting at. Yes, it makes sense to put transient pages under `.ikiwiki`. +>>>> I haven't looked at the code, but I'd be interested in seeing whether it's generic enough to be used by other plugins (such as `album`) without too much fuss. +>>>> The idea of a transient underlay gives us a desirable feature for free: that if someone edits the transient page, it is made permanent and added to the repository. +>>>> +>>>> I think the tricky thing with removing these transient underlay pages is the question of how to prevent whatever auto-generated the pages in the first place from generating them again - or, conversely, how to force whatever auto-generated those pages to regenerate them if you've changed your mind. +>>>> I think you'd need something similar to `will_render` so that transient pages would be automatically removed if whatever auto-generated them is no longer around. +>>>> -- [[KathrynAndersen]] -- cgit v1.2.3 From 3650d0265bc501219bc6d5cd4fa91a6b6ecd793a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 27 Nov 2010 23:29:23 +0000 Subject: --- ...3f04d48d53a3cd77215d6b086b416a1965e2feb._change | 56 +++++ ...8a20a3deaca2cb1f68fba993411b51c19e4c362._change | 62 ++++++ ...a7db85f06674311b80b490dfc238a1eaed040f8._change | 57 +++++ ...e4e3f7cae25082fc90a93dee41b397b0ae9be09._change | 74 +++++++ ...ea5f43790fe2ce3cc40e9513191e72c67a1ee51._change | 69 ++++++ ...71c429f829aac53cb449e3bb574d2a1669e025e._change | 93 ++++++++ ...72f41f6de288814fbd013f3465e658c562b10b1._change | 66 ++++++ ...739dbe0a8dc943c736d69f3747251ad72a53278._change | 62 ++++++ ...78d6a16c2fff68edfbe6a1af5c8a9fa91db6039._change | 90 ++++++++ ...968317cacc2f555af17286acf26a60ce616cc40._change | 67 ++++++ ...b770bea3fd5b5dfb4e75237218db204139d9189._change | 51 +++++ ...f32f5e6184b6354f671ae71578f1158c49168b6._change | 55 +++++ ...38259dfa199e217e34cc02462f55df6b2b1fcc5._change | 56 +++++ ...3e3e5f15e61639ccba4a7dfbab11d6fe4b9f047._change | 69 ++++++ ...63cfa7d1e938e3b41d1b6826427f0d613b2b97c._change | 64 ++++++ ...a452ddf146c4148155095e400f56b4674d76953._change | 64 ++++++ ...c17255b6641e33374a446ca281a0ad6d46af1dc._change | 63 ++++++ ...fdda536ec6bee1eff3b71c214753078cd588f8f._change | 58 +++++ ...13a28b8f68b76aee4b94413e4e9d47dca93a34e._change | 63 ++++++ ...08af2bb9e10d2ed899e17f9814a5514c0254dc8._change | 68 ++++++ ...15effbb43663ad756d78b3e957ac593d0227a74._change | 55 +++++ ...71ac78068532da53e4dad49d52c5ddccfcbff21._change | 58 +++++ ...7726461a4119741affa6536deec7dd1fe52ef0d._change | 73 +++++++ ...7b9f10e6254277918873a980af0cf0631326165._change | 60 ++++++ ...3e519931f3a6b7cea0af652d749344757d4e2bc._change | 112 ++++++++++ ...430d5dc3bc37df92eb01cd65382c0f2be78b8e7._change | 70 ++++++ ...954915a4fe8a889b8217cac99fae53cbe7f1e97._change | 108 ++++++++++ ...dbf25127fb776cc52a3a142b805a0c7f3cef242._change | 140 ++++++++++++ ...ecba3b05d66bb58dc48a9027838e8b0bcbc0db9._change | 74 +++++++ ...f750e16b8c32d2fd69209f433e7d19efa53a71f._change | 77 +++++++ ...08cef54d63ba60efd24ae14012dda7ff8d014a9._change | 61 ++++++ ...1218e338a7517b25fc82697c3a11fff1edb6803._change | 66 ++++++ ...15bf4fe15e7300bc033724bf86eecb6a2efef49._change | 65 ++++++ ...2fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14._change | 102 +++++++++ ...5873fee5e1dda78d6cf561cdd81a5dcd6d2735d._change | 63 ++++++ ...5e726f201d7b9919271cfe7e8a7314a6abf0fc3._change | 90 ++++++++ ...5ecc73755348f1ed13b77b2f4bdf9db4e465be4._change | 109 ++++++++++ ...63d2578832dd0808ea98a624b49cec4bf3c0243._change | 52 +++++ ...9a22a6f4b4dfc47a7ce39476758742036b70e63._change | 80 +++++++ ...8a2e59834d35da7a7ab8145beb7a30b59b95c90._change | 59 ++++++ ...4fff62948ad7c7aef664585e8afed86398e7fd4._change | 62 ++++++ ...5d262e4cab2bfa55194b445d7fd251fa5818bc6._change | 55 +++++ ...5ee24a9e53aec7d70bb4fb758428e59ea76e853._change | 56 +++++ ...7a42450e1ac8e2e01b7ed2785ed43040fd14ed3._change | 55 +++++ ...806a9795116e73ec851dfea89af45a786fbe6da._change | 58 +++++ ...935a131d02ac13b6024dff9cbf7a5f837fcdc04._change | 161 ++++++++++++++ ...de7fde49c295a6c9098767b9fdfea79de8476eb._change | 59 ++++++ ...180381728e252cf474eb8a4b0460755b5c28340._change | 75 +++++++ ...3e15cc84f47a1340f8bd06d7056ba423fe510bb._change | 60 ++++++ ...8d0883c8949e6cde8db019bb282d5fa815ffc1a._change | 137 ++++++++++++ ...9749dfdeac07b975cfba6eef617f3d7362eec73._change | 61 ++++++ ...a7387a53be2b1e182003f3e86cb76d7f10c4b67._change | 76 +++++++ ...b01c9779ef682af0874efc062d9fb2e91676c23._change | 66 ++++++ ...c42f5786601429a0b921d6591ebf5e4c1eb4da8._change | 70 ++++++ ...c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2._change | 58 +++++ ...d0ac3170a8f90d2139ef75698e8af21a6435fb4._change | 58 +++++ ...d26a72468fad69d633875b4ffb4aff8abd80023._change | 105 +++++++++ ...f8cfe998e5ced7e4b2e1dd819a025b0745935ff._change | 59 ++++++ ...194fbc5bced565fa751008b8ada666c411d097d._change | 60 ++++++ ...2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3._change | 62 ++++++ ...4cb86d73327e7850eeb524ef387b17ac5e1614d._change | 59 ++++++ ...6c3d71787c528888c3f66c7ded8dd0c8f430b7e._change | 57 +++++ ...b96249d5ad8f3ee9275be3fef9e3467b8f3ffdf._change | 64 ++++++ ...f0bfcc07820008f0387bfd1b35a594ed40a0246._change | 57 +++++ ...f75602391ac9651e7594c65588da86d591f2c01._change | 51 +++++ ...62581583107f6fc3e9bccf66a87a491c236757f._change | 51 +++++ ...02f9d224cb78a3ad880cb749ef4a11eadfad79a._change | 58 +++++ ...1f3129583ae4a1e3e9ace89ba11c8bf6c308be3._change | 60 ++++++ ...3624227620f5034fa84b3cb1294a61fc08eeea9._change | 55 +++++ ...8537b41320e1f38b2369f24431423dfb2f14b15._change | 61 ++++++ ...9b737cc8596f9421ba968e56839eb052e80e794._change | 98 +++++++++ ...a166361973e09b6756acbfe46b4a1bcfa4148d7._change | 53 +++++ ...b45d3cf44760411746414ba1218c925ad097149._change | 65 ++++++ ...bcd9077ad5fbef8c0622ea9c78a66c9baece804._change | 57 +++++ ...cd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3._change | 57 +++++ ...fc1b6ac486e11cb11d6c72602bf70b0a440b747._change | 59 ++++++ ...16104f55d8b31929d0466ca9abc3ccb4af0a8e8._change | 72 +++++++ ...5056fb61e8332fea658363e931ec28a35681ffe._change | 68 ++++++ ...6ff694ff7a6a4700ccbbd5819907eac73cf065a._change | 236 +++++++++++++++++++++ ...916cd2f71f1c22dad947d7b2134edbbb15e7b8e._change | 120 +++++++++++ ...a9e1ea667f82d5fca9168dbed19be08040570ff._change | 96 +++++++++ ...af89f59e61d9091fe27dd8738b40db5fa85a5e6._change | 59 ++++++ ...b3fb406733b98535d426acedd58f1633df79ade._change | 52 +++++ ...d9796375895752621cdcce103d1ad8d8a31d6cb._change | 69 ++++++ ...68f29eebb3917909b939869e57b985add724598._change | 61 ++++++ ...810fe394b49955971299329136d46548d95ec6b._change | 63 ++++++ ...aa04125d7080a9c882b629d1e0f6c7992ad462f._change | 58 +++++ ...b13521f5276cdd21a3f5990b1a1a17234e40174._change | 58 +++++ ...bcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa._change | 55 +++++ ...c6c1269d251c78d2eef68cb789de6cfc6272464._change | 106 +++++++++ ...fba19b3379b0b4e4199ece869c71f80be3a82d1._change | 66 ++++++ ...35f79a0b831e8b47f62c430c1bba538d4687521._change | 100 +++++++++ ...54a91c3021b304fdde183834542418720e4f792._change | 71 +++++++ ...6312319a49cc1860eebbafd937a0f75d8e7baeb._change | 59 ++++++ ...80469c34d8d81e79d4894f7a1789a949bc766c3._change | 54 +++++ ...8f8770a652520b2f09eb2262510a04a8e353e9d._change | 73 +++++++ ...a71b0e6aa08b0e3b274a0b939bf657f2576e482._change | 63 ++++++ ...feee19216182d633d251852ab62fe79c1367796._change | 61 ++++++ .../autoindex_should_use_add__95__autofile.mdwn | 2 +- 99 files changed, 7017 insertions(+), 1 deletion(-) create mode 100644 doc/recentchanges/change_03f04d48d53a3cd77215d6b086b416a1965e2feb._change create mode 100644 doc/recentchanges/change_08a20a3deaca2cb1f68fba993411b51c19e4c362._change create mode 100644 doc/recentchanges/change_0a7db85f06674311b80b490dfc238a1eaed040f8._change create mode 100644 doc/recentchanges/change_0e4e3f7cae25082fc90a93dee41b397b0ae9be09._change create mode 100644 doc/recentchanges/change_0ea5f43790fe2ce3cc40e9513191e72c67a1ee51._change create mode 100644 doc/recentchanges/change_171c429f829aac53cb449e3bb574d2a1669e025e._change create mode 100644 doc/recentchanges/change_172f41f6de288814fbd013f3465e658c562b10b1._change create mode 100644 doc/recentchanges/change_1739dbe0a8dc943c736d69f3747251ad72a53278._change create mode 100644 doc/recentchanges/change_178d6a16c2fff68edfbe6a1af5c8a9fa91db6039._change create mode 100644 doc/recentchanges/change_1968317cacc2f555af17286acf26a60ce616cc40._change create mode 100644 doc/recentchanges/change_1b770bea3fd5b5dfb4e75237218db204139d9189._change create mode 100644 doc/recentchanges/change_1f32f5e6184b6354f671ae71578f1158c49168b6._change create mode 100644 doc/recentchanges/change_238259dfa199e217e34cc02462f55df6b2b1fcc5._change create mode 100644 doc/recentchanges/change_23e3e5f15e61639ccba4a7dfbab11d6fe4b9f047._change create mode 100644 doc/recentchanges/change_263cfa7d1e938e3b41d1b6826427f0d613b2b97c._change create mode 100644 doc/recentchanges/change_2a452ddf146c4148155095e400f56b4674d76953._change create mode 100644 doc/recentchanges/change_2c17255b6641e33374a446ca281a0ad6d46af1dc._change create mode 100644 doc/recentchanges/change_2fdda536ec6bee1eff3b71c214753078cd588f8f._change create mode 100644 doc/recentchanges/change_313a28b8f68b76aee4b94413e4e9d47dca93a34e._change create mode 100644 doc/recentchanges/change_408af2bb9e10d2ed899e17f9814a5514c0254dc8._change create mode 100644 doc/recentchanges/change_415effbb43663ad756d78b3e957ac593d0227a74._change create mode 100644 doc/recentchanges/change_471ac78068532da53e4dad49d52c5ddccfcbff21._change create mode 100644 doc/recentchanges/change_47726461a4119741affa6536deec7dd1fe52ef0d._change create mode 100644 doc/recentchanges/change_47b9f10e6254277918873a980af0cf0631326165._change create mode 100644 doc/recentchanges/change_53e519931f3a6b7cea0af652d749344757d4e2bc._change create mode 100644 doc/recentchanges/change_5430d5dc3bc37df92eb01cd65382c0f2be78b8e7._change create mode 100644 doc/recentchanges/change_5954915a4fe8a889b8217cac99fae53cbe7f1e97._change create mode 100644 doc/recentchanges/change_5dbf25127fb776cc52a3a142b805a0c7f3cef242._change create mode 100644 doc/recentchanges/change_5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9._change create mode 100644 doc/recentchanges/change_5f750e16b8c32d2fd69209f433e7d19efa53a71f._change create mode 100644 doc/recentchanges/change_608cef54d63ba60efd24ae14012dda7ff8d014a9._change create mode 100644 doc/recentchanges/change_61218e338a7517b25fc82697c3a11fff1edb6803._change create mode 100644 doc/recentchanges/change_615bf4fe15e7300bc033724bf86eecb6a2efef49._change create mode 100644 doc/recentchanges/change_62fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14._change create mode 100644 doc/recentchanges/change_65873fee5e1dda78d6cf561cdd81a5dcd6d2735d._change create mode 100644 doc/recentchanges/change_65e726f201d7b9919271cfe7e8a7314a6abf0fc3._change create mode 100644 doc/recentchanges/change_65ecc73755348f1ed13b77b2f4bdf9db4e465be4._change create mode 100644 doc/recentchanges/change_663d2578832dd0808ea98a624b49cec4bf3c0243._change create mode 100644 doc/recentchanges/change_69a22a6f4b4dfc47a7ce39476758742036b70e63._change create mode 100644 doc/recentchanges/change_78a2e59834d35da7a7ab8145beb7a30b59b95c90._change create mode 100644 doc/recentchanges/change_84fff62948ad7c7aef664585e8afed86398e7fd4._change create mode 100644 doc/recentchanges/change_85d262e4cab2bfa55194b445d7fd251fa5818bc6._change create mode 100644 doc/recentchanges/change_85ee24a9e53aec7d70bb4fb758428e59ea76e853._change create mode 100644 doc/recentchanges/change_87a42450e1ac8e2e01b7ed2785ed43040fd14ed3._change create mode 100644 doc/recentchanges/change_8806a9795116e73ec851dfea89af45a786fbe6da._change create mode 100644 doc/recentchanges/change_8935a131d02ac13b6024dff9cbf7a5f837fcdc04._change create mode 100644 doc/recentchanges/change_8de7fde49c295a6c9098767b9fdfea79de8476eb._change create mode 100644 doc/recentchanges/change_9180381728e252cf474eb8a4b0460755b5c28340._change create mode 100644 doc/recentchanges/change_93e15cc84f47a1340f8bd06d7056ba423fe510bb._change create mode 100644 doc/recentchanges/change_98d0883c8949e6cde8db019bb282d5fa815ffc1a._change create mode 100644 doc/recentchanges/change_99749dfdeac07b975cfba6eef617f3d7362eec73._change create mode 100644 doc/recentchanges/change_9a7387a53be2b1e182003f3e86cb76d7f10c4b67._change create mode 100644 doc/recentchanges/change_9b01c9779ef682af0874efc062d9fb2e91676c23._change create mode 100644 doc/recentchanges/change_9c42f5786601429a0b921d6591ebf5e4c1eb4da8._change create mode 100644 doc/recentchanges/change_9c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2._change create mode 100644 doc/recentchanges/change_9d0ac3170a8f90d2139ef75698e8af21a6435fb4._change create mode 100644 doc/recentchanges/change_9d26a72468fad69d633875b4ffb4aff8abd80023._change create mode 100644 doc/recentchanges/change_9f8cfe998e5ced7e4b2e1dd819a025b0745935ff._change create mode 100644 doc/recentchanges/change_a194fbc5bced565fa751008b8ada666c411d097d._change create mode 100644 doc/recentchanges/change_a2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3._change create mode 100644 doc/recentchanges/change_a4cb86d73327e7850eeb524ef387b17ac5e1614d._change create mode 100644 doc/recentchanges/change_a6c3d71787c528888c3f66c7ded8dd0c8f430b7e._change create mode 100644 doc/recentchanges/change_ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf._change create mode 100644 doc/recentchanges/change_af0bfcc07820008f0387bfd1b35a594ed40a0246._change create mode 100644 doc/recentchanges/change_af75602391ac9651e7594c65588da86d591f2c01._change create mode 100644 doc/recentchanges/change_b62581583107f6fc3e9bccf66a87a491c236757f._change create mode 100644 doc/recentchanges/change_c02f9d224cb78a3ad880cb749ef4a11eadfad79a._change create mode 100644 doc/recentchanges/change_c1f3129583ae4a1e3e9ace89ba11c8bf6c308be3._change create mode 100644 doc/recentchanges/change_c3624227620f5034fa84b3cb1294a61fc08eeea9._change create mode 100644 doc/recentchanges/change_c8537b41320e1f38b2369f24431423dfb2f14b15._change create mode 100644 doc/recentchanges/change_c9b737cc8596f9421ba968e56839eb052e80e794._change create mode 100644 doc/recentchanges/change_ca166361973e09b6756acbfe46b4a1bcfa4148d7._change create mode 100644 doc/recentchanges/change_cb45d3cf44760411746414ba1218c925ad097149._change create mode 100644 doc/recentchanges/change_cbcd9077ad5fbef8c0622ea9c78a66c9baece804._change create mode 100644 doc/recentchanges/change_ccd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3._change create mode 100644 doc/recentchanges/change_cfc1b6ac486e11cb11d6c72602bf70b0a440b747._change create mode 100644 doc/recentchanges/change_d16104f55d8b31929d0466ca9abc3ccb4af0a8e8._change create mode 100644 doc/recentchanges/change_d5056fb61e8332fea658363e931ec28a35681ffe._change create mode 100644 doc/recentchanges/change_d6ff694ff7a6a4700ccbbd5819907eac73cf065a._change create mode 100644 doc/recentchanges/change_d916cd2f71f1c22dad947d7b2134edbbb15e7b8e._change create mode 100644 doc/recentchanges/change_da9e1ea667f82d5fca9168dbed19be08040570ff._change create mode 100644 doc/recentchanges/change_daf89f59e61d9091fe27dd8738b40db5fa85a5e6._change create mode 100644 doc/recentchanges/change_db3fb406733b98535d426acedd58f1633df79ade._change create mode 100644 doc/recentchanges/change_dd9796375895752621cdcce103d1ad8d8a31d6cb._change create mode 100644 doc/recentchanges/change_e68f29eebb3917909b939869e57b985add724598._change create mode 100644 doc/recentchanges/change_e810fe394b49955971299329136d46548d95ec6b._change create mode 100644 doc/recentchanges/change_eaa04125d7080a9c882b629d1e0f6c7992ad462f._change create mode 100644 doc/recentchanges/change_eb13521f5276cdd21a3f5990b1a1a17234e40174._change create mode 100644 doc/recentchanges/change_ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa._change create mode 100644 doc/recentchanges/change_ec6c1269d251c78d2eef68cb789de6cfc6272464._change create mode 100644 doc/recentchanges/change_efba19b3379b0b4e4199ece869c71f80be3a82d1._change create mode 100644 doc/recentchanges/change_f35f79a0b831e8b47f62c430c1bba538d4687521._change create mode 100644 doc/recentchanges/change_f54a91c3021b304fdde183834542418720e4f792._change create mode 100644 doc/recentchanges/change_f6312319a49cc1860eebbafd937a0f75d8e7baeb._change create mode 100644 doc/recentchanges/change_f80469c34d8d81e79d4894f7a1789a949bc766c3._change create mode 100644 doc/recentchanges/change_f8f8770a652520b2f09eb2262510a04a8e353e9d._change create mode 100644 doc/recentchanges/change_fa71b0e6aa08b0e3b274a0b939bf657f2576e482._change create mode 100644 doc/recentchanges/change_ffeee19216182d633d251852ab62fe79c1367796._change (limited to 'doc/todo') diff --git a/doc/recentchanges/change_03f04d48d53a3cd77215d6b086b416a1965e2feb._change b/doc/recentchanges/change_03f04d48d53a3cd77215d6b086b416a1965e2feb._change new file mode 100644 index 000000000..703d0dced --- /dev/null +++ b/doc/recentchanges/change_03f04d48d53a3cd77215d6b086b416a1965e2feb._change @@ -0,0 +1,56 @@ +[[!meta author="""http://pmate.myopenid.com/"""]] + +[[!meta authorurl="""http://pmate.myopenid.com/"""]] + +[[!meta title="""change to ikiwikiusers on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-03f04d48d53a3cd77215d6b086b416a1965e2feb"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
+index d8e55ba..699eeda 100644
+--- a/doc/ikiwikiusers.mdwn
++++ b/doc/ikiwikiusers.mdwn
+@@ -161,6 +161,7 @@ Personal sites and blogs
+ * [Marco Silva](http://marcot.eti.br/) a weblog + wiki using the [darcs](http://darcs.net) backend
+ * [NeX-6](http://nex-6.taht.net/) ikiwiki blog and wiki running over ipv6
+ * [Jason Riedy](http://lovesgoodfood.com/jason/), which may occasionally look funny if I'm playing with my branch...
++* [pmate](http://pmate.nfshost.com)'s homepage and [blog](http://pmate.nfshost.com/blog/)
+ 
+ Please feel free to add your own ikiwiki site!
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_08a20a3deaca2cb1f68fba993411b51c19e4c362._change b/doc/recentchanges/change_08a20a3deaca2cb1f68fba993411b51c19e4c362._change new file mode 100644 index 000000000..e55c80e85 --- /dev/null +++ b/doc/recentchanges/change_08a20a3deaca2cb1f68fba993411b51c19e4c362._change @@ -0,0 +1,62 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-08a20a3deaca2cb1f68fba993411b51c19e4c362"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +benchmarks
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index 0a9d8c6..b631287 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -6,6 +6,9 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ > `memoize(glob2re)` next to the other memoize calls, would be a less
+ > verbose way to do this? --[[smcv]]
+ 
++>> I think so, yeah. Anyway, do you have any benchmark results handy,
++>> Kathryn?  --[[Joey]] 
++
+ --------------------------------------------------------------
+ <pre>
+ diff --git a/IkiWiki.pm b/IkiWiki.pm
+
+
+
+ + diff --git a/doc/recentchanges/change_0a7db85f06674311b80b490dfc238a1eaed040f8._change b/doc/recentchanges/change_0a7db85f06674311b80b490dfc238a1eaed040f8._change new file mode 100644 index 000000000..5140dc1ad --- /dev/null +++ b/doc/recentchanges/change_0a7db85f06674311b80b490dfc238a1eaed040f8._change @@ -0,0 +1,57 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmMInRJfXlDaAMktsWQKahl1C7X4cGrUtE"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmMInRJfXlDaAMktsWQKahl1C7X4cGrUtE"""]] + +[[!meta title="""change to index on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-0a7db85f06674311b80b490dfc238a1eaed040f8"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/index.mdwn b/doc/index.mdwn
+index 06acc9c..90713d1 100644
+--- a/doc/index.mdwn
++++ b/doc/index.mdwn
+@@ -17,7 +17,7 @@ All wikis are supposed to have a [[SandBox]], so this one does too.
+ This site generally runs the latest release of ikiwiki; currently, it runs
+ ikiwiki [[!version ]].
+ 
+-## developer resources
++## developer resources sas
+ 
+ The [[RoadMap]] describes where the project is going.
+ The [[forum]] is open for discussions.
+
+
+
+ + diff --git a/doc/recentchanges/change_0e4e3f7cae25082fc90a93dee41b397b0ae9be09._change b/doc/recentchanges/change_0e4e3f7cae25082fc90a93dee41b397b0ae9be09._change new file mode 100644 index 000000000..63830fd4c --- /dev/null +++ b/doc/recentchanges/change_0e4e3f7cae25082fc90a93dee41b397b0ae9be09._change @@ -0,0 +1,74 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/transient_in-memory_pages on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-0e4e3f7cae25082fc90a93dee41b397b0ae9be09"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +suggested in two places => useful?
+ + +
+ +
+
+diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
+new file mode 100644
+index 0000000..9808ffd
+--- /dev/null
++++ b/doc/todo/transient_in-memory_pages.mdwn
+@@ -0,0 +1,20 @@
++On [[todo/auto-create_tag_pages_according_to_a_template]], [[chrysn]]
++suggests:
++
++> Instead of creating a file that gets checked in into the RCS, the
++> source files could be left out and the output files be written as
++> long as there is no physical source file (think of a virtual underlay).
++> Something similar would be required to implement alias directive,
++> which couldn't be easily done by writing to the RCS as the page's
++> contents can change depending on which other pages claim it as an alias.
++
++`add_autofile` could be adapted to do this, or a similar API could be
++added.
++
++This would also be useful for autoindex, as suggested on
++[[plugins/autoindex/discussion]]. I'd also like to use it for
++[[plugins/contrib/album]].
++
++One refinement I'd suggest is that if the transient page is edited,
++its transient contents are evaluated and used as the initial
++content for the edit box; after that, it'd become a static page. --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_0ea5f43790fe2ce3cc40e9513191e72c67a1ee51._change b/doc/recentchanges/change_0ea5f43790fe2ce3cc40e9513191e72c67a1ee51._change new file mode 100644 index 000000000..99f032a4c --- /dev/null +++ b/doc/recentchanges/change_0ea5f43790fe2ce3cc40e9513191e72c67a1ee51._change @@ -0,0 +1,69 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to security on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-0ea5f43790fe2ce3cc40e9513191e72c67a1ee51"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +security issue
+ + +
+ +
+
+diff --git a/doc/security.mdwn b/doc/security.mdwn
+index 34a0052..33b1992 100644
+--- a/doc/security.mdwn
++++ b/doc/security.mdwn
+@@ -440,3 +440,16 @@ with the release of ikiwiki 3.20100312.
+ A fix was also backported to Debian etch, as version 2.53.5. I recommend
+ upgrading to one of these versions if your wiki can be edited by third
+ parties.
++
++## javascript insertation via insufficient htmlscrubbing of comments
++
++Kevin Riggle noticed that it was not possible to configure
++`htmlscrubber_skip` to scrub comments while leaving unscubbed the text
++of eg, blog posts. Confusingly, setting it to "* and !comment(*)" did not
++scrub comments.
++
++Additionally, it was discovered that comments' html was never scrubbed during
++preview or moderation of comments.
++
++These problems were discovered on 12 November 2010 and fixed the same
++hour with the release of ikiwiki 3.20101112.
+
+
+
+ + diff --git a/doc/recentchanges/change_171c429f829aac53cb449e3bb574d2a1669e025e._change b/doc/recentchanges/change_171c429f829aac53cb449e3bb574d2a1669e025e._change new file mode 100644 index 000000000..0ff2e8207 --- /dev/null +++ b/doc/recentchanges/change_171c429f829aac53cb449e3bb574d2a1669e025e._change @@ -0,0 +1,93 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-171c429f829aac53cb449e3bb574d2a1669e025e"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +make match_glob faster - patch!
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+new file mode 100644
+index 0000000..8f70f1d
+--- /dev/null
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -0,0 +1,39 @@
++I've been profiling my IkiWiki to try to improve speed (with many pages makes speed even more important) and I've written a patch to improve the speed of match_glob.  This matcher is a good one to improve the speed of, because it gets called so many times.
++
++Here's my patch - please consider it! -- [[KathrynAndersen]]
++
++--------------------------------------------------------------
++<pre>
++diff --git a/IkiWiki.pm b/IkiWiki.pm
++index 08a3d78..c187b98 100644
++--- a/IkiWiki.pm
+++++ b/IkiWiki.pm
++@@ -2482,6 +2482,8 @@ sub derel ($$) {
++ 	return $path;
++ }
++ 
+++my %glob_cache;
+++
++ sub match_glob ($$;@) {
++ 	my $page=shift;
++ 	my $glob=shift;
++@@ -2489,8 +2491,15 @@ sub match_glob ($$;@) {
++ 	
++ 	$glob=derel($glob, $params{location});
++ 
++-	my $regexp=IkiWiki::glob2re($glob);
++-	if ($page=~/^$regexp$/i) {
+++	# Instead of converting the glob to a regex every time,
+++	# cache the compiled regex to save time.
+++	if (!exists $glob_cache{$glob}
+++	    or !defined $glob_cache{$glob})
+++	{
+++	    my $re=IkiWiki::glob2re($glob);
+++	    $glob_cache{$glob} = qr/^$re$/i;
+++	}
+++	if ($page =~ $glob_cache{$glob}) {
++ 		if (! IkiWiki::isinternal($page) || $params{internal}) {
++ 			return IkiWiki::SuccessReason->new("$glob matches $page");
++ 		}
++</pre>
++--------------------------------------------------------------
+
+
+
+ + diff --git a/doc/recentchanges/change_172f41f6de288814fbd013f3465e658c562b10b1._change b/doc/recentchanges/change_172f41f6de288814fbd013f3465e658c562b10b1._change new file mode 100644 index 000000000..3c15ef1e3 --- /dev/null +++ b/doc/recentchanges/change_172f41f6de288814fbd013f3465e658c562b10b1._change @@ -0,0 +1,66 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-172f41f6de288814fbd013f3465e658c562b10b1"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +removed
+ + +
+ +
+
+diff --git a/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment b/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment
+deleted file mode 100644
+index 6e29f0c..0000000
+--- a/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment
++++ /dev/null
+@@ -1,12 +0,0 @@
+-[[!comment format=mdwn
+- username="http://smcv.pseudorandom.co.uk/"
+- nickname="smcv"
+- subject="expression anchored too closely?"
+- date="2010-11-23T10:43:08Z"
+- content="""
+-It looks as though you might only be excluding a top-level Makefile, and not a Makefile in subdirectories. Try excluding `(^|/)Makefile$` instead, for instance? (See `wiki_file_prune_regexps` in `IkiWiki.pm` for hints.)
+-
+-The match operation in `&file_pruned` ends up a bit like this:
+-
+-    \"foo/Makefile\" =~ m{…||…|(^|/)Makefile$}
+-"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_1739dbe0a8dc943c736d69f3747251ad72a53278._change b/doc/recentchanges/change_1739dbe0a8dc943c736d69f3747251ad72a53278._change new file mode 100644 index 000000000..eda883858 --- /dev/null +++ b/doc/recentchanges/change_1739dbe0a8dc943c736d69f3747251ad72a53278._change @@ -0,0 +1,62 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to tips/nearlyfreespeech on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-1739dbe0a8dc943c736d69f3747251ad72a53278"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +úpdate
+ + +
+ +
+
+diff --git a/doc/tips/nearlyfreespeech.mdwn b/doc/tips/nearlyfreespeech.mdwn
+index 4b3b02e..a3d1ec6 100644
+--- a/doc/tips/nearlyfreespeech.mdwn
++++ b/doc/tips/nearlyfreespeech.mdwn
+@@ -14,7 +14,8 @@ After you [get an account](https://www.nearlyfreespeech.net/about/start.php),
+ create a site using their web interface. 
+ 
+ Mine is named `ikiwiki-test` and I used their DNS instead of getting my
+-own, resulting in <http://ikiwiki-test.nfshost.com/>
++own, resulting in <http://ikiwiki-test.nfshost.com/>. (Not being kept up
++anymore.)
+ 
+ They gave me 2 cents free funding for signing up, which is enough to pay
+ for 10 megabytes of bandwidth, or about a thousand typical page views, at
+
+
+
+ + diff --git a/doc/recentchanges/change_178d6a16c2fff68edfbe6a1af5c8a9fa91db6039._change b/doc/recentchanges/change_178d6a16c2fff68edfbe6a1af5c8a9fa91db6039._change new file mode 100644 index 000000000..0e44d6398 --- /dev/null +++ b/doc/recentchanges/change_178d6a16c2fff68edfbe6a1af5c8a9fa91db6039._change @@ -0,0 +1,90 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-178d6a16c2fff68edfbe6a1af5c8a9fa91db6039"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +comments (finally)
+ + +
+ +
+
+diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+index 20d22b9..4fafc2b 100644
+--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
++++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+@@ -181,6 +181,16 @@ New API added by this branch:
+ 
+ * `urlto(x, y, 'local')` uses `$local_url` instead of `$config{url}`
+ 
++  > Yikes. I see why you wanted to keep it to 3 parameters (4 is too many,
++  > and po overrides it), but I dislike overloading the third parameter
++  > like that.
++  > 
++  > There are fairly few calls to `urlto($foo, $bar)`, so why not
++  > make that always return the semi-local url form, and leave the third
++  > parameter for the cases that need a true fully-qualified url.
++  > The new form for local urls will typically be only a little bit longer,
++  > except in the unusual case where the cgiurl is elsewhere. --[[Joey]]
++
+ * `IkiWiki::baseurl` has a new second argument which works like the
+   third argument of `urlto`
+ 
+@@ -199,9 +209,13 @@ Bugs:
+   `cgiurl(cgiurl => $config{cgiurl}, ...)`,
+   although that does look a bit strange
+ 
++  > I agree that makes sense. --[[Joey]]
++
+ * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being
+   exported? Perhaps also `IkiWiki::baseurl`?
+ 
++  > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]] 
++
+ * Or, to reduce use of the unexported `baseurl` function, it might make
+   sense to give `urlto` a special case that references the root of the wiki,
+   with a trailing slash ready to append stuff: perhaps `urlto('/')`,
+@@ -210,3 +224,6 @@ Bugs:
+         do_something(baseurl => urlto('/', undef, local)`);
+         do_something_else(urlto('/').'style.css');
+         IkiWiki::redirect(urlto('/', undef, 1));
++
++  > AFACIS, `baseurl` is only called in 3 places so I don't think that's
++  > needed. --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_1968317cacc2f555af17286acf26a60ce616cc40._change b/doc/recentchanges/change_1968317cacc2f555af17286acf26a60ce616cc40._change new file mode 100644 index 000000000..cb4c2167a --- /dev/null +++ b/doc/recentchanges/change_1968317cacc2f555af17286acf26a60ce616cc40._change @@ -0,0 +1,67 @@ +[[!meta author="""http://churchkey.org/author/ian/"""]] + +[[!meta authorurl="""http://churchkey.org/author/ian/"""]] + +[[!meta title="""change to bugs/inline_action_buttons_circumvent_exclude_criteria_from_edittemplate__39__s_match__61____34____34___pagespec on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-1968317cacc2f555af17286acf26a60ce616cc40"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +added edittemplate bug for ikiwiki verison: 3.20100815.2
+ + +
+ +
+
+diff --git a/doc/bugs/inline_action_buttons_circumvent_exclude_criteria_from_edittemplate__39__s_match__61____34____34___pagespec.mdwn b/doc/bugs/inline_action_buttons_circumvent_exclude_criteria_from_edittemplate__39__s_match__61____34____34___pagespec.mdwn
+new file mode 100644
+index 0000000..45481bf
+--- /dev/null
++++ b/doc/bugs/inline_action_buttons_circumvent_exclude_criteria_from_edittemplate__39__s_match__61____34____34___pagespec.mdwn
+@@ -0,0 +1,13 @@
++ikiwiki verison: 3.20100815.2
++
++If I instruct editemplate to only match the top level pages in a directory using 
++
++    match="foo/* and !foo/*/* and !foo/*/*/*"
++
++everything works as expected for pages created via links on other wiki pages. So, if I open foo/bar (or any other page on the wiki) and create a link to foo/bar/bug, edittemplate appropriately does not insert any text into the new page. 
++
++However, if I use an inline directive like the following 
++
++    !inline pages="page(foo/bar/*)" rootpage="foo/bar" postform=yes actions=yes
++
++every page created via the action buttons incorrectly pulls in the text from the edittemplate registration. Changing the order of the conditions in the match="" pagespec has no impact. 
+
+
+
+ + diff --git a/doc/recentchanges/change_1b770bea3fd5b5dfb4e75237218db204139d9189._change b/doc/recentchanges/change_1b770bea3fd5b5dfb4e75237218db204139d9189._change new file mode 100644 index 000000000..f05151ec1 --- /dev/null +++ b/doc/recentchanges/change_1b770bea3fd5b5dfb4e75237218db204139d9189._change @@ -0,0 +1,51 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-1b770bea3fd5b5dfb4e75237218db204139d9189"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+new file mode 100644
+index 0000000..ad89f4c
+--- /dev/null
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -0,0 +1 @@
++It looks like there is no way to logout of ikiwiki at present, meaning that if you edit the ikiwiki in, say, a cybercafe, the cookie remains... is there some other security mechanism in place that can check for authorization, or should I hack in a logout routine into ikiwiki.cgi?
+
+
+
+ + diff --git a/doc/recentchanges/change_1f32f5e6184b6354f671ae71578f1158c49168b6._change b/doc/recentchanges/change_1f32f5e6184b6354f671ae71578f1158c49168b6._change new file mode 100644 index 000000000..e75b5bc23 --- /dev/null +++ b/doc/recentchanges/change_1f32f5e6184b6354f671ae71578f1158c49168b6._change @@ -0,0 +1,55 @@ +[[!meta author="""harishcm"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fharishcm&do=goto"""]] + +[[!meta title="""change to users/harishcm on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-1f32f5e6184b6354f671ae71578f1158c49168b6"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Put link to personal website
+ + +
+ +
+
+diff --git a/doc/users/harishcm.mdwn b/doc/users/harishcm.mdwn
+index 1647110..292a3bf 100644
+--- a/doc/users/harishcm.mdwn
++++ b/doc/users/harishcm.mdwn
+@@ -1 +1 @@
+-Using ikiwiki for my yet to be published personal website :)
++Using ikiwiki for my personal website <http://harish.19thsc.com>
+
+
+
+ + diff --git a/doc/recentchanges/change_238259dfa199e217e34cc02462f55df6b2b1fcc5._change b/doc/recentchanges/change_238259dfa199e217e34cc02462f55df6b2b1fcc5._change new file mode 100644 index 000000000..bd0ea25df --- /dev/null +++ b/doc/recentchanges/change_238259dfa199e217e34cc02462f55df6b2b1fcc5._change @@ -0,0 +1,56 @@ +[[!meta author="""http://dtaht.myopenid.com/"""]] + +[[!meta authorurl="""http://dtaht.myopenid.com/"""]] + +[[!meta title="""change to ikiwikiusers on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-238259dfa199e217e34cc02462f55df6b2b1fcc5"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
+index 2836d96..54fa1d5 100644
+--- a/doc/ikiwikiusers.mdwn
++++ b/doc/ikiwikiusers.mdwn
+@@ -159,6 +159,7 @@ Personal sites and blogs
+ * [weakish](http://weakish.github.com)
+ * [Thomas Kane](http://planetkane.org/)
+ * [Marco Silva](http://marcot.eti.br/) a weblog + wiki using the [darcs](http://darcs.net) backend
++* [NeX-6](http://nex-6.taht.net/) ikiwiki blog and wiki running over ipv6
+ 
+ Please feel free to add your own ikiwiki site!
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_23e3e5f15e61639ccba4a7dfbab11d6fe4b9f047._change b/doc/recentchanges/change_23e3e5f15e61639ccba4a7dfbab11d6fe4b9f047._change new file mode 100644 index 000000000..8ad9336d8 --- /dev/null +++ b/doc/recentchanges/change_23e3e5f15e61639ccba4a7dfbab11d6fe4b9f047._change @@ -0,0 +1,69 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmwYptyV5ptNt8LCbMYsmpcNkk9_DRt-EY"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmwYptyV5ptNt8LCbMYsmpcNkk9_DRt-EY"""]] + +[[!meta title="""change to forum/Blog_posting_times_and_ikiwiki_state on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-23e3e5f15e61639ccba4a7dfbab11d6fe4b9f047"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn b/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn
+new file mode 100644
+index 0000000..3e6c232
+--- /dev/null
++++ b/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn
+@@ -0,0 +1,19 @@
++What I wanted
++-------------
++
++I thought to myself it would be nice to see from the console the dates that my ikiwiki blog posts were published.  Especially as I would like to know the order of my todo list without having to view the webpage.
++
++What I discovered
++-----------------
++
++Looked at the code and saw the functions for grabbing the ctime from git but couldn't reconcile them to the "Posted" date in the RSS feed.  Some more reading and I figured out that the Posted time is taken from the UNIX ctime when first uploaded into the repository and this information is stored in the page state via a Perl storable database - indexdb. (I'm sure most know this but to be clear in UNIX ctime is *not* the actual creation time of a file. UNIX has no facility for recording the actual creation time - however on first upload to the wiki it's good enough).
++
++Wrote a Perl script to query and sort indexdb.  Now I can list my todos or blog posts in the order they appear on the web.  Handy.
++
++However the ikiwiki state is specifically excluded via '.gitignore'.  I work a lot on trains and not having this file in my cloned wiki means I can't list published posts or my todos in the proper order.  I can get an approximation from git logs but, dam it, I want it the same!
++
++What can I do?
++--------------
++
++Is it a spectacularly bad idea to include the ikiwiki state file in my cloned repo (I suspect it is).  What else could be done?  Can I disable pagestate somehow or force ikiwiki to always use git commit times for Posted times?
++
+
+
+
+ + diff --git a/doc/recentchanges/change_263cfa7d1e938e3b41d1b6826427f0d613b2b97c._change b/doc/recentchanges/change_263cfa7d1e938e3b41d1b6826427f0d613b2b97c._change new file mode 100644 index 000000000..57edc92b2 --- /dev/null +++ b/doc/recentchanges/change_263cfa7d1e938e3b41d1b6826427f0d613b2b97c._change @@ -0,0 +1,64 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-263cfa7d1e938e3b41d1b6826427f0d613b2b97c"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +aggregate: too long filenames
+ + +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+new file mode 100644
+index 0000000..cb5e6df
+--- /dev/null
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -0,0 +1,10 @@
++the [[pluhins/aggregate]] plugin mashes the `title` of an aggregated post into a filename.  This results in long filenames.  I have hit a filesystem length limitation on several occasions.  Some (ab)uses of RSS, e.g., twitter,
++generate long titles.  Especially once you throw escaping into the mix:
++
++    $ ikiwiki --setup testsetup --aggregate --refresh
++    failed to write ./test/lifestream/Hidden_Features_Of_Perl__44___PHP__44___Javascript__44___C__44___C++__44___C__35____44___Java__44___Ruby___46____46____46__._aggregated.ikiwiki-new: File name too long
++    aggregation failed with code 9216
++    $ echo $?
++    25
++
++-- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_2a452ddf146c4148155095e400f56b4674d76953._change b/doc/recentchanges/change_2a452ddf146c4148155095e400f56b4674d76953._change new file mode 100644 index 000000000..52a0e5bd0 --- /dev/null +++ b/doc/recentchanges/change_2a452ddf146c4148155095e400f56b4674d76953._change @@ -0,0 +1,64 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-2a452ddf146c4148155095e400f56b4674d76953"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +but it already checks length..
+ + +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+index 40decb3..c38ad6c 100644
+--- a/doc/bugs/aggregate_generates_long_filenames.mdwn
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -11,3 +11,11 @@ It would also appear this abrubtly terminates aggregate processing (if not ikiwi
+ 
+ 
+ -- [[Jon]]
++
++> I have to wonder what filesystem you have there where 147 characters
++> is a long filename. Ikiwiki already uses `POSIX::pathconf` on the srcdir
++> to look up `_PC_NAME_MAX`
++> to see if the filename is too long, and shortens it, so it seems
++> that, in additional to having a rather antique long filename limit, your
++> system also doesn't properly expose it via pathconf. Not sure what
++> ikiwiki can do here. --[[Joey]]
+
+
+
+ + diff --git a/doc/recentchanges/change_2c17255b6641e33374a446ca281a0ad6d46af1dc._change b/doc/recentchanges/change_2c17255b6641e33374a446ca281a0ad6d46af1dc._change new file mode 100644 index 000000000..999f73b87 --- /dev/null +++ b/doc/recentchanges/change_2c17255b6641e33374a446ca281a0ad6d46af1dc._change @@ -0,0 +1,63 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to plugins/autoindex/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-2c17255b6641e33374a446ca281a0ad6d46af1dc"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +cross-references
+ + +
+ +
+
+diff --git a/doc/plugins/autoindex/discussion.mdwn b/doc/plugins/autoindex/discussion.mdwn
+index d8b9be6..b09481c 100644
+--- a/doc/plugins/autoindex/discussion.mdwn
++++ b/doc/plugins/autoindex/discussion.mdwn
+@@ -4,7 +4,9 @@ for the html output and not place the markdown files in the wiki source?
+ > Or better still, add a mechanism for ikiwiki to hold transient source
+ > pages in memory and render them as if they existed, without actually
+ > writing them out, as [[JoeRayhawk]] suggests below? I think
+-> add_autofile would be the way to do this. --[[smcv]]
++> add_autofile would be the way to do this.
++> I've added this to [[todo]] as [[todo/autoindex should use add__95__autofile]]
++> and [[todo/transient in-memory pages]]. --[[smcv]]
+ 
+ The reason being that I have a lot of directories which need to be autoindexed,
+ but I would prefer if the index files didn't clutter up my git repository.
+
+
+
+ + diff --git a/doc/recentchanges/change_2fdda536ec6bee1eff3b71c214753078cd588f8f._change b/doc/recentchanges/change_2fdda536ec6bee1eff3b71c214753078cd588f8f._change new file mode 100644 index 000000000..af18ef4de --- /dev/null +++ b/doc/recentchanges/change_2fdda536ec6bee1eff3b71c214753078cd588f8f._change @@ -0,0 +1,58 @@ +[[!meta author="""143.215.206.35"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2F143.215.206.35&do=goto"""]] + +[[!meta title="""change to news/openid on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-2fdda536ec6bee1eff3b71c214753078cd588f8f"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +poll vote (Accept both)
+ + +
+ +
+
+diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn
+index 05991ff..02f7afb 100644
+--- a/doc/news/openid.mdwn
++++ b/doc/news/openid.mdwn
+@@ -10,4 +10,4 @@ log back in, try out the OpenID signup process if you don't already have an
+ OpenID, and see how OpenID works for you. And let me know your feelings about
+ making such a switch. --[[Joey]]
+ 
+-[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 38 "Accept both"]]
++[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 39 "Accept both"]]
+
+
+
+ + diff --git a/doc/recentchanges/change_313a28b8f68b76aee4b94413e4e9d47dca93a34e._change b/doc/recentchanges/change_313a28b8f68b76aee4b94413e4e9d47dca93a34e._change new file mode 100644 index 000000000..b473074e1 --- /dev/null +++ b/doc/recentchanges/change_313a28b8f68b76aee4b94413e4e9d47dca93a34e._change @@ -0,0 +1,63 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-313a28b8f68b76aee4b94413e4e9d47dca93a34e"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields.mdwn b/doc/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields.mdwn
+index 85c3176..0a435ce 100644
+--- a/doc/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields.mdwn
++++ b/doc/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields.mdwn
+@@ -43,3 +43,10 @@ For Atom, at least, I believe adding `type="xhtml"` to the title element will wo
+ >> have "more" apply to the front page of the blog. Is there a way to do that?
+ >> -- [[dtaht]]
+ >> 
++>>> To be clear, the RSS spec sucks to such an extent that, as far as
++>>> I know, there is no sort of title escaping that will work in all 
++>>> RSS consumers. Titles are currently escaped in the way 
++>>> that tends to break the fewest according to what I've read.
++>>> If you're unlucky enough to 
++>>> have a "&" or "<" in your **name**, then you may still run into 
++>>> problems with how that is escaped in rss feeds. --[[Joey]]
+
+
+
+ + diff --git a/doc/recentchanges/change_408af2bb9e10d2ed899e17f9814a5514c0254dc8._change b/doc/recentchanges/change_408af2bb9e10d2ed899e17f9814a5514c0254dc8._change new file mode 100644 index 000000000..4fd8dace1 --- /dev/null +++ b/doc/recentchanges/change_408af2bb9e10d2ed899e17f9814a5514c0254dc8._change @@ -0,0 +1,68 @@ +[[!meta author="""JoeRayhawk"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2FJoeRayhawk&do=goto"""]] + +[[!meta title="""change to plugins/autoindex/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-408af2bb9e10d2ed899e17f9814a5514c0254dc8"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +A wish for a noninvasive autoindex.
+ + +
+ +
+
+diff --git a/doc/plugins/autoindex/discussion.mdwn b/doc/plugins/autoindex/discussion.mdwn
+index 2d6b6f1..a48fe9d 100644
+--- a/doc/plugins/autoindex/discussion.mdwn
++++ b/doc/plugins/autoindex/discussion.mdwn
+@@ -61,3 +61,15 @@ If you just don't want to clutter your git repo, below it's a patch does the fol
+ 
+  
+ Warning:  I guess this patch may work, but I *haven't tested it yet*.  -- [[weakish]]
++
++------
++
++`autoindex_commit => 0` would be nice, but uncommited files are definitely not.
++<pre>
++remote: From /srv/git/test3
++remote:    3047077..1df636c  master     -> origin/master
++remote: error: Untracked working tree file 'test.mdwn' would be overwritten by merge.  Aborting
++remote: 'git pull --prune origin' failed:  at /usr/share/perl5/IkiWiki/Plugin/git.pm line 201.
++</pre>
++
++It'd be nice if we were able to notice directories with no associated compilable markup files and compile a simple map directive straight to HTML without any intermediate markup file being involved at all. -- JoeRayhawk
+
+
+
+ + diff --git a/doc/recentchanges/change_415effbb43663ad756d78b3e957ac593d0227a74._change b/doc/recentchanges/change_415effbb43663ad756d78b3e957ac593d0227a74._change new file mode 100644 index 000000000..5ef53989c --- /dev/null +++ b/doc/recentchanges/change_415effbb43663ad756d78b3e957ac593d0227a74._change @@ -0,0 +1,55 @@ +[[!meta author="""civiccents"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fciviccents&do=goto"""]] + +[[!meta title="""change to sandbox/D-Liberative on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-415effbb43663ad756d78b3e957ac593d0227a74"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +grammer
+ + +
+ +
+
+diff --git a/doc/sandbox/D-Liberative.wiki b/doc/sandbox/D-Liberative.wiki
+index 6907152..b8c94f3 100644
+--- a/doc/sandbox/D-Liberative.wiki
++++ b/doc/sandbox/D-Liberative.wiki
+@@ -1 +1 @@
+-For now its just a concept... what if we could map deliberative capacity?
++For now its just a concept... what if a community could map its deliberative capacity?
+
+
+
+ + diff --git a/doc/recentchanges/change_471ac78068532da53e4dad49d52c5ddccfcbff21._change b/doc/recentchanges/change_471ac78068532da53e4dad49d52c5ddccfcbff21._change new file mode 100644 index 000000000..21b129fb0 --- /dev/null +++ b/doc/recentchanges/change_471ac78068532da53e4dad49d52c5ddccfcbff21._change @@ -0,0 +1,58 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-471ac78068532da53e4dad49d52c5ddccfcbff21"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +typo
+ + +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+index cb5e6df..3d98ee8 100644
+--- a/doc/bugs/aggregate_generates_long_filenames.mdwn
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -1,4 +1,4 @@
+-the [[pluhins/aggregate]] plugin mashes the `title` of an aggregated post into a filename.  This results in long filenames.  I have hit a filesystem length limitation on several occasions.  Some (ab)uses of RSS, e.g., twitter,
++the [[plugins/aggregate]] plugin mashes the `title` of an aggregated post into a filename.  This results in long filenames.  I have hit a filesystem length limitation on several occasions.  Some (ab)uses of RSS, e.g., twitter,
+ generate long titles.  Especially once you throw escaping into the mix:
+ 
+     $ ikiwiki --setup testsetup --aggregate --refresh
+
+
+
+ + diff --git a/doc/recentchanges/change_47726461a4119741affa6536deec7dd1fe52ef0d._change b/doc/recentchanges/change_47726461a4119741affa6536deec7dd1fe52ef0d._change new file mode 100644 index 000000000..19d7c3035 --- /dev/null +++ b/doc/recentchanges/change_47726461a4119741affa6536deec7dd1fe52ef0d._change @@ -0,0 +1,73 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to forum/field_and_forms/comment_1_a0e976cb79f03dcff5e9a4511b90d160 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-47726461a4119741affa6536deec7dd1fe52ef0d"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added a comment: Limitations
+ + +
+ +
+
+diff --git a/doc/forum/field_and_forms/comment_1_a0e976cb79f03dcff5e9a4511b90d160._comment b/doc/forum/field_and_forms/comment_1_a0e976cb79f03dcff5e9a4511b90d160._comment
+new file mode 100644
+index 0000000..3e10dbb
+--- /dev/null
++++ b/doc/forum/field_and_forms/comment_1_a0e976cb79f03dcff5e9a4511b90d160._comment
+@@ -0,0 +1,19 @@
++[[!comment format=mdwn
++ username="http://kerravonsen.dreamwidth.org/"
++ ip="60.241.8.244"
++ subject="Limitations"
++ date="2010-11-23T02:18:52Z"
++ content="""
++I'd already had a look at this idea before you posted this suggestion, and I ran into difficulties.
++So far as I can see, it makes most sense to use the mechanisms already in place for editing pages, and enhance them.
++Unfortunately, the whole edit-page setup expects a template file (by default, when editing pages, editpage.tmpl)
++and anything apart from \"submit\" buttons must have a placeholder in the template file, or it doesn't get displayed at all in the form.
++At least, that's what I've found - I could be mistaken.
++
++But if it's true, that rather puts the kybosh on dynamically generated forms, so far as I can see.
++I mean, if you knew beforehand what all your fields were going to be, you could make a copy of editpage.tmpl, add in your fields where you want, and then make a plugin that uses that template instead of editpage.tmpl, but that's very limited.
++
++If someone could come up with a way of making dynamic forms, that would solve the problem, but I've come up against a brick wall myself.  Joey?  Anyone?
++
++-- [[KathrynAndersen]]
++"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_47b9f10e6254277918873a980af0cf0631326165._change b/doc/recentchanges/change_47b9f10e6254277918873a980af0cf0631326165._change new file mode 100644 index 000000000..e212c09e4 --- /dev/null +++ b/doc/recentchanges/change_47b9f10e6254277918873a980af0cf0631326165._change @@ -0,0 +1,60 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-47b9f10e6254277918873a980af0cf0631326165"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+index 9f974be..5df19c4 100644
+--- a/doc/bugs/logout_in_ikiwiki.mdwn
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -1,3 +1,7 @@
+ It looks like there is no way to logout of ikiwiki at present, meaning that if you edit the ikiwiki in, say, a cybercafe, the cookie remains... is there some other security mechanism in place that can check for authorization, or should I hack in a logout routine into ikiwiki.cgi?
+ 
+ > Click on "Preferences". There is a logout button there. --liw
++
++> It would be nice if it were not buried there, but putting it on the
++> action bar statically would be confusing. The best approach might be to
++> use javascript. --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_53e519931f3a6b7cea0af652d749344757d4e2bc._change b/doc/recentchanges/change_53e519931f3a6b7cea0af652d749344757d4e2bc._change new file mode 100644 index 000000000..05105eacc --- /dev/null +++ b/doc/recentchanges/change_53e519931f3a6b7cea0af652d749344757d4e2bc._change @@ -0,0 +1,112 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-53e519931f3a6b7cea0af652d749344757d4e2bc"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +template files being treated as regular pages and the problems that can cause
+ + +
+ +
+
+diff --git a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+new file mode 100644
+index 0000000..70af505
+--- /dev/null
++++ b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+@@ -0,0 +1,58 @@
++I get the following error when building my wiki
++
++    Argument "\x{3c}\x{54}..." isn't numeric in numeric eq (==) at /usr/share/perl5/IkiWiki.pm line 2547.
++    Argument "\x{3c}\x{54}..." isn't numeric in numeric eq (==) at /usr/share/perl5/IkiWiki.pm line 2547.
++
++that line corresponds to
++
++    sub match_creation_year ($$;@) {
++	if ((localtime($IkiWiki::pagectime{shift()}))[5] + 1900 == shift) { <-- this one
++		return IkiWiki::SuccessReason->new('creation_year matched');
++	}
++
++A git bisect shows that the offending commit introduced this hunk
++
++
++    --- /dev/null
++    +++ b/templates/all_entry.mdwn
++    @@ -0,0 +1,23 @@
++    +## <TMPL_VAR year>
++    +
++    +There
++    +<TMPL_IF current>
++    +have been
++    +<TMPL_ELSE>
++    +were
++    +</TMPL_IF>
++    +[[!pagecount pages="
++    +log/* and !tagged(aggregation) and !*/Discussion and !tagged(draft)
++    +and creation_year(<TMPL_VAR year>)
++    +and !*.png and !*.jpg
++    +"]] posts
++    +<TMPL_IF current>
++    +so far
++    +</TMPL_IF>
++    +in <TMPL_VAR year>.
++    +
++    +[[!inline pages="
++    +    log/* and !tagged(aggregation) and !*/Discussion and !tagged(draft)
++    +    and creation_year(<TMPL_VAR year>)
++    +    and !*.png and !*.jpg
++    +    " archive=yes feeds=no]]
++
++The lines which feature creation_year(<TMPL_VAR year>) are most likely the culprits.  That would explain why the error was repeated twice, and would tally with the file in `templates/` being rendered, rather than the inclusionists.
++
++A workaround is to move the template outside of the srcdir into the external templates directory and include the file suffix when using it, e.g.
++
++    \[[!template id=all_entry.tmpl year=2010 current=true]]
++
++An alternative fix is to wrap the entire template inside a test to see whether the page is included or not. E.g.
++
++
++    \[[!if test="included()" then="""
++    ...template...
++    """ else="""
++    Nothing to see here.
++    """]]
++
++In fact, this is probably best practice for in-srcdir templates.  I'd consider this done if the documentation for the directive suggested it. -- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_5430d5dc3bc37df92eb01cd65382c0f2be78b8e7._change b/doc/recentchanges/change_5430d5dc3bc37df92eb01cd65382c0f2be78b8e7._change new file mode 100644 index 000000000..68bd2fc0c --- /dev/null +++ b/doc/recentchanges/change_5430d5dc3bc37df92eb01cd65382c0f2be78b8e7._change @@ -0,0 +1,70 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-5430d5dc3bc37df92eb01cd65382c0f2be78b8e7"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +not quite done yet: if/included() doesn't work that way.
+ + +
+ +
+
+diff --git a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+index 5485bba..8309389 100644
+--- a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
++++ b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+@@ -46,8 +46,7 @@ A workaround is to move the template outside of the srcdir into the external tem
+ 
+     \[[!template id=all_entry.tmpl year=2010 current=true]]
+ 
+-An alternative fix is to wrap the entire template inside a test to see whether the page is included or not. E.g.
+-
++I believed (until I tested) that the [[ikiwiki/directive/if]] directive, with the `included()` test, would be an option here, E.g.
+ 
+     \[[!if test="included()" then="""
+     ...template...
+@@ -55,6 +54,4 @@ An alternative fix is to wrap the entire template inside a test to see whether t
+     Nothing to see here.
+     """]]
+ 
+-In fact, this is probably best practice for in-srcdir templates.  I'd consider this done if the documentation for the directive suggested it. -- [[Jon]]
+-
+-> [[done]] with <http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=da9e1ea667f82d5fca9168dbed19be08040570ff> -- [[Jon]]
++However this doesn't work.  I assume "included" in this context means e.g. via an `inline` or `map`, not template trans-clusion. -- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_5954915a4fe8a889b8217cac99fae53cbe7f1e97._change b/doc/recentchanges/change_5954915a4fe8a889b8217cac99fae53cbe7f1e97._change new file mode 100644 index 000000000..518a8c974 --- /dev/null +++ b/doc/recentchanges/change_5954915a4fe8a889b8217cac99fae53cbe7f1e97._change @@ -0,0 +1,108 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-5954915a4fe8a889b8217cac99fae53cbe7f1e97"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+index 80925b4..f8ec4c4 100644
+--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
++++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+@@ -201,6 +201,10 @@ New API added by this branch:
+   >>
+   >> I personally think breaking the docwiki is enough to block that.
+   >>
++  >>> Well, the docwiki doesn't have an url configured at all, so I assumed
++  >>> it would need to fall back to current behavior in that case. I had
++  >>> not thought about browsing wiki's html files though, good point.
++  >>
+   >> How about this?
+   >>
+   >> * `urlto($link, $page)` with `$page` defined: relative
+@@ -210,12 +214,24 @@ New API added by this branch:
+   >>   normally undef): absolute, starts with `http[s]://`
+   >>
+   >> --[[smcv]]
++  >> 
++  >>> That makes a great deal of sense, bravo for actually removing
++  >>> parameters in the common case while maintaining backwards
++  >>> compatability!
++  >>> 
++  >>> It does highlight that it would be better to have a
++  >>> `absolute_urlto($link)` (or maybe `absolute(urlto($link))` )
++  >>> rather than the 3 parameter form. --[[Joey]]
+ 
+ * `IkiWiki::baseurl` has a new second argument which works like the
+   third argument of `urlto`
+ 
+   > I assume you have no objection to this --[[smcv]]
+ 
++  >> It's so little used that I don't really care if it's a bit ugly.
++  >> (But I assume changes to `urlto` will follow through here anyway.)
++  >> --[[Joey]] 
++
+ * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1`
+ 
+   > Possibly changed to making this always be local unless `cgiurl => $x`
+@@ -225,6 +241,8 @@ New API added by this branch:
+   except `cgiurl` and/or `local_cgiurl`
+ 
+   > I assume you have no objection to this --[[smcv]]
++  > 
++  >> Nod, although I don't know of a use case. --[[Joey]] 
+ 
+ Bugs:
+ 
+@@ -243,6 +261,10 @@ Bugs:
+   >> would you accept a patch that makes `cgiurl` default to a local
+   >> (starts-with-`/`) result? If you would, that'd reduce the diff. --[[smcv]]
+ 
++  >>> Yes, I absolutely think it should default to local. (Note that
++  >>> if `absolute()` were implemented as suggested above, it could also
++  >>> be used with cgiurl if necessary.) --[[Joey]]
++
+ * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being
+   exported? Perhaps also `IkiWiki::baseurl`?
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_5dbf25127fb776cc52a3a142b805a0c7f3cef242._change b/doc/recentchanges/change_5dbf25127fb776cc52a3a142b805a0c7f3cef242._change new file mode 100644 index 000000000..554057cb7 --- /dev/null +++ b/doc/recentchanges/change_5dbf25127fb776cc52a3a142b805a0c7f3cef242._change @@ -0,0 +1,140 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to security on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-5dbf25127fb776cc52a3a142b805a0c7f3cef242"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +releasing version 3.20101112
+ + +
+ +
+
+diff --git a/debian/changelog b/debian/changelog
+index 2c4c927..f8dc04e 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,4 +1,4 @@
+-ikiwiki (3.20101024) UNRELEASED; urgency=low
++ikiwiki (3.20101112) unstable; urgency=HIGH
+ 
+   * txt: Fix display when used inside a format directive.
+   * highlight: Ensure that other, more-specific format plugins,
+@@ -16,7 +16,7 @@ ikiwiki (3.20101024) UNRELEASED; urgency=low
+   * comments: Make comment() pagespec also match comments that are being
+     posted.
+ 
+- -- Joey Hess <joeyh@debian.org>  Mon, 25 Oct 2010 22:30:29 -0400
++ -- Joey Hess <joeyh@debian.org>  Fri, 12 Nov 2010 00:36:06 -0400
+ 
+ ikiwiki (3.20101023) unstable; urgency=low
+ 
+diff --git a/doc/security.mdwn b/doc/security.mdwn
+index 33b1992..2c342b1 100644
+--- a/doc/security.mdwn
++++ b/doc/security.mdwn
+@@ -449,7 +449,7 @@ of eg, blog posts. Confusingly, setting it to "* and !comment(*)" did not
+ scrub comments.
+ 
+ Additionally, it was discovered that comments' html was never scrubbed during
+-preview or moderation of comments.
++preview or moderation of comments with such a configuration.
+ 
+ These problems were discovered on 12 November 2010 and fixed the same
+ hour with the release of ikiwiki 3.20101112.
+diff --git a/ikiwiki.spec b/ikiwiki.spec
+index 7653ac6..5ef4390 100644
+--- a/ikiwiki.spec
++++ b/ikiwiki.spec
+@@ -1,5 +1,5 @@
+ Name:           ikiwiki
+-Version: 3.20101023
++Version: 3.20101112
+ Release:        1%{?dist}
+ Summary:        A wiki compiler
+ 
+diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot
+index fa65b6f..e4274d0 100644
+--- a/po/ikiwiki.pot
++++ b/po/ikiwiki.pot
+@@ -8,7 +8,7 @@ msgid ""
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: \n"
+-"POT-Creation-Date: 2010-10-23 17:21-0400\n"
++"POT-Creation-Date: 2010-11-12 00:37-0400\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -203,7 +203,7 @@ msgstr ""
+ msgid "moderation"
+ msgstr ""
+ 
+-#: ../IkiWiki/Plugin/comments.pm:137 ../IkiWiki/Plugin/format.pm:48
++#: ../IkiWiki/Plugin/comments.pm:137 ../IkiWiki/Plugin/format.pm:50
+ #, perl-format
+ msgid "unsupported page format %s"
+ msgstr ""
+@@ -268,7 +268,7 @@ msgstr ""
+ msgid "comment moderation"
+ msgstr ""
+ 
+-#: ../IkiWiki/Plugin/comments.pm:822
++#: ../IkiWiki/Plugin/comments.pm:828
+ #, perl-format
+ msgid "%i comment"
+ msgid_plural "%i comments"
+@@ -278,7 +278,7 @@ msgstr[1] ""
+ #. translators: Here "Comment" is a verb;
+ #. translators: the user clicks on it to
+ #. translators: post a comment.
+-#: ../IkiWiki/Plugin/comments.pm:832
++#: ../IkiWiki/Plugin/comments.pm:838
+ msgid "Comment"
+ msgstr ""
+ 
+@@ -411,7 +411,7 @@ msgid ""
+ "warning: highlight perl module not available; falling back to pass through"
+ msgstr ""
+ 
+-#: ../IkiWiki/Plugin/htmltidy.pm:62
++#: ../IkiWiki/Plugin/htmltidy.pm:63
+ msgid "htmltidy failed to parse this html"
+ msgstr ""
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9._change b/doc/recentchanges/change_5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9._change new file mode 100644 index 000000000..0c598219d --- /dev/null +++ b/doc/recentchanges/change_5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9._change @@ -0,0 +1,74 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/transient_in-memory_pages on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-5ecba3b05d66bb58dc48a9027838e8b0bcbc0db9"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +more discussion
+ + +
+ +
+
+diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
+index 816e95c..edf056e 100644
+--- a/doc/todo/transient_in-memory_pages.mdwn
++++ b/doc/todo/transient_in-memory_pages.mdwn
+@@ -46,3 +46,21 @@ Refinements that could be made if this approach seems reasonable:
+ >> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that?
+ >> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay.
+ >> --[[KathrynAndersen]]
++
++>>> What I had in mind was more like `tag_autocreate_transient => 1` or
++>>> `autoindex_transient => 1`; you might conceivably want tags to be
++>>> checked in but autoindices to be transient, and it's fine for each
++>>> plugin to make its own decision. Going from that to one boolean
++>>> (or just always-transient if people don't think that's too
++>>> astonishing) would be trivial, though.
++>>>
++>>> I don't think relocating the transient underlay really makes sense,
++>>> except for prototyping: you only want one, and `.ikiwiki` is as good
++>>> a place as any (ikiwiki already needs to be able to write there).
++>>>
++>>> For [[plugins/contrib/album]] I think I'd just make the photo viewer
++>>> pages always-transient - you can always make a transient page
++>>> permanent by editing it, after all.
++>>>
++>>> Do you think this approach has enough potential that I should
++>>> continue to hack on it? Any thoughts on the implementation? --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_5f750e16b8c32d2fd69209f433e7d19efa53a71f._change b/doc/recentchanges/change_5f750e16b8c32d2fd69209f433e7d19efa53a71f._change new file mode 100644 index 000000000..cb1e325e8 --- /dev/null +++ b/doc/recentchanges/change_5f750e16b8c32d2fd69209f433e7d19efa53a71f._change @@ -0,0 +1,77 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to security on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-5f750e16b8c32d2fd69209f433e7d19efa53a71f"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +CVE id
+ + +
+ +
+
+diff --git a/debian/changelog b/debian/changelog
+index f8dc04e..582a8e3 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -10,11 +10,11 @@ ikiwiki (3.20101112) unstable; urgency=HIGH
+     (Thanks, Tuomas Jormola)
+   * Fix htmlscrubber_skip to be matched on the source page, not the page it is
+     inlined into. Should allow setting to "* and !comment(*)" to scrub
+-    comments, but leave your blog posts unscrubbed, etc.
++    comments, but leave your blog posts unscrubbed, etc. CVE-2010-1673
+   * comments: Make postcomment() pagespec work when previewing a comment,
+-    including during moderation.
++    including during moderation. CVE-2010-1673
+   * comments: Make comment() pagespec also match comments that are being
+-    posted.
++    posted. CVE-2010-1673
+ 
+  -- Joey Hess <joeyh@debian.org>  Fri, 12 Nov 2010 00:36:06 -0400
+ 
+diff --git a/doc/security.mdwn b/doc/security.mdwn
+index 2c342b1..4fa531e 100644
+--- a/doc/security.mdwn
++++ b/doc/security.mdwn
+@@ -452,4 +452,4 @@ Additionally, it was discovered that comments' html was never scrubbed during
+ preview or moderation of comments with such a configuration.
+ 
+ These problems were discovered on 12 November 2010 and fixed the same
+-hour with the release of ikiwiki 3.20101112.
++hour with the release of ikiwiki 3.20101112. ([[!cve CVE-2010-1673]])
+
+
+
+ + diff --git a/doc/recentchanges/change_608cef54d63ba60efd24ae14012dda7ff8d014a9._change b/doc/recentchanges/change_608cef54d63ba60efd24ae14012dda7ff8d014a9._change new file mode 100644 index 000000000..7ee29dff3 --- /dev/null +++ b/doc/recentchanges/change_608cef54d63ba60efd24ae14012dda7ff8d014a9._change @@ -0,0 +1,61 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-608cef54d63ba60efd24ae14012dda7ff8d014a9"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +theory about differences in speed of memoize and non-memoize patches
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index c4d3a8e..43571ea 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -20,6 +20,8 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >>>> is less verbose than Kathryn's patch but also not as
+ >>>> fast; I'm not sure why, tbh. --[[smcv]]
+ 
++>>>>> I think it's because my patch focuses on match_glob while the memoize patch focuses on `glob2re`, and `glob2re` is called in `filecheck`, `meta` and `po` as well as in `match_glob` and `match_user`; thus the memoized `glob2re` is dealing with a bigger set of globs to look up, and thus could be just that little bit slower. -- [[KathrynAndersen]]
++
+ --------------------------------------------------------------
+ Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_61218e338a7517b25fc82697c3a11fff1edb6803._change b/doc/recentchanges/change_61218e338a7517b25fc82697c3a11fff1edb6803._change new file mode 100644 index 000000000..b2e825460 --- /dev/null +++ b/doc/recentchanges/change_61218e338a7517b25fc82697c3a11fff1edb6803._change @@ -0,0 +1,66 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/use_secure_cookies_for_ssl_logins on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-61218e338a7517b25fc82697c3a11fff1edb6803"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +another branch
+ + +
+ +
+
+diff --git a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn
+new file mode 100644
+index 0000000..a91a15b
+--- /dev/null
++++ b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn
+@@ -0,0 +1,12 @@
++[[!template id=gitbranch branch=smcv/ready/sslcookie-auto author="[[smcv]]"]]
++[[!tag patch]]
++
++At the moment `sslcookie => 0` never creates secure cookies, so if you log in
++with SSL, your browser will send the session cookie even over plain HTTP.
++Meanwhile `sslcookie => 1` always creates secure cookies, so you can't
++usefully log in over plain http.
++
++This branch adds `sslcookie => 0, sslcookie_auto => 1` as an option; this
++uses the `HTTPS` environment variable, so if you log in over SSL you'll
++get a secure session cookie, but if you log in over HTTP, you won't.
++(The syntax for the setup file is pretty rubbish - any other suggestions?)
+
+
+
+ + diff --git a/doc/recentchanges/change_615bf4fe15e7300bc033724bf86eecb6a2efef49._change b/doc/recentchanges/change_615bf4fe15e7300bc033724bf86eecb6a2efef49._change new file mode 100644 index 000000000..22b4e9219 --- /dev/null +++ b/doc/recentchanges/change_615bf4fe15e7300bc033724bf86eecb6a2efef49._change @@ -0,0 +1,65 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to forum/Need_something_more_powerful_than_Exclude/comment_2_f577ab6beb9912471949d8d18c790267 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-615bf4fe15e7300bc033724bf86eecb6a2efef49"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added a comment: Missed It By That Much
+ + +
+ +
+
+diff --git a/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_f577ab6beb9912471949d8d18c790267._comment b/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_f577ab6beb9912471949d8d18c790267._comment
+new file mode 100644
+index 0000000..bd964d5
+--- /dev/null
++++ b/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_f577ab6beb9912471949d8d18c790267._comment
+@@ -0,0 +1,11 @@
++[[!comment format=mdwn
++ username="http://kerravonsen.dreamwidth.org/"
++ ip="60.241.8.244"
++ subject="Missed It By That Much"
++ date="2010-11-25T02:55:20Z"
++ content="""
++I discovered that I not only needed to change the regexp, but I also needed to delete .ikiwiki/indexdb because `file_pruned` only gets called for files that aren't in the `%pagesources` hash, and since the file in question was already there because it had been put there before the exclude regex was changed, it wasn't even being checked!
++
++[[KathrynAndersen]]
++
++"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_62fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14._change b/doc/recentchanges/change_62fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14._change new file mode 100644 index 000000000..b784d2250 --- /dev/null +++ b/doc/recentchanges/change_62fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14._change @@ -0,0 +1,102 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to ikiwiki/directive/template on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-62fc5d0c3cfdde0ae87c5364db6f6ebfa6794b14"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +I totally misinterpreted what included() is supposed to be for.
+ + + + + +This reverts commit da9e1ea667f82d5fca9168dbed19be08040570ff
+ + +
+ +
+
+diff --git a/doc/ikiwiki/directive/template.mdwn b/doc/ikiwiki/directive/template.mdwn
+index df391f9..9e3ae54 100644
+--- a/doc/ikiwiki/directive/template.mdwn
++++ b/doc/ikiwiki/directive/template.mdwn
+@@ -60,30 +60,22 @@ few things:
+   `<TMPL_IF variable>text</TMPL_IF>`.
+ * To use one block of text if a variable is set and a second if it's not,
+   use `<TMPL_IF variable>text<TMPL_ELSE>other text</TMPL_IF>`
+-* Each template file included in the wiki's source will also generate a regular
+-  wiki page.  In many cases you might want to prevent some of your template
+-  being interpreted for the regular page.  Use the [[if]] directive with the
+-  `included()` test to guard the template code.
+ 
+ Here's a sample template:
+ 
+-        \[[!if test="included()" then="""
+-          <span class="infobox">
+-          Name: \[[<TMPL_VAR raw_name>]]<br />
+-          Age: <TMPL_VAR age><br />
+-          <TMPL_IF color>
+-            Favorite color: <TMPL_VAR color><br />
+-          <TMPL_ELSE>
+-            No favorite color.<br />
+-          </TMPL_IF>
+-          <TMPL_IF notes>
+-            <hr />
+-            <TMPL_VAR notes>
+-          </TMPL_IF>
+-          </span>
+-        """ else="""
+-          This is a template page.
+-        """]]
++        <span class="infobox">
++        Name: \[[<TMPL_VAR raw_name>]]<br />
++        Age: <TMPL_VAR age><br />
++        <TMPL_IF color>
++        Favorite color: <TMPL_VAR color><br />
++        <TMPL_ELSE>
++        No favorite color.<br />
++        </TMPL_IF>
++        <TMPL_IF notes>
++        <hr />
++        <TMPL_VAR notes>
++        </TMPL_IF>
++        </span>
+ 
+ The filled out template will be formatted the same as the rest of the page
+ that contains it, so you can include WikiLinks and all other forms of wiki
+
+
+
+ + diff --git a/doc/recentchanges/change_65873fee5e1dda78d6cf561cdd81a5dcd6d2735d._change b/doc/recentchanges/change_65873fee5e1dda78d6cf561cdd81a5dcd6d2735d._change new file mode 100644 index 000000000..3924a71bd --- /dev/null +++ b/doc/recentchanges/change_65873fee5e1dda78d6cf561cdd81a5dcd6d2735d._change @@ -0,0 +1,63 @@ +[[!meta author="""http://cristian.regolo.cc/"""]] + +[[!meta authorurl="""http://cristian.regolo.cc/"""]] + +[[!meta title="""change to examples/blog on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-65873fee5e1dda78d6cf561cdd81a5dcd6d2735d"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +add link to tag plugin page
+ + +
+ +
+
+diff --git a/doc/examples/blog.mdwn b/doc/examples/blog.mdwn
+index b256012..5f8f6c3 100644
+--- a/doc/examples/blog.mdwn
++++ b/doc/examples/blog.mdwn
+@@ -10,8 +10,8 @@ Some additional configuration you might want to do, if not using
+ 
+ * Make sure to configure ikiwiki to generate RSS or Atom feeds.
+ 
+-* Make sure you have the tag plugin enabled, and the `tagbase` set to
+-  "tags". Tag pages will then automatically be created.
++* Make sure you have the [[tag|plugins/tag]] plugin enabled, and the
++ `tagbase` set to "tags". Tag pages will then automatically be created.
+   An example of how to tag a post is:
+ 	\[[!tag life]]
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_65e726f201d7b9919271cfe7e8a7314a6abf0fc3._change b/doc/recentchanges/change_65e726f201d7b9919271cfe7e8a7314a6abf0fc3._change new file mode 100644 index 000000000..a70dbb1af --- /dev/null +++ b/doc/recentchanges/change_65e726f201d7b9919271cfe7e8a7314a6abf0fc3._change @@ -0,0 +1,90 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/replace_HTML::Template_with_Template_Toolkit on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-65e726f201d7b9919271cfe7e8a7314a6abf0fc3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+index 9725b65..d55fc0a 100644
+--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
++++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+@@ -5,9 +5,14 @@ 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.
+ 
++> Note that is no longer true, and I didn't have to do such an intrusive
++> change to fix it either. --[[Joey]]
++
+ Maybe it's just me, I also find HTML::Template cumbersome to use, due in part
+ to its use of capital letters.
+ 
++> Its entirely optional use of capital letters? --[[Joey]]
++
+ Finally, the software seems unmaintained: the mailing list and searchable
+ archives linked from
+ <http://html-template.sourceforge.net/html_template.html#frequently%20asked%20questions>
+@@ -62,4 +67,21 @@ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer
+ 
+ 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
+ 
+-> 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]]
++> 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]]a
++
++>> A modular template system in ikiwiki is unlikely, as template objects
++>> are part of the API,  notably the `pagetemplate` hook. Unless the other
++>> system has a compatible template object. --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_65ecc73755348f1ed13b77b2f4bdf9db4e465be4._change b/doc/recentchanges/change_65ecc73755348f1ed13b77b2f4bdf9db4e465be4._change new file mode 100644 index 000000000..24d7bd43d --- /dev/null +++ b/doc/recentchanges/change_65ecc73755348f1ed13b77b2f4bdf9db4e465be4._change @@ -0,0 +1,109 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to news/version_3.20100831 news/version_3.20101112 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-65ecc73755348f1ed13b77b2f4bdf9db4e465be4"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +add news item for ikiwiki 3.20101112
+ + +
+ +
+
+diff --git a/doc/news/version_3.20100831.mdwn b/doc/news/version_3.20100831.mdwn
+deleted file mode 100644
+index 152e3c2..0000000
+--- a/doc/news/version_3.20100831.mdwn
++++ /dev/null
+@@ -1,27 +0,0 @@
+-ikiwiki 3.20100831 released with [[!toggle text="these changes"]]
+-[[!toggleable text="""
+-   * filecheck: Fall back to using the file command if the freedesktop
+-     magic file cannot identify a file.
+-   * flattr: New plugin. (Thanks to jaywalk for the initial implementation
+-     at a flattr plugin! This one is less configurable, but simpler.)
+-   * smiley: warn instead of error for missing smileys (Giuseppe Bilotta)
+-   * openid: Syntax tweak to the javascript code to make it work with MSIE 7
+-     (and MSIE 8 in compat mode). Thanks to Iain McLaren for reporting
+-     the bug and providing access to debug it.
+-   * style.css: Use relative, not absolute font sizes. Thanks, Giuseppe Bilotta.
+-   * htmlscrubber: Do not scrub url anchors that contain colons.
+-   * Danish translation update. Closes: #[594673](http://bugs.debian.org/594673)
+-   * highlight: Make location of highlight's files configurable in setup
+-     file to allow for nonstandard installations.
+-   * Allow "link(.)" and similar PageSpecs. Thanks, Giuseppe Bilotta.
+-   * Run the preprocess hooks in scan mode *before* the scan hooks.
+-     This allows the po plugin to register a scan hook that runs
+-     last and rescans pages after all data from the first scan pass is
+-     completed. This avoids the po plugin needing to rebuild some pages.
+-     (intrigeri)
+-   * po: Fix some bugs that affected l10n.ikiwiki.info's unusual
+-     setup. (intrigeri)
+-   * t/bazaar.t: Work around bzr 2.2.0's new requirement to configure
+-     bzr whoami before committing.
+-   * httpauth: Avoid redirecting the user to the cgiauthurl if
+-     they already have a login session."""]]
+\ No newline at end of file
+diff --git a/doc/news/version_3.20101112.mdwn b/doc/news/version_3.20101112.mdwn
+new file mode 100644
+index 0000000..ad59144
+--- /dev/null
++++ b/doc/news/version_3.20101112.mdwn
+@@ -0,0 +1,17 @@
++ikiwiki 3.20101112 released with [[!toggle text="these changes"]]
++[[!toggleable text="""
++   * txt: Fix display when used inside a format directive.
++   * highlight: Ensure that other, more-specific format plugins,
++     like txt are used in preference to this one in case of ties.
++   * htmltidy, sortnaturally: Add missing checkconfig hook
++     registration. Closes: #[601912](http://bugs.debian.org/601912)
++     (Thanks, Craig Lennox and Tuomas Jormola)
++   * git: Use author date, not committer date. Closes: #[602012](http://bugs.debian.org/602012)
++     (Thanks, Tuomas Jormola)
++   * Fix htmlscrubber\_skip to be matched on the source page, not the page it is
++     inlined into. Should allow setting to "* and !comment(*)" to scrub
++     comments, but leave your blog posts unscrubbed, etc.
++   * comments: Make postcomment() pagespec work when previewing a comment,
++     including during moderation.
++   * comments: Make comment() pagespec also match comments that are being
++     posted."""]]
+\ No newline at end of file
+
+
+
+ + diff --git a/doc/recentchanges/change_663d2578832dd0808ea98a624b49cec4bf3c0243._change b/doc/recentchanges/change_663d2578832dd0808ea98a624b49cec4bf3c0243._change new file mode 100644 index 000000000..2e82b0982 --- /dev/null +++ b/doc/recentchanges/change_663d2578832dd0808ea98a624b49cec4bf3c0243._change @@ -0,0 +1,52 @@ +[[!meta author="""http://liw.fi/"""]] + +[[!meta authorurl="""http://liw.fi/"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-663d2578832dd0808ea98a624b49cec4bf3c0243"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+index ad89f4c..9f974be 100644
+--- a/doc/bugs/logout_in_ikiwiki.mdwn
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -1 +1,3 @@
+ It looks like there is no way to logout of ikiwiki at present, meaning that if you edit the ikiwiki in, say, a cybercafe, the cookie remains... is there some other security mechanism in place that can check for authorization, or should I hack in a logout routine into ikiwiki.cgi?
++
++> Click on "Preferences". There is a logout button there. --liw
+
+
+
+ + diff --git a/doc/recentchanges/change_69a22a6f4b4dfc47a7ce39476758742036b70e63._change b/doc/recentchanges/change_69a22a6f4b4dfc47a7ce39476758742036b70e63._change new file mode 100644 index 000000000..685541d22 --- /dev/null +++ b/doc/recentchanges/change_69a22a6f4b4dfc47a7ce39476758742036b70e63._change @@ -0,0 +1,80 @@ +[[!meta author="""dark"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fdark&do=goto"""]] + +[[!meta title="""change to todo/selective_more_directive on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-69a22a6f4b4dfc47a7ce39476758742036b70e63"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +proposal plus patch
+ + +
+ +
+
+diff --git a/doc/todo/selective_more_directive.mdwn b/doc/todo/selective_more_directive.mdwn
+new file mode 100644
+index 0000000..24e6ab5
+--- /dev/null
++++ b/doc/todo/selective_more_directive.mdwn
+@@ -0,0 +1,26 @@
++I'm setting up a blog for NaNoWriMo and other story-writing, which means long posts every day. I want to have excerpts on the front page, which link to the full length story posts. I also want a dedicated page for each story which inlines the story in full and in chronological order. I can use the "more" directive to achieve this effect on the front page but then it spoils the story page. My solution was to add a pages= parameter to the more directive to make it more selective.
++
++    --- /usr/share/perl5/IkiWiki/Plugin/more.pm     2010-10-09 00:09:24.000000000 +0000
++    +++ .ikiwiki/IkiWiki/Plugin/more.pm    2010-11-01 20:24:59.000000000 +0000
++    @@ -26,7 +26,10 @@
++     
++            $params{linktext} = $linktext unless defined $params{linktext};
++     
++    -       if ($params{page} ne $params{destpage}) {
++    +       if ($params{page} ne $params{destpage} &&
++    +           (! exists $params{pages} ||
++    +            pagespec_match($params{destpage}, $params{pages},
++    +                  location => $params{page}))) {
++                    return "\n".
++                           htmllink($params{page}, $params{destpage}, $params{page},
++                                    linktext => $params{linktext},
++
++I can now call it as 
++
++    \[[!more pages="index" linktext="Chapter 1" text="""
++    etc
++    """]]
++
++I'm not entirely happy with the design, since I would rather put this information in the inline directive instead of in every story post. Unfortunately I found no way to pass parameters from the inline directive to the inlined page.
++
++-- [[dark]]
+
+
+
+ + diff --git a/doc/recentchanges/change_78a2e59834d35da7a7ab8145beb7a30b59b95c90._change b/doc/recentchanges/change_78a2e59834d35da7a7ab8145beb7a30b59b95c90._change new file mode 100644 index 000000000..81292322e --- /dev/null +++ b/doc/recentchanges/change_78a2e59834d35da7a7ab8145beb7a30b59b95c90._change @@ -0,0 +1,59 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to forum/Need_something_more_powerful_than_Exclude on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-78a2e59834d35da7a7ab8145beb7a30b59b95c90"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +exclusion doesn't exclude
+ + +
+ +
+
+diff --git a/doc/forum/Need_something_more_powerful_than_Exclude.mdwn b/doc/forum/Need_something_more_powerful_than_Exclude.mdwn
+new file mode 100644
+index 0000000..5e80432
+--- /dev/null
++++ b/doc/forum/Need_something_more_powerful_than_Exclude.mdwn
+@@ -0,0 +1,5 @@
++When I originally looked at the "exclude" option, I thought it meant that it excluded pages completely, but it apparently doesn't.  What I've found in practice is that a file which matches the "exclude" regex is excluded from *processing*, but it is still copied over to the destination directory.  Thus, for example, if I have "^Makefile$" as the exclude pattern, and I have a file `src/foo/Makefile`, then that file is copied unaltered into `dest/foo/Makefile`.  However, what I want is for `src/foo/Makefile` to be completely ignored: that it is not only not processed, but not even *copied* into the destination directory.
++
++I'm not sure if the current behaviour is a bug or a feature, but I would like a "totally ignore this file" feature if it's possible to have one.
++
++-- [[KathrynAndersen]]
+
+
+
+ + diff --git a/doc/recentchanges/change_84fff62948ad7c7aef664585e8afed86398e7fd4._change b/doc/recentchanges/change_84fff62948ad7c7aef664585e8afed86398e7fd4._change new file mode 100644 index 000000000..11774dd92 --- /dev/null +++ b/doc/recentchanges/change_84fff62948ad7c7aef664585e8afed86398e7fd4._change @@ -0,0 +1,62 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to ikiwiki/directive/if on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-84fff62948ad7c7aef664585e8afed86398e7fd4"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +note about template inclusion
+ + +
+ +
+
+diff --git a/doc/ikiwiki/directive/if.mdwn b/doc/ikiwiki/directive/if.mdwn
+index 2cbf70c..492adf4 100644
+--- a/doc/ikiwiki/directive/if.mdwn
++++ b/doc/ikiwiki/directive/if.mdwn
+@@ -43,6 +43,8 @@ with the following additional tests:
+ 
+ * included()
+ 
+-  Tests whether the page is being included onto another page.
++  Tests whether the page is being included onto another page, for example
++  via [[inline]] or [[map]].  Note that pages inserted into other pages
++  via [[template]] are not matched here.
+ 
+ [[!meta robots="noindex, follow"]]
+
+
+
+ + diff --git a/doc/recentchanges/change_85d262e4cab2bfa55194b445d7fd251fa5818bc6._change b/doc/recentchanges/change_85d262e4cab2bfa55194b445d7fd251fa5818bc6._change new file mode 100644 index 000000000..4a0b34b6b --- /dev/null +++ b/doc/recentchanges/change_85d262e4cab2bfa55194b445d7fd251fa5818bc6._change @@ -0,0 +1,55 @@ +[[!meta author="""http://edrex.myopenid.com/"""]] + +[[!meta authorurl="""http://edrex.myopenid.com/"""]] + +[[!meta title="""change to todo/auto-create_tag_pages_according_to_a_template on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-85d262e4cab2bfa55194b445d7fd251fa5818bc6"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+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
+index 92c3b76..676e2bc 100644
+--- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
++++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
+@@ -260,5 +260,6 @@ required to implement [[todo/alias directive]], which couldn't be easily done
+ by writing to the RCS as the page's contents can change depending on which
+ other pages claim it as an alias. --[[chrysn]]
+ 
++I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- [[Eric|http://wiki.pdxhub.org/people/eric]]
+ 
+ [[!tag done]]
+
+
+
+ + diff --git a/doc/recentchanges/change_85ee24a9e53aec7d70bb4fb758428e59ea76e853._change b/doc/recentchanges/change_85ee24a9e53aec7d70bb4fb758428e59ea76e853._change new file mode 100644 index 000000000..11cb32339 --- /dev/null +++ b/doc/recentchanges/change_85ee24a9e53aec7d70bb4fb758428e59ea76e853._change @@ -0,0 +1,56 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-85ee24a9e53aec7d70bb4fb758428e59ea76e853"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+index 3d98ee8..40decb3 100644
+--- a/doc/bugs/aggregate_generates_long_filenames.mdwn
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -7,4 +7,7 @@ generate long titles.  Especially once you throw escaping into the mix:
+     $ echo $?
+     25
+ 
++It would also appear this abrubtly terminates aggregate processing (if not ikiwiki itself).  Only after moving my test repo to `/tmp` to shorten the filename did I see newer RSS feeds (from a totally different source) picked up.
++
++
+ -- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_87a42450e1ac8e2e01b7ed2785ed43040fd14ed3._change b/doc/recentchanges/change_87a42450e1ac8e2e01b7ed2785ed43040fd14ed3._change new file mode 100644 index 000000000..cb834a317 --- /dev/null +++ b/doc/recentchanges/change_87a42450e1ac8e2e01b7ed2785ed43040fd14ed3._change @@ -0,0 +1,55 @@ +[[!meta author="""http://jugglingbits.wordpress.com/"""]] + +[[!meta authorurl="""http://jugglingbits.wordpress.com/"""]] + +[[!meta title="""change to forum/How_to_list_new_pages__44___inline__63__ on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-87a42450e1ac8e2e01b7ed2785ed43040fd14ed3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/forum/How_to_list_new_pages__44___inline__63__.mdwn b/doc/forum/How_to_list_new_pages__44___inline__63__.mdwn
+new file mode 100644
+index 0000000..f28e8b9
+--- /dev/null
++++ b/doc/forum/How_to_list_new_pages__44___inline__63__.mdwn
+@@ -0,0 +1,5 @@
++Hi, I'd love to include a "New posts" list into my front page, like at <http://danhixon.github.com/> for example.
++
++It should be different from recent changes in that it shouldn't show modifications of existing pages, and in that it would be inside a page with other content.
++
++Thanks, Thomas
+
+
+
+ + diff --git a/doc/recentchanges/change_8806a9795116e73ec851dfea89af45a786fbe6da._change b/doc/recentchanges/change_8806a9795116e73ec851dfea89af45a786fbe6da._change new file mode 100644 index 000000000..9b90d51aa --- /dev/null +++ b/doc/recentchanges/change_8806a9795116e73ec851dfea89af45a786fbe6da._change @@ -0,0 +1,58 @@ +[[!meta author="""dark"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fdark&do=goto"""]] + +[[!meta title="""change to news/openid on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-8806a9795116e73ec851dfea89af45a786fbe6da"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +poll vote (Accept both)
+ + +
+ +
+
+diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn
+index 5b145fe..87f6403 100644
+--- a/doc/news/openid.mdwn
++++ b/doc/news/openid.mdwn
+@@ -10,4 +10,4 @@ log back in, try out the OpenID signup process if you don't already have an
+ OpenID, and see how OpenID works for you. And let me know your feelings about
+ making such a switch. --[[Joey]]
+ 
+-[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 40 "Accept both"]]
++[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 41 "Accept both"]]
+
+
+
+ + diff --git a/doc/recentchanges/change_8935a131d02ac13b6024dff9cbf7a5f837fcdc04._change b/doc/recentchanges/change_8935a131d02ac13b6024dff9cbf7a5f837fcdc04._change new file mode 100644 index 000000000..12ef0e9ab --- /dev/null +++ b/doc/recentchanges/change_8935a131d02ac13b6024dff9cbf7a5f837fcdc04._change @@ -0,0 +1,161 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-8935a131d02ac13b6024dff9cbf7a5f837fcdc04"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +updated branch, not tested properly yet
+ + +
+ +
+
+diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+index f8ec4c4..8b05010 100644
+--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
++++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+@@ -147,7 +147,7 @@ you don't like my approach:
+ 
+ ----
+ 
+-[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]]
++[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]]
+ [[!tag patch]]
+ 
+ OK, here's an alternative approach, closer in spirit to what was initially
+@@ -165,14 +165,17 @@ whether `url` and `cgiurl` are on the same server with the the same URL
+ scheme. In theory you could use things like `//static.example.com/wiki/`
+ and `//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https
+ while switching server, but I don't know how consistently browsers
+-suppot that.
++support that.
+ 
+ "local" here is short for "locally valid", because these URLs are neither
+ fully relative nor fully absolute, and there doesn't seem to be a good name
+ for them...
+ 
+-I've tested this on a demo website with the CGI enabled, and it seems to
++I tested an earlier version on a demo website with the CGI enabled, and it seemed to
+ work nicely (there might be bugs in some plugins, I didn't try all of them).
++I haven't yet re-tested with my updated branch, which is why it's not `ready/`
++yet.
++
+ The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable
+ `httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log
+ in via that, links all end up in the HTTPS version.
+@@ -217,11 +220,19 @@ New API added by this branch:
+   >> 
+   >>> That makes a great deal of sense, bravo for actually removing
+   >>> parameters in the common case while maintaining backwards
+-  >>> compatability!
++  >>> compatability! --[[Joey]]
++  >>>
++  >>>> Done in my `localurl` branch; not tested in a whole-wiki way
++  >>>> yet, but I did add a regression test. I've used
++  >>>> `urlto(x, undef)` rather than `urlto(x)` so far, but I could
++  >>>> go back through the codebase using the short form if you'd
++  >>>> prefer. --[[smcv]]
+   >>> 
+   >>> It does highlight that it would be better to have a
+   >>> `absolute_urlto($link)` (or maybe `absolute(urlto($link))` )
+   >>> rather than the 3 parameter form. --[[Joey]]
++  >>>
++  >>> Possibly. I haven't added this.
+ 
+ * `IkiWiki::baseurl` has a new second argument which works like the
+   third argument of `urlto`
+@@ -232,19 +243,34 @@ New API added by this branch:
+   >> (But I assume changes to `urlto` will follow through here anyway.)
+   >> --[[Joey]] 
+ 
++  >>> I had to use it a bit more, as a replacement for `$config{url}`
++  >>> when doing things like referencing stylesheets or redirecting to
++  >>> the top of the wiki.
++  >>>
++  >>> I ended up redoing this without the extra parameter. Previously,
++  >>> `baseurl(undef)` was the absolute URL; now, `baseurl(undef)` is
++  >>> the local path. I know you objected to me using `baseurl()` in
++  >>> an earlier branch, because `baseurl().$x` looks confusingly
++  >>> similar to `baseurl($x)` but has totally different semantics;
++  >>> I've generally written it `baseurl(undef)` now, to be more
++  >>> explicit. --[[smcv]]
++
+ * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1`
+ 
+-  > Possibly changed to making this always be local unless `cgiurl => $x`
+-  > is given: see below --[[smcv]]
++  > Now changed to always use the `$local_cgiurl`. --[[smcv]]
+ 
+ * `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters
+   except `cgiurl` and/or `local_cgiurl`
+ 
+   > I assume you have no objection to this --[[smcv]]
+   > 
+-  >> Nod, although I don't know of a use case. --[[Joey]] 
++  >> Nod, although I don't know of a use case. --[[Joey]]
++
++  >>> The use-case is that I can replace `$config{cgiurl}` with
++  >>> `IkiWiki::cgiurl()` for things like the action attribute of
++  >>> forms. --[[smcv]]
+ 
+-Bugs:
++Fixed bugs:
+ 
+ * I don't think anything except `openid` calls `cgiurl` without also
+   passing in `local_cgiurl => 1`, so perhaps that should be the default;
+@@ -265,6 +291,10 @@ Bugs:
+   >>> if `absolute()` were implemented as suggested above, it could also
+   >>> be used with cgiurl if necessary.) --[[Joey]]
+ 
++  >>>> Done (minus `absolute()`). --[[smcv]]
++
++Potential future things:
++
+ * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being
+   exported? Perhaps also `IkiWiki::baseurl`?
+ 
+@@ -285,4 +315,7 @@ Bugs:
+   > AFACIS, `baseurl` is only called in 3 places so I don't think that's
+   > needed. --[[Joey]] 
+ 
+-  >> OK, wontfix. --[[smcv]]
++  >> OK, wontfix. For what it's worth, my branch has 6 uses in IkiWiki
++  >> core code (IkiWiki, CGI, Render and the pseudo-core part of editpage)
++  >> and 5 in plugins, since I used it for things like redirection back
++  >> to the top of the wiki --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_8de7fde49c295a6c9098767b9fdfea79de8476eb._change b/doc/recentchanges/change_8de7fde49c295a6c9098767b9fdfea79de8476eb._change new file mode 100644 index 000000000..f89be517c --- /dev/null +++ b/doc/recentchanges/change_8de7fde49c295a6c9098767b9fdfea79de8476eb._change @@ -0,0 +1,59 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-8de7fde49c295a6c9098767b9fdfea79de8476eb"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +already fixed
+ + +
+ +
+
+diff --git a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+index 8309389..b1053fc 100644
+--- a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
++++ b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+@@ -55,3 +55,6 @@ I believed (until I tested) that the [[ikiwiki/directive/if]] directive, with th
+     """]]
+ 
+ However this doesn't work.  I assume "included" in this context means e.g. via an `inline` or `map`, not template trans-clusion. -- [[Jon]]
++
++> As far as I know, this bug was fixed in
++> 4a75dee651390b79ce4ceb1d951b02e28b3ce83a on October 20th. [[done]] --[[Joey]]
+
+
+
+ + diff --git a/doc/recentchanges/change_9180381728e252cf474eb8a4b0460755b5c28340._change b/doc/recentchanges/change_9180381728e252cf474eb8a4b0460755b5c28340._change new file mode 100644 index 000000000..617d642b9 --- /dev/null +++ b/doc/recentchanges/change_9180381728e252cf474eb8a4b0460755b5c28340._change @@ -0,0 +1,75 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9180381728e252cf474eb8a4b0460755b5c28340"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +tested and seems to work
+ + +
+ +
+
+diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+index 8b05010..264eb96 100644
+--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
++++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+@@ -147,7 +147,7 @@ you don't like my approach:
+ 
+ ----
+ 
+-[[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]]
++[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]]
+ [[!tag patch]]
+ 
+ OK, here's an alternative approach, closer in spirit to what was initially
+@@ -171,10 +171,10 @@ support that.
+ fully relative nor fully absolute, and there doesn't seem to be a good name
+ for them...
+ 
+-I tested an earlier version on a demo website with the CGI enabled, and it seemed to
++I've tested this on a demo website with the CGI enabled, and it seemed to
+ work nicely (there might be bugs in some plugins, I didn't try all of them).
+-I haven't yet re-tested with my updated branch, which is why it's not `ready/`
+-yet.
++The branch at [[todo/use secure cookies for SSL logins]] goes well with
++this one.
+ 
+ The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable
+ `httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log
+
+
+
+ + diff --git a/doc/recentchanges/change_93e15cc84f47a1340f8bd06d7056ba423fe510bb._change b/doc/recentchanges/change_93e15cc84f47a1340f8bd06d7056ba423fe510bb._change new file mode 100644 index 000000000..2df071529 --- /dev/null +++ b/doc/recentchanges/change_93e15cc84f47a1340f8bd06d7056ba423fe510bb._change @@ -0,0 +1,60 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to plugins/autoindex/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-93e15cc84f47a1340f8bd06d7056ba423fe510bb"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/plugins/autoindex/discussion.mdwn b/doc/plugins/autoindex/discussion.mdwn
+index a48fe9d..d8b9be6 100644
+--- a/doc/plugins/autoindex/discussion.mdwn
++++ b/doc/plugins/autoindex/discussion.mdwn
+@@ -1,6 +1,11 @@
+ Would it be possible to add an option to only generate the index files
+ for the html output and not place the markdown files in the wiki source?
+ 
++> Or better still, add a mechanism for ikiwiki to hold transient source
++> pages in memory and render them as if they existed, without actually
++> writing them out, as [[JoeRayhawk]] suggests below? I think
++> add_autofile would be the way to do this. --[[smcv]]
++
+ The reason being that I have a lot of directories which need to be autoindexed,
+ but I would prefer if the index files didn't clutter up my git repository.
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_98d0883c8949e6cde8db019bb282d5fa815ffc1a._change b/doc/recentchanges/change_98d0883c8949e6cde8db019bb282d5fa815ffc1a._change new file mode 100644 index 000000000..1ca5dd2b1 --- /dev/null +++ b/doc/recentchanges/change_98d0883c8949e6cde8db019bb282d5fa815ffc1a._change @@ -0,0 +1,137 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-98d0883c8949e6cde8db019bb282d5fa815ffc1a"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +branches imported into git; benchmark results
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index ff9784d..c4d3a8e 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -15,6 +15,11 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >>> rather than /$re/ so I think that would make sense.
+ >>> -- [[KathrynAndersen]]
+ 
++>>>> Git branch `smcv/ka-glob-cache` has Kathryn's patch. Git
++>>>> branch `smcv/memoize-glob2re` does as I suggested, which
++>>>> is less verbose than Kathryn's patch but also not as
++>>>> fast; I'm not sure why, tbh. --[[smcv]]
++
+ --------------------------------------------------------------
+ Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
+ 
+@@ -51,6 +56,72 @@ Note that the seconds per call for match_glob in the "after" case has gone down
+ K.A.
+ 
+ --------------------------------------------------------------
++
++A second set of benchmarks, done by rebuilding the docwiki at commit f942c2db05e4
++like so:
++
++    perl -Iblib/lib -d:Profile ikiwiki.in -setup docwiki.setup --no-verbose
++
++The docwiki appears to use fewer glob matches than Kathryn's wiki.
++
++With master:
++
++    time elapsed (wall):   29.6970
++    time running program:  24.6930  (83.15%)
++    time profiling (est.): 5.0041  (16.85%)
++    number of calls:       1359180
++    number of exceptions:  13
++
++    %Time    Sec.     #calls   sec/call  F  name
++    13.62    3.3629     3406   0.000987     Text::Balanced::_match_tagged
++    10.84    2.6773    79442   0.000034     IkiWiki::PageSpec::match_glob
++     3.08    0.7598    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++     3.07    0.7593    29830   0.000025     IkiWiki::bestlink
++     2.99    0.7378    10231   0.000072     IkiWiki::PageSpec::match_link
++
++With my `smcv/memoize-glob2re` branch:
++
++    time elapsed (wall):   30.4931
++    time running program:  25.1248  (82.39%)
++    time profiling (est.): 5.3683  (17.61%)
++    number of calls:       1439943
++    number of exceptions:  13
++
++    %Time    Sec.     #calls   sec/call  F  name
++    13.19    3.3146     3406   0.000973     Text::Balanced::_match_tagged
++     8.41    2.1123    79442   0.000027     IkiWiki::PageSpec::match_glob
++     3.97    0.9979    86905   0.000011     Memoize::_memoizer
++     3.05    0.7654    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++     3.02    0.7576    29830   0.000025     IkiWiki::bestlink
++
++and in a repeated run:
++
++     8.40    2.0905    79442   0.000026     IkiWiki::PageSpec::match_glob
++
++With Kathryn's patch as seen in my `smcv/ka-glob-cache` branch:
++
++    time elapsed (wall):   27.7567
++    time running program:  22.9941  (82.84%)
++    time profiling (est.): 4.7627  (17.16%)
++    number of calls:       1279946
++    number of exceptions:  13
++
++    %Time    Sec.     #calls   sec/call  F  name
++    14.29    3.2867     3406   0.000965     Text::Balanced::_match_tagged
++     7.89    1.8136    79442   0.000023     IkiWiki::PageSpec::match_glob
++     3.30    0.7577    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++     3.24    0.7461    29830   0.000025     IkiWiki::bestlink
++     3.19    0.7332      143   0.005127  ?  IkiWiki::pagespec_match_list
++
++and in a repeated run:
++
++     7.84    1.8253    79442   0.000023     IkiWiki::PageSpec::match_glob
++
++--[[smcv]]
++
++--------------------------------------------------------------
++
++
+ <pre>
+ diff --git a/IkiWiki.pm b/IkiWiki.pm
+ index 08a3d78..c187b98 100644
+
+
+
+ + diff --git a/doc/recentchanges/change_99749dfdeac07b975cfba6eef617f3d7362eec73._change b/doc/recentchanges/change_99749dfdeac07b975cfba6eef617f3d7362eec73._change new file mode 100644 index 000000000..71b01cedf --- /dev/null +++ b/doc/recentchanges/change_99749dfdeac07b975cfba6eef617f3d7362eec73._change @@ -0,0 +1,61 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta title="""change to bugs/more_and_RSS_generation on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-99749dfdeac07b975cfba6eef617f3d7362eec73"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +more plugin and rss
+ + +
+ +
+
+diff --git a/doc/bugs/more_and_RSS_generation.mdwn b/doc/bugs/more_and_RSS_generation.mdwn
+new file mode 100644
+index 0000000..72d636f
+--- /dev/null
++++ b/doc/bugs/more_and_RSS_generation.mdwn
+@@ -0,0 +1,7 @@
++I'd like the more plugin and RSS to play better together. In the case of the html generation of the main page of a blog, I'd like to get the first paragraph out, but keep RSS as a full feed.
++
++Maybe there is a different plugin (I also tried toggle)? 
++
++I also note, that at least currently, more seems to break on a few pages, not being parsed at all when aggregated into the front page. 
++
++see also: [[/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields/]]
+
+
+
+ + diff --git a/doc/recentchanges/change_9a7387a53be2b1e182003f3e86cb76d7f10c4b67._change b/doc/recentchanges/change_9a7387a53be2b1e182003f3e86cb76d7f10c4b67._change new file mode 100644 index 000000000..335d14a87 --- /dev/null +++ b/doc/recentchanges/change_9a7387a53be2b1e182003f3e86cb76d7f10c4b67._change @@ -0,0 +1,76 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9a7387a53be2b1e182003f3e86cb76d7f10c4b67"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +thoughts
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index 43571ea..0fc059a 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -22,6 +22,23 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ 
+ >>>>> I think it's because my patch focuses on match_glob while the memoize patch focuses on `glob2re`, and `glob2re` is called in `filecheck`, `meta` and `po` as well as in `match_glob` and `match_user`; thus the memoized `glob2re` is dealing with a bigger set of globs to look up, and thus could be just that little bit slower. -- [[KathrynAndersen]]
+ 
++>>>>>> What may be going on is that glob2re is already a fairly fast
++>>>>>> function, so the overhead of memoizing it with the very generic
++>>>>>> `_memoizer` (see its source) swamps the memoization gain. Note
++>>>>>> that the few functions memoized with the Memoizer before were much
++>>>>>> more expensive, so that little overhead was acceptable then.
++>>>>>>
++>>>>>> It also may be that Kathryn's patch is slightly faster due to using
++>>>>>> the construct `$foo =~ $regexp` rather than `$foo =~ /$regexp/`
++>>>>>> (probably avoids a copy or something like that internally) --
++>>>>>> this despite checking both `exists` and `defined` on the hash, which
++>>>>>> should be reundant AFAICS.
++>>>>>>
++>>>>>> My guess is that the best of both worlds would be to move
++>>>>>> the byhand memoization to glob2re and have it return a compiled
++>>>>>> `/^/i` regexp that can be used without further modifiction in most
++>>>>>> cases. --[[Joey]] 
++
+ --------------------------------------------------------------
+ Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_9b01c9779ef682af0874efc062d9fb2e91676c23._change b/doc/recentchanges/change_9b01c9779ef682af0874efc062d9fb2e91676c23._change new file mode 100644 index 000000000..db8fdff3e --- /dev/null +++ b/doc/recentchanges/change_9b01c9779ef682af0874efc062d9fb2e91676c23._change @@ -0,0 +1,66 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to forum/Need_something_more_powerful_than_Exclude/comment_2_0019cd6b34c8d8678b2532de57a92d15 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9b01c9779ef682af0874efc062d9fb2e91676c23"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added a comment: expression anchored too closely?
+ + +
+ +
+
+diff --git a/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_0019cd6b34c8d8678b2532de57a92d15._comment b/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_0019cd6b34c8d8678b2532de57a92d15._comment
+new file mode 100644
+index 0000000..7842cae
+--- /dev/null
++++ b/doc/forum/Need_something_more_powerful_than_Exclude/comment_2_0019cd6b34c8d8678b2532de57a92d15._comment
+@@ -0,0 +1,12 @@
++[[!comment format=mdwn
++ username="http://smcv.pseudorandom.co.uk/"
++ nickname="smcv"
++ subject="expression anchored too closely?"
++ date="2010-11-23T10:43:21Z"
++ content="""
++It looks as though you might only be excluding a top-level Makefile, and not a Makefile in subdirectories. Try excluding `(^|/)Makefile$` instead, for instance? (See `wiki_file_prune_regexps` in `IkiWiki.pm` for hints.)
++
++The match operation in `&file_pruned` ends up a bit like this:
++
++    \"foo/Makefile\" =~ m{…|…|…|(^|/)Makefile$}
++"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_9c42f5786601429a0b921d6591ebf5e4c1eb4da8._change b/doc/recentchanges/change_9c42f5786601429a0b921d6591ebf5e4c1eb4da8._change new file mode 100644 index 000000000..f235de4ed --- /dev/null +++ b/doc/recentchanges/change_9c42f5786601429a0b921d6591ebf5e4c1eb4da8._change @@ -0,0 +1,70 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to plugins/autoindex/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9c42f5786601429a0b921d6591ebf5e4c1eb4da8"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +put the problematic patch in a toggleable to make discussion more visible
+ + +
+ +
+
+diff --git a/doc/plugins/autoindex/discussion.mdwn b/doc/plugins/autoindex/discussion.mdwn
+index b09481c..6b13d23 100644
+--- a/doc/plugins/autoindex/discussion.mdwn
++++ b/doc/plugins/autoindex/discussion.mdwn
+@@ -22,6 +22,8 @@ If you just don't want to clutter your git repo, below it's a patch does the fol
+ 
+ * If you set autoindex_commit to 1 (this is the default), auto-generated index files will be put in the repo provided you enabled rcs backend.
+ 
++[[!toggle id="patch-for-autoindex_commit" text="patch for autoindex_commit"]]
++[[!toggleable id="patch-for-autoindex_commit" text="""
+ <pre>
+ --- autoindex.pm.orig	2009-10-01 17:13:51.000000000 +0800
+ +++ autoindex.pm	2009-10-01 17:21:09.000000000 +0800
+@@ -65,7 +67,7 @@ If you just don't want to clutter your git repo, below it's a patch does the fol
+  				gettext("automatic index generation"),
+  				undef, undef);
+ </pre>
+-
++"""]]
+  
+ Warning:  I guess this patch may work, but I *haven't tested it yet*.  -- [[weakish]]
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_9c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2._change b/doc/recentchanges/change_9c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2._change new file mode 100644 index 000000000..44bac63c5 --- /dev/null +++ b/doc/recentchanges/change_9c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2._change @@ -0,0 +1,58 @@ +[[!meta author="""134.100.5.65"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2F134.100.5.65&do=goto"""]] + +[[!meta title="""change to news/openid on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9c8f86ee9c59035c9462d2c69c7b89d0c9dbc3c2"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +poll vote (Accept both)
+ + +
+ +
+
+diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn
+index 02f7afb..5b145fe 100644
+--- a/doc/news/openid.mdwn
++++ b/doc/news/openid.mdwn
+@@ -10,4 +10,4 @@ log back in, try out the OpenID signup process if you don't already have an
+ OpenID, and see how OpenID works for you. And let me know your feelings about
+ making such a switch. --[[Joey]]
+ 
+-[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 39 "Accept both"]]
++[[!poll 67 "Accept only OpenID for logins" 21 "Accept only password logins" 40 "Accept both"]]
+
+
+
+ + diff --git a/doc/recentchanges/change_9d0ac3170a8f90d2139ef75698e8af21a6435fb4._change b/doc/recentchanges/change_9d0ac3170a8f90d2139ef75698e8af21a6435fb4._change new file mode 100644 index 000000000..e65592910 --- /dev/null +++ b/doc/recentchanges/change_9d0ac3170a8f90d2139ef75698e8af21a6435fb4._change @@ -0,0 +1,58 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9d0ac3170a8f90d2139ef75698e8af21a6435fb4"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +done with commit da9e1ea667f82d5fca916
+ + +
+ +
+
+diff --git a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+index 70af505..5485bba 100644
+--- a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
++++ b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+@@ -56,3 +56,5 @@ An alternative fix is to wrap the entire template inside a test to see whether t
+     """]]
+ 
+ In fact, this is probably best practice for in-srcdir templates.  I'd consider this done if the documentation for the directive suggested it. -- [[Jon]]
++
++> [[done]] with <http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=da9e1ea667f82d5fca9168dbed19be08040570ff> -- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_9d26a72468fad69d633875b4ffb4aff8abd80023._change b/doc/recentchanges/change_9d26a72468fad69d633875b4ffb4aff8abd80023._change new file mode 100644 index 000000000..c53b0bfea --- /dev/null +++ b/doc/recentchanges/change_9d26a72468fad69d633875b4ffb4aff8abd80023._change @@ -0,0 +1,105 @@ +[[!meta author="""smcv"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fsmcv&do=goto"""]] + +[[!meta title="""change to todo/auto-create_tag_pages_according_to_a_template todo/autoindex_should_use_add__95__autofile todo/transient_in-memory_pages on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9d26a72468fad69d633875b4ffb4aff8abd80023"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +point to my 'transient' branch
+ + +
+ +
+
+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
+index 676e2bc..e065c4a 100644
+--- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
++++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn
+@@ -262,4 +262,6 @@ other pages claim it as an alias. --[[chrysn]]
+ 
+ I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- [[Eric|http://wiki.pdxhub.org/people/eric]]
+ 
++> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]]
++
+ [[!tag done]]
+diff --git a/doc/todo/autoindex_should_use_add__95__autofile.mdwn b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
+index 517567e..64f81c8 100644
+--- a/doc/todo/autoindex_should_use_add__95__autofile.mdwn
++++ b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
+@@ -1,2 +1,4 @@
+ `add_autofile` is a generic version of [[plugins/autoindex]]'s code,
+ so the latter should probably use the former. --[[smcv]]
++
++> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]]
+diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
+index 9808ffd..5dbbe4f 100644
+--- a/doc/todo/transient_in-memory_pages.mdwn
++++ b/doc/todo/transient_in-memory_pages.mdwn
+@@ -18,3 +18,26 @@ This would also be useful for autoindex, as suggested on
+ One refinement I'd suggest is that if the transient page is edited,
+ its transient contents are evaluated and used as the initial
+ content for the edit box; after that, it'd become a static page. --[[smcv]]
++
++--------------------------
++
++[[!template id=gitbranch branch=smcv/transient author="[[smcv]]"]]
++[[!tag patch]]
++
++I had a look at implementing this. It turns out to be harder than I thought
++to have purely in-memory pages (several plugins want to be able to access the
++source file as a file), but I did get this proof-of-concept branch
++to write tag and autoindex pages into an underlay.
++
++This loses the ability to delete the auto-created pages (although they don't
++clutter up git this way, at least), and a lot of the code in autoindex is
++probably now redundant, so this is probably not quite ready for merge, but
++I'd welcome opinions.
++
++Usage: set `tag_underlay` and/or `autoindex_underlay` to an absolute path,
++which you must create beforehand. I suggest *srcdir* + `/.ikiwiki/transient`.
++
++Refinements that could be made if this approach seems reasonable:
++
++* make these options boolean, and have the path always be `.ikiwiki/transient`
++* improve the `remove` plugin so it also deletes from this special underlay
+
+
+
+ + diff --git a/doc/recentchanges/change_9f8cfe998e5ced7e4b2e1dd819a025b0745935ff._change b/doc/recentchanges/change_9f8cfe998e5ced7e4b2e1dd819a025b0745935ff._change new file mode 100644 index 000000000..14b34496c --- /dev/null +++ b/doc/recentchanges/change_9f8cfe998e5ced7e4b2e1dd819a025b0745935ff._change @@ -0,0 +1,59 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to tips/nearlyfreespeech/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-9f8cfe998e5ced7e4b2e1dd819a025b0745935ff"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/tips/nearlyfreespeech/discussion.mdwn b/doc/tips/nearlyfreespeech/discussion.mdwn
+index 73da608..0d1f1f0 100644
+--- a/doc/tips/nearlyfreespeech/discussion.mdwn
++++ b/doc/tips/nearlyfreespeech/discussion.mdwn
+@@ -15,3 +15,6 @@ Hi!<br />
+ How can i upgrade my nearlyfreespeech installation of ikiwiki? To install it i have followed your instructions here.<br>
+ But now if I want to upgrade it to a newer version?<br />
+ Thanks for your incredible work!
++
++> You can move `~/ikiwiki` out of the way and then re-download and install
++> it ikiwiki. --[[Joey]]
+
+
+
+ + diff --git a/doc/recentchanges/change_a194fbc5bced565fa751008b8ada666c411d097d._change b/doc/recentchanges/change_a194fbc5bced565fa751008b8ada666c411d097d._change new file mode 100644 index 000000000..0ea9a66ce --- /dev/null +++ b/doc/recentchanges/change_a194fbc5bced565fa751008b8ada666c411d097d._change @@ -0,0 +1,60 @@ +[[!meta author="""http://lovesgoodfood.com/jason/"""]] + +[[!meta authorurl="""http://lovesgoodfood.com/jason/"""]] + +[[!meta title="""change to ikiwikiusers on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-a194fbc5bced565fa751008b8ada666c411d097d"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Add myself.
+ + +
+ +
+
+diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn
+index 54fa1d5..d8e55ba 100644
+--- a/doc/ikiwikiusers.mdwn
++++ b/doc/ikiwikiusers.mdwn
+@@ -160,6 +160,7 @@ Personal sites and blogs
+ * [Thomas Kane](http://planetkane.org/)
+ * [Marco Silva](http://marcot.eti.br/) a weblog + wiki using the [darcs](http://darcs.net) backend
+ * [NeX-6](http://nex-6.taht.net/) ikiwiki blog and wiki running over ipv6
++* [Jason Riedy](http://lovesgoodfood.com/jason/), which may occasionally look funny if I'm playing with my branch...
+ 
+ Please feel free to add your own ikiwiki site!
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_a2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3._change b/doc/recentchanges/change_a2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3._change new file mode 100644 index 000000000..bfbbc74f9 --- /dev/null +++ b/doc/recentchanges/change_a2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3._change @@ -0,0 +1,62 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmwYptyV5ptNt8LCbMYsmpcNkk9_DRt-EY"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmwYptyV5ptNt8LCbMYsmpcNkk9_DRt-EY"""]] + +[[!meta title="""change to forum/Blog_posting_times_and_ikiwiki_state/comment_1_87304dfa2caea7e526cdb04917524e8c on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-a2a1d2b2d96ede3f6a25d2d0fb89681ec5e05ff3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added a comment
+ + +
+ +
+
+diff --git a/doc/forum/Blog_posting_times_and_ikiwiki_state/comment_1_87304dfa2caea7e526cdb04917524e8c._comment b/doc/forum/Blog_posting_times_and_ikiwiki_state/comment_1_87304dfa2caea7e526cdb04917524e8c._comment
+new file mode 100644
+index 0000000..62bae02
+--- /dev/null
++++ b/doc/forum/Blog_posting_times_and_ikiwiki_state/comment_1_87304dfa2caea7e526cdb04917524e8c._comment
+@@ -0,0 +1,8 @@
++[[!comment format=mdwn
++ username="https://www.google.com/accounts/o8/id?id=AItOawmwYptyV5ptNt8LCbMYsmpcNkk9_DRt-EY"
++ nickname="Matt"
++ subject="comment 1"
++ date="2010-11-04T11:52:53Z"
++ content="""
++Perhaps I have a different setup from you but on my laptop I don't have ikiwiki installed - only a clone of the git repo.  You mean to run --gettime on the post-update git hook?
++"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_a4cb86d73327e7850eeb524ef387b17ac5e1614d._change b/doc/recentchanges/change_a4cb86d73327e7850eeb524ef387b17ac5e1614d._change new file mode 100644 index 000000000..eab83ca54 --- /dev/null +++ b/doc/recentchanges/change_a4cb86d73327e7850eeb524ef387b17ac5e1614d._change @@ -0,0 +1,59 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-a4cb86d73327e7850eeb524ef387b17ac5e1614d"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+index 33e7b74..fae8333 100644
+--- a/doc/bugs/aggregate_generates_long_filenames.mdwn
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -32,3 +32,6 @@ It would also appear this abrubtly terminates aggregate processing (if not ikiwi
+ >> I don't fully grok the aggregate source yet, but I wouldn't rule out
+ >> a bug in the path length checking, personally.  I'm happy to try and
+ >> find it myself though :) -- [[Jon]]
++
++>>> Path length seems unlikely, since the max is 4096 there.
++>>> --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_a6c3d71787c528888c3f66c7ded8dd0c8f430b7e._change b/doc/recentchanges/change_a6c3d71787c528888c3f66c7ded8dd0c8f430b7e._change new file mode 100644 index 000000000..61a399c0a --- /dev/null +++ b/doc/recentchanges/change_a6c3d71787c528888c3f66c7ded8dd0c8f430b7e._change @@ -0,0 +1,57 @@ +[[!meta author="""http://slowdog.myopenid.com/"""]] + +[[!meta authorurl="""http://slowdog.myopenid.com/"""]] + +[[!meta title="""change to index on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-a6c3d71787c528888c3f66c7ded8dd0c8f430b7e"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/index.mdwn b/doc/index.mdwn
+index 90713d1..06acc9c 100644
+--- a/doc/index.mdwn
++++ b/doc/index.mdwn
+@@ -17,7 +17,7 @@ All wikis are supposed to have a [[SandBox]], so this one does too.
+ This site generally runs the latest release of ikiwiki; currently, it runs
+ ikiwiki [[!version ]].
+ 
+-## developer resources sas
++## developer resources
+ 
+ The [[RoadMap]] describes where the project is going.
+ The [[forum]] is open for discussions.
+
+
+
+ + diff --git a/doc/recentchanges/change_ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf._change b/doc/recentchanges/change_ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf._change new file mode 100644 index 000000000..a9c8f9653 --- /dev/null +++ b/doc/recentchanges/change_ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf._change @@ -0,0 +1,64 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/transient_in-memory_pages on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ab96249d5ad8f3ee9275be3fef9e3467b8f3ffdf"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +further thoughts
+ + +
+ +
+
+diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
+index edf056e..9c1be73 100644
+--- a/doc/todo/transient_in-memory_pages.mdwn
++++ b/doc/todo/transient_in-memory_pages.mdwn
+@@ -64,3 +64,11 @@ Refinements that could be made if this approach seems reasonable:
+ >>>
+ >>> Do you think this approach has enough potential that I should
+ >>> continue to hack on it? Any thoughts on the implementation? --[[smcv]]
++
++>>>> Ah, now I understand what you're getting at. Yes, it makes sense to put transient pages under `.ikiwiki`.
++>>>> I haven't looked at the code, but I'd be interested in seeing whether it's generic enough to be used by other plugins (such as `album`) without too much fuss.
++>>>> The idea of a transient underlay gives us a desirable feature for free: that if someone edits the transient page, it is made permanent and added to the repository.
++>>>>
++>>>> I think the tricky thing with removing these transient underlay pages is the question of how to prevent whatever auto-generated the pages in the first place from generating them again - or, conversely, how to force whatever auto-generated those pages to regenerate them if you've changed your mind.
++>>>> I think you'd need something similar to `will_render` so that transient pages would be automatically removed if whatever auto-generated them is no longer around.
++>>>> -- [[KathrynAndersen]]
+
+
+
+ + diff --git a/doc/recentchanges/change_af0bfcc07820008f0387bfd1b35a594ed40a0246._change b/doc/recentchanges/change_af0bfcc07820008f0387bfd1b35a594ed40a0246._change new file mode 100644 index 000000000..d66b4872d --- /dev/null +++ b/doc/recentchanges/change_af0bfcc07820008f0387bfd1b35a594ed40a0246._change @@ -0,0 +1,57 @@ +[[!meta author="""http://pmate.myopenid.com/"""]] + +[[!meta authorurl="""http://pmate.myopenid.com/"""]] + +[[!meta title="""change to tips/nearlyfreespeech/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-af0bfcc07820008f0387bfd1b35a594ed40a0246"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/tips/nearlyfreespeech/discussion.mdwn b/doc/tips/nearlyfreespeech/discussion.mdwn
+index a003760..daebee2 100644
+--- a/doc/tips/nearlyfreespeech/discussion.mdwn
++++ b/doc/tips/nearlyfreespeech/discussion.mdwn
+@@ -9,3 +9,8 @@ BEGIN failed--compilation aborted at (eval 19) line 2.
+ perl is 5.8.9
+ 
+ > This is fixed in 3.1415926. --[[Joey]] 
++
++Hi!
++How can i upgrade my nearlyfreespeech installation of ikiwiki? To install it i have followed your instructions here.
++But now if I want to upgrade it to a newer version?
++Thanks for your incredible work!
+
+
+
+ + diff --git a/doc/recentchanges/change_af75602391ac9651e7594c65588da86d591f2c01._change b/doc/recentchanges/change_af75602391ac9651e7594c65588da86d591f2c01._change new file mode 100644 index 000000000..34bad8586 --- /dev/null +++ b/doc/recentchanges/change_af75602391ac9651e7594c65588da86d591f2c01._change @@ -0,0 +1,51 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawna2L5uKII-LuYyGFfQ_1VRGHbID0xYPYc"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawna2L5uKII-LuYyGFfQ_1VRGHbID0xYPYc"""]] + +[[!meta title="""change to sandbox/Mooooo on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-af75602391ac9651e7594c65588da86d591f2c01"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/sandbox/Mooooo.mdwn b/doc/sandbox/Mooooo.mdwn
+new file mode 100644
+index 0000000..6f11d35
+--- /dev/null
++++ b/doc/sandbox/Mooooo.mdwn
+@@ -0,0 +1 @@
++Hrm.
+
+
+
+ + diff --git a/doc/recentchanges/change_b62581583107f6fc3e9bccf66a87a491c236757f._change b/doc/recentchanges/change_b62581583107f6fc3e9bccf66a87a491c236757f._change new file mode 100644 index 000000000..9cd21da53 --- /dev/null +++ b/doc/recentchanges/change_b62581583107f6fc3e9bccf66a87a491c236757f._change @@ -0,0 +1,51 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmrVK0l7LGe93rzchPlVg7bukNgTsqTbn8"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmrVK0l7LGe93rzchPlVg7bukNgTsqTbn8"""]] + +[[!meta title="""change to forum/ikiwiki_+_mathjax on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-b62581583107f6fc3e9bccf66a87a491c236757f"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/forum/ikiwiki_+_mathjax.mdwn b/doc/forum/ikiwiki_+_mathjax.mdwn
+new file mode 100644
+index 0000000..1279a2c
+--- /dev/null
++++ b/doc/forum/ikiwiki_+_mathjax.mdwn
+@@ -0,0 +1 @@
++Is it possible to use [mathjax](http://www.mathjax.org/) in ikiwiki to typeset math formulas? If so, is this compatible with the [wmd](http://ikiwiki.info/plugins/wmd/) plugin?
+
+
+
+ + diff --git a/doc/recentchanges/change_c02f9d224cb78a3ad880cb749ef4a11eadfad79a._change b/doc/recentchanges/change_c02f9d224cb78a3ad880cb749ef4a11eadfad79a._change new file mode 100644 index 000000000..e22162fac --- /dev/null +++ b/doc/recentchanges/change_c02f9d224cb78a3ad880cb749ef4a11eadfad79a._change @@ -0,0 +1,58 @@ +[[!meta author="""jmtd"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjmtd&do=goto"""]] + +[[!meta title="""change to bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-c02f9d224cb78a3ad880cb749ef4a11eadfad79a"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +sorry, I'll try against master in future.
+ + +
+ +
+
+diff --git a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+index b1053fc..ff98ba5 100644
+--- a/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
++++ b/doc/bugs/argument_isn__39__t_numeric:_mixing_templates_and_creation__95__date.mdwn
+@@ -58,3 +58,5 @@ However this doesn't work.  I assume "included" in this context means e.g. via a
+ 
+ > As far as I know, this bug was fixed in
+ > 4a75dee651390b79ce4ceb1d951b02e28b3ce83a on October 20th. [[done]] --[[Joey]]
++
++>> Sorry Joey, I'll make sure to reproduce stuff against master in future. [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_c1f3129583ae4a1e3e9ace89ba11c8bf6c308be3._change b/doc/recentchanges/change_c1f3129583ae4a1e3e9ace89ba11c8bf6c308be3._change new file mode 100644 index 000000000..340fc6c39 --- /dev/null +++ b/doc/recentchanges/change_c1f3129583ae4a1e3e9ace89ba11c8bf6c308be3._change @@ -0,0 +1,60 @@ +[[!meta author="""http://pmate.myopenid.com/"""]] + +[[!meta authorurl="""http://pmate.myopenid.com/"""]] + +[[!meta title="""change to tips/nearlyfreespeech/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-c1f3129583ae4a1e3e9ace89ba11c8bf6c308be3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/tips/nearlyfreespeech/discussion.mdwn b/doc/tips/nearlyfreespeech/discussion.mdwn
+index daebee2..73da608 100644
+--- a/doc/tips/nearlyfreespeech/discussion.mdwn
++++ b/doc/tips/nearlyfreespeech/discussion.mdwn
+@@ -10,7 +10,8 @@ perl is 5.8.9
+ 
+ > This is fixed in 3.1415926. --[[Joey]] 
+ 
+-Hi!
+-How can i upgrade my nearlyfreespeech installation of ikiwiki? To install it i have followed your instructions here.
+-But now if I want to upgrade it to a newer version?
++
++Hi!<br />
++How can i upgrade my nearlyfreespeech installation of ikiwiki? To install it i have followed your instructions here.<br>
++But now if I want to upgrade it to a newer version?<br />
+ Thanks for your incredible work!
+
+
+
+ + diff --git a/doc/recentchanges/change_c3624227620f5034fa84b3cb1294a61fc08eeea9._change b/doc/recentchanges/change_c3624227620f5034fa84b3cb1294a61fc08eeea9._change new file mode 100644 index 000000000..f6790d834 --- /dev/null +++ b/doc/recentchanges/change_c3624227620f5034fa84b3cb1294a61fc08eeea9._change @@ -0,0 +1,55 @@ +[[!meta author="""civiccents"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fciviccents&do=goto"""]] + +[[!meta title="""change to sandbox/D-Liberative on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-c3624227620f5034fa84b3cb1294a61fc08eeea9"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +test
+ + +
+ +
+
+diff --git a/doc/sandbox/D-Liberative.wiki b/doc/sandbox/D-Liberative.wiki
+new file mode 100644
+index 0000000..6907152
+--- /dev/null
++++ b/doc/sandbox/D-Liberative.wiki
+@@ -0,0 +1 @@
++For now its just a concept... what if we could map deliberative capacity?
+
+
+
+ + diff --git a/doc/recentchanges/change_c8537b41320e1f38b2369f24431423dfb2f14b15._change b/doc/recentchanges/change_c8537b41320e1f38b2369f24431423dfb2f14b15._change new file mode 100644 index 000000000..faf921e65 --- /dev/null +++ b/doc/recentchanges/change_c8537b41320e1f38b2369f24431423dfb2f14b15._change @@ -0,0 +1,61 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to forum/Blog_posting_times_and_ikiwiki_state on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-c8537b41320e1f38b2369f24431423dfb2f14b15"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn b/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn
+index 3e6c232..0c1da5b 100644
+--- a/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn
++++ b/doc/forum/Blog_posting_times_and_ikiwiki_state.mdwn
+@@ -17,3 +17,12 @@ What can I do?
+ 
+ Is it a spectacularly bad idea to include the ikiwiki state file in my cloned repo (I suspect it is).  What else could be done?  Can I disable pagestate somehow or force ikiwiki to always use git commit times for Posted times?
+ 
++> Have you tried running ikiwiki with the `--gettime` option on your laptop,
++> to force it to retrieve initial commit times from git? You should only
++> need to do that once, and it'll be cached in the pagestate thereafter.
++>
++> Because that functionality is slow on every supported VCS except git,
++> ikiwiki tries to avoid using it unless it's really needed. [[rcs]]
++> lists it as "fast" for git, though, so depending how fast it really is
++> and how large your wiki is, you might be able to get away with running
++> ikiwiki with `--gettime` all the time? --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_c9b737cc8596f9421ba968e56839eb052e80e794._change b/doc/recentchanges/change_c9b737cc8596f9421ba968e56839eb052e80e794._change new file mode 100644 index 000000000..6ea4e0e20 --- /dev/null +++ b/doc/recentchanges/change_c9b737cc8596f9421ba968e56839eb052e80e794._change @@ -0,0 +1,98 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-c9b737cc8596f9421ba968e56839eb052e80e794"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +one more patch: but expanding the memoization is actually a slowdown for the docwiki
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index de3cf48..4fe1454 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -43,12 +43,19 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >>>>>> `/^/i` regexp that can be used without further modifiction in most
+ >>>>>> cases. --[[Joey]] 
+ 
+->>>>>>> Done, see `smcv/ready/glob-cache`.
++>>>>>>> Done, see `smcv/ready/glob-cache` and `smcv/glob-cache-too-far`.
++>>>>>>>
+ >>>>>>> Kathryn's patch is a significant improvement; my first patch on top of
+->>>>>>> that is a trivial cleanup that speeds it up a little, and the other two
++>>>>>>> that is a trivial cleanup that speeds it up a little, and the next two
+ >>>>>>> patches (using precompiled regexes) have surprisingly little effect
+ >>>>>>> (they don't slow it down either though, so either omit them or merge
+->>>>>>> them, whichever). Detailed benchmark results --[[smcv]]
++>>>>>>> them, whichever). Detailed benchmark results below.
++>>>>>>>
++>>>>>>> Moving the memoization to `glob2re` actually seems to slow things down
++>>>>>>> again - I suspect the docwiki has few enough mentions of `user()` etc.
++>>>>>>> that caching them is a waste of time, but perhaps it's not the most
++>>>>>>> representative.
++>>>>>>> --[[smcv]]
+ 
+ --------------------------------------------------------------
+ 
+@@ -120,9 +127,21 @@ master at time of branch:
+      7.70    1.7814    79514   0.000022     IkiWiki::PageSpec::match_glob
+      3.35    0.7756    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
+ 
+-"""]]
++`move memoization from match_glob to glob2re`:
++
++    time elapsed (wall):   28.7677
++    time running program:  23.9473  (83.24%)
++    time profiling (est.): 4.8205  (16.76%)
++    number of calls:       1360181
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    13.98    3.3469     3408   0.000982     Text::Balanced::_match_tagged
++     8.85    2.1194    79514   0.000027     IkiWiki::PageSpec::match_glob
++     3.24    0.7750    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
+ 
+ --[[smcv]]
++"""]]
+ 
+ --------------------------------------------------------------
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_ca166361973e09b6756acbfe46b4a1bcfa4148d7._change b/doc/recentchanges/change_ca166361973e09b6756acbfe46b4a1bcfa4148d7._change new file mode 100644 index 000000000..3bfe0d0a0 --- /dev/null +++ b/doc/recentchanges/change_ca166361973e09b6756acbfe46b4a1bcfa4148d7._change @@ -0,0 +1,53 @@ +[[!meta author="""dark"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fdark&do=goto"""]] + +[[!meta title="""change to users/dark on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ca166361973e09b6756acbfe46b4a1bcfa4148d7"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/users/dark.mdwn b/doc/users/dark.mdwn
+new file mode 100644
+index 0000000..e1d06d0
+--- /dev/null
++++ b/doc/users/dark.mdwn
+@@ -0,0 +1,3 @@
++[[!meta title="Richard Braakman"]]
++
++Lars Wirzenius convinced me to try ikiwiki for blogging :)
+
+
+
+ + diff --git a/doc/recentchanges/change_cb45d3cf44760411746414ba1218c925ad097149._change b/doc/recentchanges/change_cb45d3cf44760411746414ba1218c925ad097149._change new file mode 100644 index 000000000..5bd6a2199 --- /dev/null +++ b/doc/recentchanges/change_cb45d3cf44760411746414ba1218c925ad097149._change @@ -0,0 +1,65 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-cb45d3cf44760411746414ba1218c925ad097149"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +re the openid_provider cookie
+ + +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+index 3ca85fd..d9b6df6 100644
+--- a/doc/bugs/logout_in_ikiwiki.mdwn
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -12,6 +12,12 @@ It looks like there is no way to logout of ikiwiki at present, meaning that if y
+ >> (I'd argue also in favor of the openid_provider cookie expiring 
+ >>  in less time than it does now, and being session based)
+ 
++>>> (The `openid_provider` cookie is purely a convenience cookie to
++>>> auto-select the user's openid provider the next time they log
++>>> in. As such, it cannot be a session cookie. It does not provide any
++>>> personally-identifying information so it should not really matter 
++>>> when it expires.) --[[Joey]]
++
+ >> It would be nice to move navigational elements to the upper right corner 
+ >> of the page...
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_cbcd9077ad5fbef8c0622ea9c78a66c9baece804._change b/doc/recentchanges/change_cbcd9077ad5fbef8c0622ea9c78a66c9baece804._change new file mode 100644 index 000000000..f9603cdfd --- /dev/null +++ b/doc/recentchanges/change_cbcd9077ad5fbef8c0622ea9c78a66c9baece804._change @@ -0,0 +1,57 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawlOh8Cp-kxb0kaANKSNGrtw5XvdyHGJ3dk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawlOh8Cp-kxb0kaANKSNGrtw5XvdyHGJ3dk"""]] + +[[!meta title="""change to sandbox/Testing_blog_entry on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-cbcd9077ad5fbef8c0622ea9c78a66c9baece804"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/sandbox/Testing_blog_entry.mdwn b/doc/sandbox/Testing_blog_entry.mdwn
+new file mode 100644
+index 0000000..aa5fa5b
+--- /dev/null
++++ b/doc/sandbox/Testing_blog_entry.mdwn
+@@ -0,0 +1,7 @@
++# Be cool, this is a test!
++
++Hello guys, this is *just a test* entry.
++
++* Did I say
++* that I love
++* bulleted lists?
+
+
+
+ + diff --git a/doc/recentchanges/change_ccd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3._change b/doc/recentchanges/change_ccd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3._change new file mode 100644 index 000000000..fc7bcda4e --- /dev/null +++ b/doc/recentchanges/change_ccd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3._change @@ -0,0 +1,57 @@ +[[!meta author="""http://cristian.regolo.cc/"""]] + +[[!meta authorurl="""http://cristian.regolo.cc/"""]] + +[[!meta title="""change to setup/byhand on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ccd80905f7ea02ef07c2174ab2e8bd5f8ab0afc3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/setup/byhand.mdwn b/doc/setup/byhand.mdwn
+index 86cff5a..75a5648 100644
+--- a/doc/setup/byhand.mdwn
++++ b/doc/setup/byhand.mdwn
+@@ -104,7 +104,7 @@ is ok, run `ikiwiki --setup ikiwiki.setup`, and you're done!
+ There are lots of other configuration options in ikiwiki.setup that you
+ can uncomment, configure, and enable by re-running
+ `ikiwiki --setup ikiwiki.setup`. Be sure to browse through all the
+-[[plugins]]..
++[[plugins]].
+ 
+ ## Put your wiki in revision control.
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_cfc1b6ac486e11cb11d6c72602bf70b0a440b747._change b/doc/recentchanges/change_cfc1b6ac486e11cb11d6c72602bf70b0a440b747._change new file mode 100644 index 000000000..cd8f5cb07 --- /dev/null +++ b/doc/recentchanges/change_cfc1b6ac486e11cb11d6c72602bf70b0a440b747._change @@ -0,0 +1,59 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-cfc1b6ac486e11cb11d6c72602bf70b0a440b747"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+index a9c407b..3ca85fd 100644
+--- a/doc/bugs/logout_in_ikiwiki.mdwn
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -16,7 +16,10 @@ It looks like there is no way to logout of ikiwiki at present, meaning that if y
+ >> of the page...
+ 
+ >> I have two kinds of pages (wiki and blog), and three classes of users  
++
+ >> anonymous users - display things like login, help, and recentchanges,
++
+ >> non-admin users - on a per subdir basis (blog and !blog) display 
+ >> logout, help, recentchanges, edit, comment 
++
+ >> admin users - logout, help, recentchanges, edit, comment, etc
+
+
+
+ + diff --git a/doc/recentchanges/change_d16104f55d8b31929d0466ca9abc3ccb4af0a8e8._change b/doc/recentchanges/change_d16104f55d8b31929d0466ca9abc3ccb4af0a8e8._change new file mode 100644 index 000000000..d2c139b20 --- /dev/null +++ b/doc/recentchanges/change_d16104f55d8b31929d0466ca9abc3ccb4af0a8e8._change @@ -0,0 +1,72 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to bugs/more_and_RSS_generation on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-d16104f55d8b31929d0466ca9abc3ccb4af0a8e8"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/bugs/more_and_RSS_generation.mdwn b/doc/bugs/more_and_RSS_generation.mdwn
+index 72d636f..00ab43f 100644
+--- a/doc/bugs/more_and_RSS_generation.mdwn
++++ b/doc/bugs/more_and_RSS_generation.mdwn
+@@ -2,6 +2,19 @@ I'd like the more plugin and RSS to play better together. In the case of the htm
+ 
+ Maybe there is a different plugin (I also tried toggle)? 
+ 
++> I am not a fan of the more directive (thus the rant about it sucking
++> embedded in its [[example|ikiwiki/directive/more]]). But I don't think 
++> that weakening it to not work in rss feeds is a good idea, if someone
++> wants to force users to go somewhere to view their full content, 
++> they should be able to do it, even though it does suck.
++> 
++> The toggle directive will degrade fairly well in an rss feed to
++> display the full text. (There is an annoying toggle link that does
++> nothing when embedded in an rss feed). --[[Joey]]
++
+ I also note, that at least currently, more seems to break on a few pages, not being parsed at all when aggregated into the front page. 
+ 
++> It's just a simple directive, it should work anywhere any directive will,
++> and does as far as I can see. Details? --[[Joey]]
++
+ see also: [[/bugs/rss_feeds_do_not_use_recommended_encoding_of_entities_for_some_fields/]]
+
+
+
+ + diff --git a/doc/recentchanges/change_d5056fb61e8332fea658363e931ec28a35681ffe._change b/doc/recentchanges/change_d5056fb61e8332fea658363e931ec28a35681ffe._change new file mode 100644 index 000000000..5ed5137ba --- /dev/null +++ b/doc/recentchanges/change_d5056fb61e8332fea658363e931ec28a35681ffe._change @@ -0,0 +1,68 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to plugins/htmlscrubber on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-d5056fb61e8332fea658363e931ec28a35681ffe"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +add example of skipping blog posts while scrubbing comments
+ + +
+ +
+
+diff --git a/doc/plugins/htmlscrubber.mdwn b/doc/plugins/htmlscrubber.mdwn
+index c59b46e..080575c 100644
+--- a/doc/plugins/htmlscrubber.mdwn
++++ b/doc/plugins/htmlscrubber.mdwn
+@@ -32,10 +32,11 @@ other HTML-related functionality, such as whether [[meta]] allows
+ potentially unsafe HTML tags.
+ 
+ The `htmlscrubber_skip` configuration setting can be used to skip scrubbing
+-of some pages. Set it to a [[ikiwiki/PageSpec]], such as "!*/Discussion",
+-and pages matching that can have all the evil CSS, JavsScript, and unsafe
+-html elements you like. One safe way to use this is to use [[lockedit]] to
+-lock those pages, so only admins can edit them.
++of some pages. Set it to a [[ikiwiki/PageSpec]], such as 
++"posts/* and !comment(*) and !*/Discussion", and pages matching that can have
++all the evil CSS, JavsScript, and unsafe html elements you like. One safe
++way to use this is to use [[lockedit]] to lock those pages, so only admins
++can edit them.
+ 
+ ----
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_d6ff694ff7a6a4700ccbbd5819907eac73cf065a._change b/doc/recentchanges/change_d6ff694ff7a6a4700ccbbd5819907eac73cf065a._change new file mode 100644 index 000000000..235b8a592 --- /dev/null +++ b/doc/recentchanges/change_d6ff694ff7a6a4700ccbbd5819907eac73cf065a._change @@ -0,0 +1,236 @@ +[[!meta author="""smcv"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fsmcv&do=goto"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-d6ff694ff7a6a4700ccbbd5819907eac73cf065a"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +branch ready for merge, I think
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index 0fc059a..de3cf48 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -1,3 +1,7 @@
++[[!template id=gitbranch branch=smcv/ready/glob-cache
++  author="[[KathrynAndersen]], [[smcv]]"]]
++[[!tag patch]]
++
+ I've been profiling my IkiWiki to try to improve speed (with many pages makes speed even more important) and I've written a patch to improve the speed of match_glob.  This matcher is a good one to improve the speed of, because it gets called so many times.
+ 
+ Here's my patch - please consider it! -- [[KathrynAndersen]]
+@@ -39,7 +43,92 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >>>>>> `/^/i` regexp that can be used without further modifiction in most
+ >>>>>> cases. --[[Joey]] 
+ 
++>>>>>>> Done, see `smcv/ready/glob-cache`.
++>>>>>>> Kathryn's patch is a significant improvement; my first patch on top of
++>>>>>>> that is a trivial cleanup that speeds it up a little, and the other two
++>>>>>>> patches (using precompiled regexes) have surprisingly little effect
++>>>>>>> (they don't slow it down either though, so either omit them or merge
++>>>>>>> them, whichever). Detailed benchmark results --[[smcv]]
++
+ --------------------------------------------------------------
++
++[[!toggle id="smcv-benchmark" text="current benchmarks"]]
++
++[[!toggleable id="smcv-benchmark" text="""
++master at time of branch:
++
++    time elapsed (wall):   29.6348
++    time running program:  24.9212  (84.09%)
++    time profiling (est.): 4.7136  (15.91%)
++    number of calls:       1360181
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    13.24    3.2986     3408   0.000968     Text::Balanced::_match_tagged
++    10.94    2.7253    79514   0.000034     IkiWiki::PageSpec::match_glob
++     3.19    0.7952    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++
++`Improve the speed of match_glob`:
++
++    time elapsed (wall):   27.9755
++    time running program:  23.5293  (84.11%)
++    time profiling (est.): 4.4461  (15.89%)
++    number of calls:       1280875
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    14.56    3.4257     3408   0.001005     Text::Balanced::_match_tagged
++     7.82    1.8403    79514   0.000023     IkiWiki::PageSpec::match_glob
++     3.27    0.7698    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++
++`match_glob: streamline glob cache slightly`:
++
++    time elapsed (wall):   27.5753
++    time running program:  23.1714  (84.03%)
++    time profiling (est.): 4.4039  (15.97%)
++    number of calls:       1280875
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    14.09    3.2637     3408   0.000958     Text::Balanced::_match_tagged
++     7.74    1.7926    79514   0.000023     IkiWiki::PageSpec::match_glob
++     3.30    0.7646    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++
++`glob2re: return a precompiled, anchored case-insensitiv...`:
++
++    time elapsed (wall):   27.5656
++    time running program:  23.1464  (83.97%)
++    time profiling (est.): 4.4192  (16.03%)
++    number of calls:       1282189
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    14.21    3.2891     3408   0.000965     Text::Balanced::_match_tagged
++     7.72    1.7872    79514   0.000022     IkiWiki::PageSpec::match_glob
++     3.32    0.7678    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++
++`make use of precompiled regex objects`:
++
++    time elapsed (wall):   27.5357
++    time running program:  23.1289  (84.00%)
++    time profiling (est.): 4.4068  (16.00%)
++    number of calls:       1281981
++    number of exceptions:  13
++    
++    %Time    Sec.     #calls   sec/call  F  name
++    14.17    3.2776     3408   0.000962     Text::Balanced::_match_tagged
++     7.70    1.7814    79514   0.000022     IkiWiki::PageSpec::match_glob
++     3.35    0.7756    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
++
++"""]]
++
++--[[smcv]]
++
++--------------------------------------------------------------
++
++[[!toggle id="ka-benchmarks" text="Kathryn's benchmarks"]]
++
++[[!toggleable id="ka-benchmarks" text="""
+ Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
+ 
+ Before:
+@@ -73,73 +162,13 @@ number of exceptions:  65
+ Note that the seconds per call for match_glob in the "after" case has gone down by about a third.
+ 
+ K.A.
++"""]]
+ 
+ --------------------------------------------------------------
+ 
+-A second set of benchmarks, done by rebuilding the docwiki at commit f942c2db05e4
+-like so:
+-
+-    perl -Iblib/lib -d:Profile ikiwiki.in -setup docwiki.setup --no-verbose
+-
+-The docwiki appears to use fewer glob matches than Kathryn's wiki.
+-
+-With master:
+-
+-    time elapsed (wall):   29.6970
+-    time running program:  24.6930  (83.15%)
+-    time profiling (est.): 5.0041  (16.85%)
+-    number of calls:       1359180
+-    number of exceptions:  13
+-
+-    %Time    Sec.     #calls   sec/call  F  name
+-    13.62    3.3629     3406   0.000987     Text::Balanced::_match_tagged
+-    10.84    2.6773    79442   0.000034     IkiWiki::PageSpec::match_glob
+-     3.08    0.7598    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
+-     3.07    0.7593    29830   0.000025     IkiWiki::bestlink
+-     2.99    0.7378    10231   0.000072     IkiWiki::PageSpec::match_link
+-
+-With my `smcv/memoize-glob2re` branch:
+-
+-    time elapsed (wall):   30.4931
+-    time running program:  25.1248  (82.39%)
+-    time profiling (est.): 5.3683  (17.61%)
+-    number of calls:       1439943
+-    number of exceptions:  13
+-
+-    %Time    Sec.     #calls   sec/call  F  name
+-    13.19    3.3146     3406   0.000973     Text::Balanced::_match_tagged
+-     8.41    2.1123    79442   0.000027     IkiWiki::PageSpec::match_glob
+-     3.97    0.9979    86905   0.000011     Memoize::_memoizer
+-     3.05    0.7654    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
+-     3.02    0.7576    29830   0.000025     IkiWiki::bestlink
+-
+-and in a repeated run:
+-
+-     8.40    2.0905    79442   0.000026     IkiWiki::PageSpec::match_glob
+-
+-With Kathryn's patch as seen in my `smcv/ka-glob-cache` branch:
+-
+-    time elapsed (wall):   27.7567
+-    time running program:  22.9941  (82.84%)
+-    time profiling (est.): 4.7627  (17.16%)
+-    number of calls:       1279946
+-    number of exceptions:  13
+-
+-    %Time    Sec.     #calls   sec/call  F  name
+-    14.29    3.2867     3406   0.000965     Text::Balanced::_match_tagged
+-     7.89    1.8136    79442   0.000023     IkiWiki::PageSpec::match_glob
+-     3.30    0.7577    59454   0.000013     <anon>:IkiWiki/Plugin/inline.pm:223
+-     3.24    0.7461    29830   0.000025     IkiWiki::bestlink
+-     3.19    0.7332      143   0.005127  ?  IkiWiki::pagespec_match_list
+-
+-and in a repeated run:
+-
+-     7.84    1.8253    79442   0.000023     IkiWiki::PageSpec::match_glob
+-
+---[[smcv]]
+-
+---------------------------------------------------------------
++[[!toggle id="ka-patch" text="Kathryn's original patch"]]
+ 
++[[!toggleable id="ka-patch" text="""
+ 
+ <pre>
+ diff --git a/IkiWiki.pm b/IkiWiki.pm
+@@ -174,4 +203,5 @@ index 08a3d78..c187b98 100644
+  			return IkiWiki::SuccessReason->new("$glob matches $page");
+  		}
+ </pre>
++"""]]
+ --------------------------------------------------------------
+
+
+
+ + diff --git a/doc/recentchanges/change_d916cd2f71f1c22dad947d7b2134edbbb15e7b8e._change b/doc/recentchanges/change_d916cd2f71f1c22dad947d7b2134edbbb15e7b8e._change new file mode 100644 index 000000000..6a128e5df --- /dev/null +++ b/doc/recentchanges/change_d916cd2f71f1c22dad947d7b2134edbbb15e7b8e._change @@ -0,0 +1,120 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-d916cd2f71f1c22dad947d7b2134edbbb15e7b8e"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +respond to feedback
+ + +
+ +
+
+diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+index 4fafc2b..80925b4 100644
+--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
++++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+@@ -191,14 +191,41 @@ New API added by this branch:
+   > The new form for local urls will typically be only a little bit longer,
+   > except in the unusual case where the cgiurl is elsewhere. --[[Joey]]
+ 
++  >> So, have urlto(x, y) use `$local_url`? There are few calls, but IMO
++  >> they're for the most important things - wikilinks, img, map and
++  >> other ordinary hyperlinks. Using `$local_url` would be fine for
++  >> webserver-based use, but it does stop you browsing your wiki's
++  >> HTML over `file:///` (unless you set that as the base URL, but
++  >> then you can't move it around), and stops you moving simple
++  >> outputs (like the docwiki!) around.
++  >>
++  >> I personally think breaking the docwiki is enough to block that.
++  >>
++  >> How about this?
++  >>
++  >> * `urlto($link, $page)` with `$page` defined: relative
++  >> * `urlto($link, undef)`: local, starts with `/`
++  >> * `urlto($link)`: also local, as a side-effect
++  >> * `urlto($link, $anything, 1)` (but idiomatically, `$anything` is
++  >>   normally undef): absolute, starts with `http[s]://`
++  >>
++  >> --[[smcv]]
++
+ * `IkiWiki::baseurl` has a new second argument which works like the
+   third argument of `urlto`
+ 
++  > I assume you have no objection to this --[[smcv]]
++
+ * `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1`
+ 
++  > Possibly changed to making this always be local unless `cgiurl => $x`
++  > is given: see below --[[smcv]]
++
+ * `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters
+   except `cgiurl` and/or `local_cgiurl`
+ 
++  > I assume you have no objection to this --[[smcv]]
++
+ Bugs:
+ 
+ * I don't think anything except `openid` calls `cgiurl` without also
+@@ -211,10 +238,18 @@ Bugs:
+ 
+   > I agree that makes sense. --[[Joey]]
+ 
++  >> I'm not completely sure whether you're agreeing with "perhaps do this"
++  >> or "that looks too strange", so please disambiguate:
++  >> would you accept a patch that makes `cgiurl` default to a local
++  >> (starts-with-`/`) result? If you would, that'd reduce the diff. --[[smcv]]
++
+ * It occurs to me that `IkiWiki::cgiurl` could probably benefit from being
+   exported? Perhaps also `IkiWiki::baseurl`?
+ 
+-  > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]] 
++  > Possibly, see [[firm_up_plugin_interface]]. --[[Joey]]
++
++  >> Not really part of this branch, though, so wontfix (unless you ask me
++  >> to do so). --[[smcv]]
+ 
+ * Or, to reduce use of the unexported `baseurl` function, it might make
+   sense to give `urlto` a special case that references the root of the wiki,
+@@ -227,3 +262,5 @@ Bugs:
+ 
+   > AFACIS, `baseurl` is only called in 3 places so I don't think that's
+   > needed. --[[Joey]] 
++
++  >> OK, wontfix. --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_da9e1ea667f82d5fca9168dbed19be08040570ff._change b/doc/recentchanges/change_da9e1ea667f82d5fca9168dbed19be08040570ff._change new file mode 100644 index 000000000..2a24ad4e2 --- /dev/null +++ b/doc/recentchanges/change_da9e1ea667f82d5fca9168dbed19be08040570ff._change @@ -0,0 +1,96 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to ikiwiki/directive/template on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-da9e1ea667f82d5fca9168dbed19be08040570ff"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +guard templates with the if directive where necessary
+ + +
+ +
+
+diff --git a/doc/ikiwiki/directive/template.mdwn b/doc/ikiwiki/directive/template.mdwn
+index 9e3ae54..df391f9 100644
+--- a/doc/ikiwiki/directive/template.mdwn
++++ b/doc/ikiwiki/directive/template.mdwn
+@@ -60,22 +60,30 @@ few things:
+   `<TMPL_IF variable>text</TMPL_IF>`.
+ * To use one block of text if a variable is set and a second if it's not,
+   use `<TMPL_IF variable>text<TMPL_ELSE>other text</TMPL_IF>`
++* Each template file included in the wiki's source will also generate a regular
++  wiki page.  In many cases you might want to prevent some of your template
++  being interpreted for the regular page.  Use the [[if]] directive with the
++  `included()` test to guard the template code.
+ 
+ Here's a sample template:
+ 
+-        <span class="infobox">
+-        Name: \[[<TMPL_VAR raw_name>]]<br />
+-        Age: <TMPL_VAR age><br />
+-        <TMPL_IF color>
+-        Favorite color: <TMPL_VAR color><br />
+-        <TMPL_ELSE>
+-        No favorite color.<br />
+-        </TMPL_IF>
+-        <TMPL_IF notes>
+-        <hr />
+-        <TMPL_VAR notes>
+-        </TMPL_IF>
+-        </span>
++        \[[!if test="included()" then="""
++          <span class="infobox">
++          Name: \[[<TMPL_VAR raw_name>]]<br />
++          Age: <TMPL_VAR age><br />
++          <TMPL_IF color>
++            Favorite color: <TMPL_VAR color><br />
++          <TMPL_ELSE>
++            No favorite color.<br />
++          </TMPL_IF>
++          <TMPL_IF notes>
++            <hr />
++            <TMPL_VAR notes>
++          </TMPL_IF>
++          </span>
++        """ else="""
++          This is a template page.
++        """]]
+ 
+ The filled out template will be formatted the same as the rest of the page
+ that contains it, so you can include WikiLinks and all other forms of wiki
+
+
+
+ + diff --git a/doc/recentchanges/change_daf89f59e61d9091fe27dd8738b40db5fa85a5e6._change b/doc/recentchanges/change_daf89f59e61d9091fe27dd8738b40db5fa85a5e6._change new file mode 100644 index 000000000..6705227a9 --- /dev/null +++ b/doc/recentchanges/change_daf89f59e61d9091fe27dd8738b40db5fa85a5e6._change @@ -0,0 +1,59 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to forum/PageSpec_results_from_independent_checkout on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-daf89f59e61d9091fe27dd8738b40db5fa85a5e6"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response
+ + +
+ +
+
+diff --git a/doc/forum/PageSpec_results_from_independent_checkout.mdwn b/doc/forum/PageSpec_results_from_independent_checkout.mdwn
+index 6b2fd6d..693287d 100644
+--- a/doc/forum/PageSpec_results_from_independent_checkout.mdwn
++++ b/doc/forum/PageSpec_results_from_independent_checkout.mdwn
+@@ -3,3 +3,6 @@ I'd like to be able to do PageSpec matches independent of the Ikiwiki checkout,
+     perl -MIkiWiki -le '$config{wikistatedir}=".ikiwiki"; IkiWiki::loadindex(); print foreach pagespec_match_list("", shift)' "bugs/*"
+ 
+ I get the impression there's a way to build up enough state to run pagespec matches without doing any rendering, but I don't know how. Any ideas? -- JoeRayhawk
++
++> It's not possible to build up enough state without at a minimum
++> performing the scan pass of rendering on every page. --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_db3fb406733b98535d426acedd58f1633df79ade._change b/doc/recentchanges/change_db3fb406733b98535d426acedd58f1633df79ade._change new file mode 100644 index 000000000..56c9170e6 --- /dev/null +++ b/doc/recentchanges/change_db3fb406733b98535d426acedd58f1633df79ade._change @@ -0,0 +1,52 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/autoindex_should_use_add__95__autofile on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-db3fb406733b98535d426acedd58f1633df79ade"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/todo/autoindex_should_use_add__95__autofile.mdwn b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
+new file mode 100644
+index 0000000..517567e
+--- /dev/null
++++ b/doc/todo/autoindex_should_use_add__95__autofile.mdwn
+@@ -0,0 +1,2 @@
++`add_autofile` is a generic version of [[plugins/autoindex]]'s code,
++so the latter should probably use the former. --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_dd9796375895752621cdcce103d1ad8d8a31d6cb._change b/doc/recentchanges/change_dd9796375895752621cdcce103d1ad8d8a31d6cb._change new file mode 100644 index 000000000..24ab79826 --- /dev/null +++ b/doc/recentchanges/change_dd9796375895752621cdcce103d1ad8d8a31d6cb._change @@ -0,0 +1,69 @@ +[[!meta author="""http://jmtd.livejournal.com/"""]] + +[[!meta authorurl="""http://jmtd.livejournal.com/"""]] + +[[!meta title="""change to bugs/aggregate_generates_long_filenames on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-dd9796375895752621cdcce103d1ad8d8a31d6cb"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +ext4, default settings...
+ + +
+ +
+
+diff --git a/doc/bugs/aggregate_generates_long_filenames.mdwn b/doc/bugs/aggregate_generates_long_filenames.mdwn
+index c38ad6c..33e7b74 100644
+--- a/doc/bugs/aggregate_generates_long_filenames.mdwn
++++ b/doc/bugs/aggregate_generates_long_filenames.mdwn
+@@ -19,3 +19,16 @@ It would also appear this abrubtly terminates aggregate processing (if not ikiwi
+ > that, in additional to having a rather antique long filename limit, your
+ > system also doesn't properly expose it via pathconf. Not sure what
+ > ikiwiki can do here. --[[Joey]]
++
++>> This is an ext4 filesystem with default settings (which appears to mean
++>> 256 bytes for pathnames).  Despite the error saying file name, it's
++>> definitely a path issue since moving my test repo to `/tmp`from
++>> `/home/jon/wd/mine/www` hides the problem. I note the following comment
++>> in `aggregate.pm`:
++
++		# Make sure that the file name isn't too long. 
++		# NB: This doesn't check for path length limits.
++
++>> I don't fully grok the aggregate source yet, but I wouldn't rule out
++>> a bug in the path length checking, personally.  I'm happy to try and
++>> find it myself though :) -- [[Jon]]
+
+
+
+ + diff --git a/doc/recentchanges/change_e68f29eebb3917909b939869e57b985add724598._change b/doc/recentchanges/change_e68f29eebb3917909b939869e57b985add724598._change new file mode 100644 index 000000000..05c362968 --- /dev/null +++ b/doc/recentchanges/change_e68f29eebb3917909b939869e57b985add724598._change @@ -0,0 +1,61 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__ on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-e68f29eebb3917909b939869e57b985add724598"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +ugh, now with better syntax
+ + +
+ +
+
+diff --git a/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn b/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
+index c131143..16c147b 100644
+--- a/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
++++ b/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
+@@ -46,7 +46,7 @@ by ikiwiki are likewise fine.  --[[tschwinge]]
+ > that it doesn't support setting defaults for a given "subdirectory"
+ > only. --[[smcv]]
+ 
+-[[!template id=gitbranch name=smcv/contrib/defcopyright author="[[tschwinge]]"]]
++[[!template id=gitbranch branch=smcv/contrib/defcopyright author="[[tschwinge]]"]]
+ 
+ > For `./gitremotes` convenience (taking the Linus approach to backups :-) )
+ > I've added this to my git repository as a branch. No review, approval or
+
+
+
+ + diff --git a/doc/recentchanges/change_e810fe394b49955971299329136d46548d95ec6b._change b/doc/recentchanges/change_e810fe394b49955971299329136d46548d95ec6b._change new file mode 100644 index 000000000..b69fabd45 --- /dev/null +++ b/doc/recentchanges/change_e810fe394b49955971299329136d46548d95ec6b._change @@ -0,0 +1,63 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-e810fe394b49955971299329136d46548d95ec6b"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +possible improvement
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index 8f70f1d..0a9d8c6 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -2,6 +2,10 @@ I've been profiling my IkiWiki to try to improve speed (with many pages makes sp
+ 
+ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ 
++> It seems to me as though changing `glob2re` to return qr/$re/, and calling
++> `memoize(glob2re)` next to the other memoize calls, would be a less
++> verbose way to do this? --[[smcv]]
++
+ --------------------------------------------------------------
+ <pre>
+ diff --git a/IkiWiki.pm b/IkiWiki.pm
+
+
+
+ + diff --git a/doc/recentchanges/change_eaa04125d7080a9c882b629d1e0f6c7992ad462f._change b/doc/recentchanges/change_eaa04125d7080a9c882b629d1e0f6c7992ad462f._change new file mode 100644 index 000000000..a40a8ce27 --- /dev/null +++ b/doc/recentchanges/change_eaa04125d7080a9c882b629d1e0f6c7992ad462f._change @@ -0,0 +1,58 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawlOh8Cp-kxb0kaANKSNGrtw5XvdyHGJ3dk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawlOh8Cp-kxb0kaANKSNGrtw5XvdyHGJ3dk"""]] + +[[!meta title="""change to sandbox on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-eaa04125d7080a9c882b629d1e0f6c7992ad462f"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added crucial hello-world line
+ + +
+ +
+
+diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn
+index c665e67..df9d688 100644
+--- a/doc/sandbox.mdwn
++++ b/doc/sandbox.mdwn
+@@ -1,3 +1,5 @@
++Hello, world!
++
+ This is the [[SandBox]], a page anyone can edit to try out ikiwiki
+ (version [[!version  ]]).
+ 
+
+
+
+ + diff --git a/doc/recentchanges/change_eb13521f5276cdd21a3f5990b1a1a17234e40174._change b/doc/recentchanges/change_eb13521f5276cdd21a3f5990b1a1a17234e40174._change new file mode 100644 index 000000000..3643d9cac --- /dev/null +++ b/doc/recentchanges/change_eb13521f5276cdd21a3f5990b1a1a17234e40174._change @@ -0,0 +1,58 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/replace_HTML::Template_with_Template_Toolkit on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-eb13521f5276cdd21a3f5990b1a1a17234e40174"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +modular, not replacement
+ + +
+ +
+
+diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+index 8650e4f..9725b65 100644
+--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
++++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+@@ -61,3 +61,5 @@ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer
+ 
+ 
+ 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
++
++> 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]]
+
+
+
+ + diff --git a/doc/recentchanges/change_ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa._change b/doc/recentchanges/change_ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa._change new file mode 100644 index 000000000..eb22db19f --- /dev/null +++ b/doc/recentchanges/change_ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa._change @@ -0,0 +1,55 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmrVK0l7LGe93rzchPlVg7bukNgTsqTbn8"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmrVK0l7LGe93rzchPlVg7bukNgTsqTbn8"""]] + +[[!meta title="""change to todo/Add_nicer_math_formatting on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ebcc0e6c9068bafaa52938a9f3aae6d6dd3d60aa"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/todo/Add_nicer_math_formatting.mdwn b/doc/todo/Add_nicer_math_formatting.mdwn
+index 6e082c1..3a5e94a 100644
+--- a/doc/todo/Add_nicer_math_formatting.mdwn
++++ b/doc/todo/Add_nicer_math_formatting.mdwn
+@@ -21,4 +21,6 @@ It would be nice to add nicer math formatting.  I currently use the
+ > I've posted a question about this to its forum:  --[[Joey]] 
+ > <https://sourceforge.net/projects/jsmath/forums/forum/592273/topic/3831574> 
+ 
++I think [mathjax](http://www.mathjax.org/) would be the best option. This is the math rendering engine used in mathoverflow.
++
+ [[!tag wishlist]]
+
+
+
+ + diff --git a/doc/recentchanges/change_ec6c1269d251c78d2eef68cb789de6cfc6272464._change b/doc/recentchanges/change_ec6c1269d251c78d2eef68cb789de6cfc6272464._change new file mode 100644 index 000000000..13d0c0641 --- /dev/null +++ b/doc/recentchanges/change_ec6c1269d251c78d2eef68cb789de6cfc6272464._change @@ -0,0 +1,106 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to ikiwiki/directive/more todo/selective_more_directive on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ec6c1269d251c78d2eef68cb789de6cfc6272464"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +more: Add pages parameter to limit where the more is displayed. (thanks, dark)
+ + +
+ +
+
+diff --git a/IkiWiki/Plugin/more.pm b/IkiWiki/Plugin/more.pm
+index 80e339a..6880e36 100644
+--- a/IkiWiki/Plugin/more.pm
++++ b/IkiWiki/Plugin/more.pm
+@@ -26,7 +26,10 @@ sub preprocess (@) {
+ 
+ 	$params{linktext} = $linktext unless defined $params{linktext};
+ 
+-	if ($params{page} ne $params{destpage}) {
++	if ($params{page} ne $params{destpage} &&
++	    (! exists $params{pages} ||
++	     pagespec_match($params{destpage}, $params{pages},
++		     location => $params{page}))) {
+ 		return "\n".
+ 			htmllink($params{page}, $params{destpage}, $params{page},
+ 				linktext => $params{linktext},
+diff --git a/debian/changelog b/debian/changelog
+index 91ff096..faabf19 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,6 +1,8 @@
+ ikiwiki (3.20101113) UNRELEASED; urgency=low
+ 
+   * websetup: Fix encoding problem when restoring old setup file.
++  * more: Add pages parameter to limit where the more is displayed.
++    (thanks, dark)
+ 
+  -- Joey Hess <joeyh@debian.org>  Tue, 16 Nov 2010 14:23:47 -0400
+ 
+diff --git a/doc/ikiwiki/directive/more.mdwn b/doc/ikiwiki/directive/more.mdwn
+index 5065519..bda1427 100644
+--- a/doc/ikiwiki/directive/more.mdwn
++++ b/doc/ikiwiki/directive/more.mdwn
+@@ -11,6 +11,11 @@ leads to the full version of the page. Use it like this:
+ 
+ If the `linktext` parameter is omitted it defaults to just "more".
+ 
++An optional `pages` parameter can be used to specify a
++[[ikiwiki/PageSpec]], and then the "more" link will only be displayed
++when the page is inlined into a page matching that PageSpec, and otherwise
++the full content shown.
++
+ Note that you can accomplish something similar using a [[toggle]] instead.
+ 
+ [[!meta robots="noindex, follow"]]
+diff --git a/doc/todo/selective_more_directive.mdwn b/doc/todo/selective_more_directive.mdwn
+index 24e6ab5..2a99982 100644
+--- a/doc/todo/selective_more_directive.mdwn
++++ b/doc/todo/selective_more_directive.mdwn
+@@ -24,3 +24,5 @@ I can now call it as
+ I'm not entirely happy with the design, since I would rather put this information in the inline directive instead of in every story post. Unfortunately I found no way to pass parameters from the inline directive to the inlined page.
+ 
+ -- [[dark]]
++
++> Me neither, but nor do I see a better way, so [[applied|done]]. --[[Joey]] 
+
+
+
+ + diff --git a/doc/recentchanges/change_efba19b3379b0b4e4199ece869c71f80be3a82d1._change b/doc/recentchanges/change_efba19b3379b0b4e4199ece869c71f80be3a82d1._change new file mode 100644 index 000000000..17cc453bb --- /dev/null +++ b/doc/recentchanges/change_efba19b3379b0b4e4199ece869c71f80be3a82d1._change @@ -0,0 +1,66 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428 on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-efba19b3379b0b4e4199ece869c71f80be3a82d1"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +Added a comment: expression anchored too closely?
+ + +
+ +
+
+diff --git a/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment b/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment
+new file mode 100644
+index 0000000..6e29f0c
+--- /dev/null
++++ b/doc/forum/Need_something_more_powerful_than_Exclude/comment_1_b454ead16d90479690ad8ee72cfd1428._comment
+@@ -0,0 +1,12 @@
++[[!comment format=mdwn
++ username="http://smcv.pseudorandom.co.uk/"
++ nickname="smcv"
++ subject="expression anchored too closely?"
++ date="2010-11-23T10:43:08Z"
++ content="""
++It looks as though you might only be excluding a top-level Makefile, and not a Makefile in subdirectories. Try excluding `(^|/)Makefile$` instead, for instance? (See `wiki_file_prune_regexps` in `IkiWiki.pm` for hints.)
++
++The match operation in `&file_pruned` ends up a bit like this:
++
++    \"foo/Makefile\" =~ m{…||…|(^|/)Makefile$}
++"""]]
+
+
+
+ + diff --git a/doc/recentchanges/change_f35f79a0b831e8b47f62c430c1bba538d4687521._change b/doc/recentchanges/change_f35f79a0b831e8b47f62c430c1bba538d4687521._change new file mode 100644 index 000000000..c0a50712c --- /dev/null +++ b/doc/recentchanges/change_f35f79a0b831e8b47f62c430c1bba538d4687521._change @@ -0,0 +1,100 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-f35f79a0b831e8b47f62c430c1bba538d4687521"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +response with benchmark
+ + +
+ +
+
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index b631287..ff9784d 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -9,6 +9,47 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >> I think so, yeah. Anyway, do you have any benchmark results handy,
+ >> Kathryn?  --[[Joey]] 
+ 
++>>> See below.
++>>> Also, would it make more sense for glob2re to return qr/^$re$/i rather than qr/$re/?  Everything that uses glob2re seems to use
++	$foo =~ /^$re$/i
++>>> rather than /$re/ so I think that would make sense.
++>>> -- [[KathrynAndersen]]
++
++--------------------------------------------------------------
++Benchmarks done with Devel::Profile on the same testbed IkiWiki setup.  I'm just showing the start of the profile output, since that's what's relevant.
++
++Before:
++<pre>
++time elapsed (wall):   27.4173
++time running program:  22.5909  (82.40%)
++time profiling (est.): 4.8264  (17.60%)
++number of calls:       1314729
++number of exceptions:  65
++
++%Time    Sec.     #calls   sec/call  F  name
++11.05    2.4969    62333   0.000040     IkiWiki::PageSpec::match_glob
++ 4.10    0.9261      679   0.001364     Text::Balanced::_match_tagged
++ 2.72    0.6139    59812   0.000010     IkiWiki::SuccessReason::merge_influences
++</pre>
++
++After:
++<pre>
++time elapsed (wall):   26.1843
++time running program:  21.5673  (82.37%)
++time profiling (est.): 4.6170  (17.63%)
++number of calls:       1252433
++number of exceptions:  65
++
++%Time    Sec.     #calls   sec/call  F  name
++ 7.66    1.6521    62333   0.000027     IkiWiki::PageSpec::match_glob
++ 4.33    0.9336      679   0.001375     Text::Balanced::_match_tagged
++ 2.81    0.6057    59812   0.000010     IkiWiki::SuccessReason::merge_influences
++</pre>
++
++Note that the seconds per call for match_glob in the "after" case has gone down by about a third.
++
++K.A.
++
+ --------------------------------------------------------------
+ <pre>
+ diff --git a/IkiWiki.pm b/IkiWiki.pm
+
+
+
+ + diff --git a/doc/recentchanges/change_f54a91c3021b304fdde183834542418720e4f792._change b/doc/recentchanges/change_f54a91c3021b304fdde183834542418720e4f792._change new file mode 100644 index 000000000..8d7d2471a --- /dev/null +++ b/doc/recentchanges/change_f54a91c3021b304fdde183834542418720e4f792._change @@ -0,0 +1,71 @@ +[[!meta author="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta authorurl="""https://www.google.com/accounts/o8/id?id=AItOawmE7z4CSv-ctBarutQCd70R3CcaSPPxjVk"""]] + +[[!meta title="""change to bugs/logout_in_ikiwiki on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-f54a91c3021b304fdde183834542418720e4f792"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +trying to figure out how to make ikiwiki slightly more interactive
+ + +
+ +
+
+diff --git a/doc/bugs/logout_in_ikiwiki.mdwn b/doc/bugs/logout_in_ikiwiki.mdwn
+index 5df19c4..a9c407b 100644
+--- a/doc/bugs/logout_in_ikiwiki.mdwn
++++ b/doc/bugs/logout_in_ikiwiki.mdwn
+@@ -5,3 +5,18 @@ It looks like there is no way to logout of ikiwiki at present, meaning that if y
+ > It would be nice if it were not buried there, but putting it on the
+ > action bar statically would be confusing. The best approach might be to
+ > use javascript. --[[Joey]] 
++
++
++>> I agree that javascript seems to be a solution, but my brain falls 
++>> off the end of the world while looking at ways to manipulate the DOM. 
++>> (I'd argue also in favor of the openid_provider cookie expiring 
++>>  in less time than it does now, and being session based)
++
++>> It would be nice to move navigational elements to the upper right corner 
++>> of the page...
++
++>> I have two kinds of pages (wiki and blog), and three classes of users  
++>> anonymous users - display things like login, help, and recentchanges,
++>> non-admin users - on a per subdir basis (blog and !blog) display 
++>> logout, help, recentchanges, edit, comment 
++>> admin users - logout, help, recentchanges, edit, comment, etc
+
+
+
+ + diff --git a/doc/recentchanges/change_f6312319a49cc1860eebbafd937a0f75d8e7baeb._change b/doc/recentchanges/change_f6312319a49cc1860eebbafd937a0f75d8e7baeb._change new file mode 100644 index 000000000..3f06369b5 --- /dev/null +++ b/doc/recentchanges/change_f6312319a49cc1860eebbafd937a0f75d8e7baeb._change @@ -0,0 +1,59 @@ +[[!meta author="""http://churchkey.org/author/ian/"""]] + +[[!meta authorurl="""http://churchkey.org/author/ian/"""]] + +[[!meta title="""change to todo/replace_HTML::Template_with_Template_Toolkit on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-f6312319a49cc1860eebbafd937a0f75d8e7baeb"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +added my reasons for wanting a replace-able template system
+ + +
+ +
+
+diff --git a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+index c4e78ca..8650e4f 100644
+--- a/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
++++ b/doc/todo/replace_HTML::Template_with_Template_Toolkit.mdwn
+@@ -58,3 +58,6 @@ Yes, Template::Toolkit is very powerful. But I think it's somehow overkill for a
+ I'd have to agree that Template::Toolkit is overkill and personally I'm not a fan, but it is very popular (there is even a book) and the new version (3) is alleged to be much more nimble than current version.  --[[ajt]]
+ 
+ HTML::Template's HTML-like markup prevents me from editing templates in KompoZer or other WYSIWYG HTML editors.  The editor tries to render the template markup rather than display it verbatim, and large parts of the template become invisible.  A markup syntax that doesn't confuse editors (such as Template::Toolkit's "[% FOO %]") may promote template customization.  The ability to replace the template engine would be within the spirit of ikiwiki's extensibility. --Rocco
++
++
++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
+
+
+
+ + diff --git a/doc/recentchanges/change_f80469c34d8d81e79d4894f7a1789a949bc766c3._change b/doc/recentchanges/change_f80469c34d8d81e79d4894f7a1789a949bc766c3._change new file mode 100644 index 000000000..3076c3a1b --- /dev/null +++ b/doc/recentchanges/change_f80469c34d8d81e79d4894f7a1789a949bc766c3._change @@ -0,0 +1,54 @@ +[[!meta author="""http://pmate.myopenid.com/"""]] + +[[!meta authorurl="""http://pmate.myopenid.com/"""]] + +[[!meta title="""change to tips/nearlyfreespeech/discussion on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-f80469c34d8d81e79d4894f7a1789a949bc766c3"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ +
+ +
+
+diff --git a/doc/tips/nearlyfreespeech/discussion.mdwn b/doc/tips/nearlyfreespeech/discussion.mdwn
+index 0d1f1f0..b764325 100644
+--- a/doc/tips/nearlyfreespeech/discussion.mdwn
++++ b/doc/tips/nearlyfreespeech/discussion.mdwn
+@@ -18,3 +18,5 @@ Thanks for your incredible work!
+ 
+ > You can move `~/ikiwiki` out of the way and then re-download and install
+ > it ikiwiki. --[[Joey]]
++
++Thanks a lot Joey. :-)
+
+
+
+ + diff --git a/doc/recentchanges/change_f8f8770a652520b2f09eb2262510a04a8e353e9d._change b/doc/recentchanges/change_f8f8770a652520b2f09eb2262510a04a8e353e9d._change new file mode 100644 index 000000000..4f394e68c --- /dev/null +++ b/doc/recentchanges/change_f8f8770a652520b2f09eb2262510a04a8e353e9d._change @@ -0,0 +1,73 @@ +[[!meta author="""joey"""]] + +[[!meta authorurl="""http://ikiwiki.info/ikiwiki.cgi?page=users%2Fjoey&do=goto"""]] + +[[!meta title="""change to todo/Improving_the_efficiency_of_match__95__glob on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-f8f8770a652520b2f09eb2262510a04a8e353e9d"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +smcv/ready/glob-cache merged
+ + +
+ +
+
+diff --git a/debian/changelog b/debian/changelog
+index 0edb780..65c2353 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -8,6 +8,7 @@ ikiwiki (3.20101113) UNRELEASED; urgency=low
+     and support all elements that HTML::Tagset knows about. 
+     (Which doesn't include html5 just yet, but then the old version
+     didn't either.) Bonus: 4 times faster than old regexp method.
++  * Optimise glob() pagespec. (Thanks, Kathryn and smcv)
+ 
+  -- Joey Hess <joeyh@debian.org>  Tue, 16 Nov 2010 14:23:47 -0400
+ 
+diff --git a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+index 4fe1454..4e1df33 100644
+--- a/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
++++ b/doc/todo/Improving_the_efficiency_of_match__95__glob.mdwn
+@@ -57,6 +57,8 @@ Here's my patch - please consider it! -- [[KathrynAndersen]]
+ >>>>>>> representative.
+ >>>>>>> --[[smcv]]
+ 
++[[done]] --[[Joey]] 
++
+ --------------------------------------------------------------
+ 
+ [[!toggle id="smcv-benchmark" text="current benchmarks"]]
+
+
+
+ + diff --git a/doc/recentchanges/change_fa71b0e6aa08b0e3b274a0b939bf657f2576e482._change b/doc/recentchanges/change_fa71b0e6aa08b0e3b274a0b939bf657f2576e482._change new file mode 100644 index 000000000..042b63b08 --- /dev/null +++ b/doc/recentchanges/change_fa71b0e6aa08b0e3b274a0b939bf657f2576e482._change @@ -0,0 +1,63 @@ +[[!meta author="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta authorurl="""http://smcv.pseudorandom.co.uk/"""]] + +[[!meta title="""change to plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__ on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-fa71b0e6aa08b0e3b274a0b939bf657f2576e482"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +added to git
+ + +
+ +
+
+diff --git a/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn b/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
+index ce2779d..c131143 100644
+--- a/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
++++ b/doc/plugins/contrib/default_content_for___42__copyright__42___and___42__license__42__.mdwn
+@@ -45,3 +45,10 @@ by ikiwiki are likewise fine.  --[[tschwinge]]
+ > and can extend beyond just copyright and license, but has the disadvantage
+ > that it doesn't support setting defaults for a given "subdirectory"
+ > only. --[[smcv]]
++
++[[!template id=gitbranch name=smcv/contrib/defcopyright author="[[tschwinge]]"]]
++
++> For `./gitremotes` convenience (taking the Linus approach to backups :-) )
++> I've added this to my git repository as a branch. No review, approval or
++> ownership is implied, feel free to replace this with a branch in any other
++> repository --[[smcv]]
+
+
+
+ + diff --git a/doc/recentchanges/change_ffeee19216182d633d251852ab62fe79c1367796._change b/doc/recentchanges/change_ffeee19216182d633d251852ab62fe79c1367796._change new file mode 100644 index 000000000..a9995d8b6 --- /dev/null +++ b/doc/recentchanges/change_ffeee19216182d633d251852ab62fe79c1367796._change @@ -0,0 +1,61 @@ +[[!meta author="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta authorurl="""http://kerravonsen.dreamwidth.org/"""]] + +[[!meta title="""change to todo/transient_in-memory_pages on ikiwiki"""]] + +[[!meta permalink="http://ikiwiki.info/recentchanges/#change-ffeee19216182d633d251852ab62fe79c1367796"]] + + + + +[[revert|wikiicons/revert.png]] + + +
+ + +make it more generic?
+ + +
+ +
+
+diff --git a/doc/todo/transient_in-memory_pages.mdwn b/doc/todo/transient_in-memory_pages.mdwn
+index 5dbbe4f..816e95c 100644
+--- a/doc/todo/transient_in-memory_pages.mdwn
++++ b/doc/todo/transient_in-memory_pages.mdwn
+@@ -41,3 +41,8 @@ Refinements that could be made if this approach seems reasonable:
+ 
+ * make these options boolean, and have the path always be `.ikiwiki/transient`
+ * improve the `remove` plugin so it also deletes from this special underlay
++
++>> Perhaps it should be something more generic, so that other plugins could use it (such as "album" mentioned above).
++>> The `.ikiwiki/transient` would suit this, but instead of saying "tag_underlay" or "autoindex_underlay" have "use_transient_underlay" or something like that?
++>> Or to make it more flexible, have just one option "transient_underlay" which is set to an absolute path, and if it is set, then one is using a transient-underlay.
++>> --[[KathrynAndersen]]
+
+
+
+ + diff --git a/doc/todo/autoindex_should_use_add__95__autofile.mdwn b/doc/todo/autoindex_should_use_add__95__autofile.mdwn index 64f81c82e..19c5004f8 100644 --- a/doc/todo/autoindex_should_use_add__95__autofile.mdwn +++ b/doc/todo/autoindex_should_use_add__95__autofile.mdwn @@ -1,4 +1,4 @@ `add_autofile` is a generic version of [[plugins/autoindex]]'s code, so the latter should probably use the former. --[[smcv]] -> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]] +> See [[todo/transient_pages]] for progress on this. --[[smcv]] -- cgit v1.2.3 From 3acf76ac54434d24d7acb668878a987c40212f30 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 27 Nov 2010 23:29:25 +0000 Subject: --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc/todo') 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 index e065c4a3d..16dc78fb2 100644 --- a/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn +++ b/doc/todo/auto-create_tag_pages_according_to_a_template.mdwn @@ -260,8 +260,8 @@ required to implement [[todo/alias directive]], which couldn't be easily done by writing to the RCS as the page's contents can change depending on which other pages claim it as an alias. --[[chrysn]] -I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- [[Eric|http://wiki.pdxhub.org/people/eric]] +I agree with [[chrysn]]. In fact, is there any good reason that the core tag plugin doesn't do this? The current usability is horrible, to the point that I have gone 2.5 years with Ikiwiki and haven't yet started using tags. -- -> See [[todo/transient in-memory pages]] for progress on this. --[[smcv]] +> See [[todo/transient_pages]] for progress on this. --[[smcv]] [[!tag done]] -- cgit v1.2.3 From e7cb11b40735a976f0cb565824c3d892bd75af44 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Nov 2010 14:09:02 -0400 Subject: comment --- doc/todo/use_secure_cookies_for_ssl_logins.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn index a91a15b98..a7030d08c 100644 --- a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn +++ b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn @@ -10,3 +10,16 @@ This branch adds `sslcookie => 0, sslcookie_auto => 1` as an option; this uses the `HTTPS` environment variable, so if you log in over SSL you'll get a secure session cookie, but if you log in over HTTP, you won't. (The syntax for the setup file is pretty rubbish - any other suggestions?) + +> Does this need to be a configurable option at all? The behavior could +> just be changed in the sslcookie = 0 case. It seems sorta reasonable +> that, once I've logged in via https, I need to re-login if I then +> switch to http. +> +> And, if your change is made, the sslcookie option could probably itself +> be dropped too -- at least I don't see a real use case for it if ikiwiki +> is more paranoid about cookies by default. +> +> Might be best to fix +> [[todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both]] +> first, so that dual https/http sites can better be set up. --[[Joey]] -- cgit v1.2.3 From 141dc37d361107a6607b3ff549f107c26fa700d4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Nov 2010 15:00:22 -0400 Subject: merged localurl branch; changelog --- debian/changelog | 12 ++++++++++++ ...ki_using_http_or_https_in_urls_to_allow_serving_both.mdwn | 2 ++ 2 files changed, 14 insertions(+) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index fd271dab1..ec995a08a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +ikiwiki (3.20101130) UNRELEASED; urgency=low + + * Better support for serving the same site by both http and https. + Links generated by the CGI will now remain on https if it was accessed + via https. + (Thanks, smcv) + * API: urlto without a defined second parameter now generates an url + that starts with "/" (when possible; eg when the site's url and cgiurl + are on the same domain). + + -- Joey Hess Mon, 29 Nov 2010 14:44:13 -0400 + ikiwiki (3.20101129) unstable; urgency=low * websetup: Fix encoding problem when restoring old setup file. diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn index 264eb9688..f7938b061 100644 --- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -319,3 +319,5 @@ Potential future things: >> core code (IkiWiki, CGI, Render and the pseudo-core part of editpage) >> and 5 in plugins, since I used it for things like redirection back >> to the top of the wiki --[[smcv]] + +[[merged|done]] --[[Joey]] -- cgit v1.2.3 From a1e221f31d279cdeb5e2431a398bd843a142a83c Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Mon, 29 Nov 2010 19:33:47 +0000 Subject: now with added simplicity --- doc/todo/use_secure_cookies_for_ssl_logins.mdwn | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn index a7030d08c..f72b2d2d5 100644 --- a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn +++ b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn @@ -15,11 +15,20 @@ get a secure session cookie, but if you log in over HTTP, you won't. > just be changed in the sslcookie = 0 case. It seems sorta reasonable > that, once I've logged in via https, I need to re-login if I then > switch to http. -> + +>> Even better. I've amended the branch to have this behaviour, which +>> turns it into a one-line patch. --[[smcv]] + > And, if your change is made, the sslcookie option could probably itself > be dropped too -- at least I don't see a real use case for it if ikiwiki > is more paranoid about cookies by default. -> + +>> I haven't done that; it might make sense to do so, but I think it'd be +>> better to leave it in as a safety-catch (or in case someone's +>> using a webserver that doesn't put `$HTTPS` in the environment). --s + > Might be best to fix > [[todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both]] > first, so that dual https/http sites can better be set up. --[[Joey]] + +>> Thanks for merging that! :-) --s -- cgit v1.2.3 From 5f4f0b5bdd2d9f9bfaa55acf1fa02b1889281a60 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Nov 2010 16:32:23 -0400 Subject: merged sslcookie-auto --- debian/changelog | 3 +++ doc/todo/use_secure_cookies_for_ssl_logins.mdwn | 2 ++ 2 files changed, 5 insertions(+) (limited to 'doc/todo') diff --git a/debian/changelog b/debian/changelog index ec995a08a..82f9ece19 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,9 @@ ikiwiki (3.20101130) UNRELEASED; urgency=low * API: urlto without a defined second parameter now generates an url that starts with "/" (when possible; eg when the site's url and cgiurl are on the same domain). + * Now when users log in via https, ikiwiki sends a secure cookie, that can + only be used over https. If the user switches to using http, they will + need to re-login. (smcv) -- Joey Hess Mon, 29 Nov 2010 14:44:13 -0400 diff --git a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn index f72b2d2d5..194db2f36 100644 --- a/doc/todo/use_secure_cookies_for_ssl_logins.mdwn +++ b/doc/todo/use_secure_cookies_for_ssl_logins.mdwn @@ -32,3 +32,5 @@ get a secure session cookie, but if you log in over HTTP, you won't. > first, so that dual https/http sites can better be set up. --[[Joey]] >> Thanks for merging that! :-) --s + +[[merged|done]] --[[Joey]] -- cgit v1.2.3 From ad5e9c0085a02bfcf9c33095881ec4f173aaed00 Mon Sep 17 00:00:00 2001 From: "http://smcv.pseudorandom.co.uk/" Date: Thu, 2 Dec 2010 00:00:10 +0000 Subject: branch has reached usefulness --- doc/todo/transient_pages.mdwn | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/transient_pages.mdwn b/doc/todo/transient_pages.mdwn index 9c1be7362..642114d97 100644 --- a/doc/todo/transient_pages.mdwn +++ b/doc/todo/transient_pages.mdwn @@ -21,9 +21,45 @@ content for the edit box; after that, it'd become a static page. --[[smcv]] -------------------------- -[[!template id=gitbranch branch=smcv/transient author="[[smcv]]"]] +[[!template id=gitbranch branch=smcv/ready/transient author="[[smcv]]"]] [[!tag patch]] +I think this branch is now enough to be useful. It adds the following: + +If the `transient` plugin is loaded, `$srcdir/.ikiwiki/transient` is added +as an underlay. + +Pages with the default extension in the transient underlay are automatically +deleted if a page of the same name is created in the srcdir (or an underlay +closer to the srcdir in stacking order). + +`tag` enables `transient`, and if `tag_autocreate_commit` is set to 0 +(default 1), autocreated tags are written to the transient underlay. + +`autoindex` uses autofiles. It also enables `transient`, and if +`autoindex_commit` is set to 0 (default 1), autoindexes are written to +the transient underlay. + +autoindex ignores pages in the transient underlay when deciding whether +to generate an index. + +Not done yet: + +`remove` can't remove transient pages: this turns out to be harder than +I'd hoped, because I don't want to introduce a vulnerability in the +non-regular-file detection... + +Transient tags that don't match any pages aren't deleted: I'm not sure +that that's a good idea anyway, though. Similarly, transient autoindexes +of directories that become empty aren't deleted. + +Recent changes and aggregated files could conceivably go in the transient +underlay too. + +-------------------------- + +## An earlier version + I had a look at implementing this. It turns out to be harder than I thought to have purely in-memory pages (several plugins want to be able to access the source file as a file), but I did get this proof-of-concept branch -- cgit v1.2.3 From f8555c9ae1868e0f8ec4861826965ebd003740b8 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 7 Dec 2010 11:35:32 +0100 Subject: Replying. --- doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn index 484f85cbb..d40be0b08 100644 --- a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn +++ b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn @@ -48,3 +48,14 @@ and decided this time it was really needed to implement this feature. >> $untainted{$key} = possibly_foolish_untaint($tainted->{key}); >> >> --[[smcv]] + +>>> You are fully right about the complex `$config` entries. I'll +>>> convert this to use what you are suggesting, i.e. what we ended up +>>> choosing for the `po_slave_languages` setting. +>>> +>>> About the merges in this branch: Joey told me once he did not care +>>> about this; moreover the `--no-merges` git log option makes it +>>> easy to filter these out. I'll try merging tagged releases only in +>>> the future, though. +>>> +>>> --[[intrigeri]] -- cgit v1.2.3 From 02056f7792b3fb2f7b6cd099325243fe0ad53e82 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 16 Dec 2010 14:08:32 -0400 Subject: response --- doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn index d40be0b08..88c82f66c 100644 --- a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn +++ b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn @@ -27,6 +27,8 @@ and decided this time it was really needed to implement this feature. >> (I'm not an ikiwiki committer, opinions may vary.) >> +>>> In my opinion, you're an ikiwiki committer! --[[Joey]] +>> >> This would be easier to review if there weren't a million merges from >> master; perhaps either leave a branch as-is, or rebase it, or merge >> only at "significant" times like after a release? @@ -59,3 +61,14 @@ and decided this time it was really needed to implement this feature. >>> the future, though. >>> >>> --[[intrigeri]] + +>>>> FWIW, I don't care about merge commits etc because I review +>>>> `git diff ...intrigeri/mirrorlist` -- and if I want to dig deeper +>>>> into the why of some code, I'll probably checkout the branch and +>>>> use git blame. +>>>> +>>>> I agree with what smcv said, my other concern though is that +>>>> this is such an edge case, that supporting it just adds clutter. +>>>> Have to wonder if it wouldn't perhaps be better to do something +>>>> using the goto plugin and cgiurl, so that the mirror doesn't have +>>>> to know about the configuration of the other mirror. --[[Joey]] -- cgit v1.2.3