From f632cb2f8f7b86ede3689fb98b0da4cf685e0a15 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Mon, 20 Apr 2009 11:52:16 +0200 Subject: [PATCH 001/206] po: answered Joey, at last Signed-off-by: intrigeri --- doc/plugins/contrib/po.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/plugins/contrib/po.mdwn b/doc/plugins/contrib/po.mdwn index 61ec53ea8..13176aac4 100644 --- a/doc/plugins/contrib/po.mdwn +++ b/doc/plugins/contrib/po.mdwn @@ -360,12 +360,30 @@ daring a timid "please pull"... or rather, please review again :) > * What's the reasoning behind checking that the link plugin > is enabled? AFAICS, the same code in the scan hook should > also work when other link plugins like camelcase are used. +>> +>> That's right, fixed. +>> > * In `pagetemplate` there is a comment that claims the code > relies on `genpage`, but I don't see how it does; it seems > to always add a discussion link? +>> +>> It relies on IkiWiki::Render's `genpage` as this function sets the +>> `discussionlink` template param iff it considers a discussion link +>> should appear on the current page. That's why I'm testing +>> `$template->param('discussionlink')`. +>> > * Is there any real reason not to allow removing a translation? > I'm imagining a spammy translation, which an admin might not > be able to fix, but could remove. +>> +>> On the other hand, allowing one to "remove" a translation would +>> probably lead to misunderstandings, as such a "removed" translation +>> page would appear back as soon as it is "removed" (with no strings +>> translated, though). I think an admin would be in a position to +>> delete the spammy `.po` file by hand using whatever VCS is in use. +>> Not that I'd really care, but I am slightly in favour of the way +>> it currently works. +>> > * Re the meta title escaping issue worked around by `change`. > I suppose this does not only affect meta, but other things > at scan time too. Also, handling it only on rebuild feels @@ -383,4 +401,6 @@ daring a timid "please pull"... or rather, please review again :) > > --[[Joey]] >> +>> I'll think about it soon. +>> >> --[[intrigeri]] From b42195625cfa8fe1f58c8dc7b628418a8082196e Mon Sep 17 00:00:00 2001 From: intrigeri Date: Mon, 20 Apr 2009 19:00:12 +0200 Subject: [PATCH 002/206] pagetitle_function_does_not_respect_meta_titles: proposal --- ...function_does_not_respect_meta_titles.mdwn | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/doc/bugs/pagetitle_function_does_not_respect_meta_titles.mdwn b/doc/bugs/pagetitle_function_does_not_respect_meta_titles.mdwn index 4a83f9ec8..c54376aa1 100644 --- a/doc/bugs/pagetitle_function_does_not_respect_meta_titles.mdwn +++ b/doc/bugs/pagetitle_function_does_not_respect_meta_titles.mdwn @@ -231,3 +231,44 @@ So, looking at your meta branch: --[[Joey]] >> handling, since po contains a workaround for that, and it's probably >> acceptable to use potentially slow methods to handle this case.) >> --[[Joey]] + +>>> I'm glad to implement whatever decision we'll make, but I don't +>>> clearly understand what this discussion's conclusion is. It seems +>>> like we agree at least on one point: meta page titles shall not be +>>> displayed all over the place by default; I have therefore disabled +>>> `meta_overrides_page_title` by default in my `meta` branch. +>>> +>>> My next question is then: do we only want to satisfy the `po` +>>> plugin needs? Or do we want to allow people who want this, such as +>>> [[madduck]], to turn on a config switch so that meta page titles +>>> are displayed as wikilinks titles? In the latter case, what level +>>> of configurability do we want? I can think of a quite inelegant +>>> way to implement full configurability, and provide a configuration +>>> switch for every place where links are displayed, such as +>>> wikilinks, parentlinks, etc., but I don't think the added bonus is +>>> worth the complexity of it. +>>> +>>> I think we can roughly split the needs into three categories: +>>> +>>> 1. never display any modified page title in links; this is the +>>> current behaviour, and we should keep it as the default one +>>> 2. display modified page titles only at well chosen places; that +>>> could be "manual" wikilinks, I mean those generated by the +>>> `link`, `camelcase` & al. plugins, the recentchanges page, and +>>> maybe a few other places; keep the usual pagename-based title +>>> for every other link, such as the parentlinks ones. +>>> The inter-page dependency problem remains, though. As a first +>>> step, I'm in favour of the "slow, but correct" implementation, +>>> with a big warning stating that enabling this option can make +>>> a wiki really sluggish; if someone really wants this to work +>>> fast, he/she'll implement a clever dependency handler :) +>>> 3. display modified page titles all over the place; IMHO, we +>>> should implement only the bits needed so that the `po` plugin +>>> can set this up, rather than provide this as +>>> a user-configurable option. +>>> +>>> So my question is: do we want to implement the #2 case, or not? +>>> I propose myself to only implement #1 and #3 to start with, but do +>>> it in a way that leaves room for #2. +>>> +>>> --[[intrigeri]] From 039f075d61fa9554b6ec81f6aff740e889460f96 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 20 Apr 2009 13:47:53 -0400 Subject: [PATCH 003/206] response --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index bf7c9b1c3..8960a8b0f 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -23,3 +23,7 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >> Oooh, I see, it's referring to an absolute path (relative to the site), right? >> Thanks :). + +>>> Right, PageSpecs are always absolute paths unless prefixed with `./` +>>> (somewhat confusingly since WikiLinks are always realtive unless +>>> previxed with `/` ...) --[[Joey]] From 3177b3f76b429dedca16277e77d19534d34a16ec Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 21 Apr 2009 21:46:01 -0400 Subject: [PATCH 004/206] Add python:Depends to control file. Closes: #525086 --- debian/changelog | 6 ++++++ debian/control | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 4bbeac1d9..3a6e490a4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ikiwiki (3.11) UNRELEASED; urgency=low + + * Add python:Depends to control file. Closes: #525086 + + -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 + ikiwiki (3.10) unstable; urgency=low * darcs: Finally added support for this VCS, thanks to many diff --git a/debian/control b/debian/control index a00fd72cc..df4c2d649 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Vcs-Browser: http://git.ikiwiki.info/?p=ikiwiki Package: ikiwiki Architecture: all -Depends: ${misc:Depends}, ${perl:Depends}, +Depends: ${misc:Depends}, ${perl:Depends}, ${python:Depends} libtext-markdown-perl | markdown, libhtml-scrubber-perl, libhtml-template-perl, libhtml-parser-perl, liburi-perl From e88ef0362cd01970937ed5a79fa0c5189640857a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Moral?= Date: Wed, 22 Apr 2009 09:23:50 +0200 Subject: [PATCH 005/206] updated spanish translation --- po/es.po | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/po/es.po b/po/es.po index f7887ad7c..bf8f82899 100644 --- a/po/es.po +++ b/po/es.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-04-04 14:59-0400\n" -"PO-Revision-Date: 2009-03-03 10:48+0100\n" +"PO-Revision-Date: 2009-04-07 08:54+0200\n" "Last-Translator: Víctor Moral \n" "Language-Team: spanish \n" "MIME-Version: 1.0\n" @@ -34,8 +34,7 @@ msgstr "" #: ../IkiWiki/CGI.pm:149 msgid "login failed, perhaps you need to turn on cookies?" -msgstr "" -"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" +msgstr "registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" #: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299 msgid "Your login session has expired." @@ -71,8 +70,7 @@ msgstr "Contenido añadido activado vía web." #: ../IkiWiki/Plugin/aggregate.pm:93 msgid "Nothing to do right now, all feeds are up-to-date!" -msgstr "" -"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" +msgstr "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" #: ../IkiWiki/Plugin/aggregate.pm:220 #, perl-format @@ -361,8 +359,7 @@ msgstr "" #: ../IkiWiki/Plugin/google.pm:31 msgid "Failed to parse url, cannot determine domain name" -msgstr "" -"Error en el análisis del URL, no puedo determinar el nombre del dominio" +msgstr "Error en el análisis del URL, no puedo determinar el nombre del dominio" #: ../IkiWiki/Plugin/goto.pm:49 msgid "missing page" @@ -422,7 +419,7 @@ msgstr "falta el parámetro pages" #: ../IkiWiki/Plugin/inline.pm:200 msgid "Sort::Naturally needed for title_natural sort" -msgstr "" +msgstr "Se necesita el módulo Sort::Naturally para el tipo de ordenación title_natural" #: ../IkiWiki/Plugin/inline.pm:211 #, perl-format @@ -457,8 +454,7 @@ msgstr "La página %s está bloqueada y no puede modificarse" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "" -"el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" +msgstr "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format @@ -880,8 +876,7 @@ msgid "plugins" msgstr "complementos" #: ../IkiWiki/Plugin/websetup.pm:395 -msgid "" -"The configuration changes shown below require a wiki rebuild to take effect." +msgid "The configuration changes shown below require a wiki rebuild to take effect." msgstr "" "Los cambios en la configuración que se muestran más abajo precisan una " "reconstrucción del wiki para tener efecto." @@ -997,8 +992,7 @@ msgstr "el programa %s no parece ser ejecutable" #: ../IkiWiki/Wrapper.pm:20 msgid "cannot create a wrapper that uses a setup file" -msgstr "" -"no puedo crear un programa envoltorio que utiliza un archivo de configuración" +msgstr "no puedo crear un programa envoltorio que utiliza un archivo de configuración" #: ../IkiWiki/Wrapper.pm:24 msgid "wrapper filename not specified" @@ -1087,3 +1081,4 @@ msgstr "" #: ../auto.setup:23 msgid "What is the domain name of the web server?" msgstr "¿ Cuál es el dominio para el servidor web ?" + From 4fbe1c3d447d875562b6c6a43ac702101eae3953 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 13:31:56 -0400 Subject: [PATCH 006/206] websetup: Display stderr in browser if ikiwiki setup fails. --- IkiWiki/Plugin/websetup.pm | 4 +++- debian/changelog | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/websetup.pm b/IkiWiki/Plugin/websetup.pm index 95d044c08..92e6875ba 100644 --- a/IkiWiki/Plugin/websetup.pm +++ b/IkiWiki/Plugin/websetup.pm @@ -426,8 +426,10 @@ sub showform ($$) { "-refresh", "-wrappers", "-v"); } + close STDERR; + open(STDERR, ">&STDOUT"); my $ret=system(@command); - print "\n
";
+			print "\n<\/pre>";
 			if ($ret != 0) {
 				print '

'. sprintf(gettext("

Error: %s exited nonzero (%s)"), diff --git a/debian/changelog b/debian/changelog index 3a6e490a4..533a2a16f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low * Add python:Depends to control file. Closes: #525086 + * websetup: Display stderr in browser if ikiwiki setup fails. -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 From 55377e7336070c4d2a3da1473666accf13d64325 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 13:33:20 -0400 Subject: [PATCH 007/206] blogspam: Load RPC::XML library in checkconfig, so that an error can be printed at that point if it's not available, allowing the admin to see it during wiki setup. Closes: #520015 --- IkiWiki/Plugin/blogspam.pm | 17 ++++++++++------- debian/changelog | 4 ++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/IkiWiki/Plugin/blogspam.pm b/IkiWiki/Plugin/blogspam.pm index cbd9859a5..c9883fbc2 100644 --- a/IkiWiki/Plugin/blogspam.pm +++ b/IkiWiki/Plugin/blogspam.pm @@ -9,6 +9,7 @@ my $defaulturl='http://test.blogspam.net:8888/'; sub import { hook(type => "getsetup", id => "blogspam", call => \&getsetup); + hook(type => "checkconfig", id => "skeleton", call => \&checkconfig); hook(type => "checkcontent", id => "blogspam", call => \&checkcontent); } @@ -43,17 +44,19 @@ sub getsetup () { }, } -sub checkcontent (@) { - my %params=@_; - +sub checkconfig () { + # This is done at checkconfig time because printing an error + # if the module is missing when a spam is posted would not + # let the admin know about the problem. eval q{ use RPC::XML; use RPC::XML::Client; }; - if ($@) { - warn($@); - return undef; - } + error $@ if $@; +} + +sub checkcontent (@) { + my %params=@_; if (exists $config{blogspam_pagespec}) { return undef diff --git a/debian/changelog b/debian/changelog index 533a2a16f..011f4b669 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ ikiwiki (3.11) UNRELEASED; urgency=low * Add python:Depends to control file. Closes: #525086 * websetup: Display stderr in browser if ikiwiki setup fails. + * blogspam: Load RPC::XML library in checkconfig, so that an + error can be printed at that point if it's not available, + allowing the admin to see it during wiki setup. + Closes: #520015 -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 From 30308664a698102bdb15995d9d0d65e213c49964 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 13:35:17 -0400 Subject: [PATCH 008/206] document how to get to the moderation page --- doc/plugins/blogspam.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/plugins/blogspam.mdwn b/doc/plugins/blogspam.mdwn index 1d152faac..466afd8d9 100644 --- a/doc/plugins/blogspam.mdwn +++ b/doc/plugins/blogspam.mdwn @@ -7,6 +7,9 @@ This plugin adds antispam support to ikiwiki, using the appear to contain spam will be rejected; comments that look spammy will be stored in a queue for moderation by an admin. +To check for and moderate comments, log in to the wiki as an admin, +go to your Preferences page, and click the "Comment Moderation" button. + The plugin requires the [[!cpan RPC::XML]] perl module. You can control how content is tested via the `blogspam_options` setting. From 565e5291cd037c155e976b69f7b8d26c5b64a389 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 14:05:37 -0400 Subject: [PATCH 009/206] websetup: If setup fails, restore old setup file. --- IkiWiki/Plugin/websetup.pm | 8 ++++++-- debian/changelog | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/websetup.pm b/IkiWiki/Plugin/websetup.pm index 92e6875ba..9edd22d26 100644 --- a/IkiWiki/Plugin/websetup.pm +++ b/IkiWiki/Plugin/websetup.pm @@ -403,6 +403,7 @@ sub showform ($$) { $form->reset(0); # doesn't really make sense here } else { + my $oldsetup=readfile($config{setupfile}); IkiWiki::Setup::dump($config{setupfile}); IkiWiki::saveindex(); @@ -432,12 +433,15 @@ sub showform ($$) { print "\n<\/pre>"; if ($ret != 0) { print '

'. - sprintf(gettext("

Error: %s exited nonzero (%s)"), + sprintf(gettext("Error: %s exited nonzero (%s). Discarding setup changes."), join(" ", @command), $ret). '

'; + open(OUT, ">", $config{setupfile}) || error("$config{setupfile}: $!"); + print OUT $oldsetup; + close OUT; } - print $tail; + print $tail; exit 0; } } diff --git a/debian/changelog b/debian/changelog index 011f4b669..ba3042af0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low error can be printed at that point if it's not available, allowing the admin to see it during wiki setup. Closes: #520015 + * websetup: If setup fails, restore old setup file. -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 From 252edaea66577327ba533eea5626be8ff860b9d3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 15:36:40 -0400 Subject: [PATCH 010/206] clarify --- doc/plugins/write.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 696bc6bc3..11ed312ae 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -98,7 +98,7 @@ function is passed no values. This allows a plugin to manipulate the list of files that need to be built when the wiki is refreshed. The function is passed a reference to an -array of pages that will be rebuilt, and can modify the array, either +array of files that will be rebuilt, and can modify the array, either adding or removing files from it. ### scan From 338d4ccff115e99a6541a660433591a9b7306c32 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 15:38:50 -0400 Subject: [PATCH 011/206] fix id --- IkiWiki/Plugin/blogspam.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/blogspam.pm b/IkiWiki/Plugin/blogspam.pm index c9883fbc2..da63d3edb 100644 --- a/IkiWiki/Plugin/blogspam.pm +++ b/IkiWiki/Plugin/blogspam.pm @@ -9,7 +9,7 @@ my $defaulturl='http://test.blogspam.net:8888/'; sub import { hook(type => "getsetup", id => "blogspam", call => \&getsetup); - hook(type => "checkconfig", id => "skeleton", call => \&checkconfig); + hook(type => "checkconfig", id => "blogspam", call => \&checkconfig); hook(type => "checkcontent", id => "blogspam", call => \&checkcontent); } From 5e1b3c0c363f4da91413b11905cce3a6d9af7abd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 16:00:36 -0400 Subject: [PATCH 012/206] plan of attack --- ...-compilation_inclusion_of_the_sidebar.mdwn | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn index 7586c060b..568b75747 100644 --- a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn +++ b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn @@ -28,3 +28,23 @@ NicolasLimare > sidebar could be done as you describe using .shtml. --[[Joey]] [[wishlist]] + +> I have a plan for a way to avoid unecessary rebuilds caused by the +> sidebar. The idea is to use wikistate to store what a sidebar renders to. +> Then in the needsbuild hook, render sidebar(s) and compare with their +> previous stored rendering. If a sidebar's rendered content has changed, +> then all pages that display that sidebar need to be forced to be rebuilt. +> +> Also, if there is no previous stored rendering for a sidebar, or +> if there is a stored rendering for a sidebar page that no longer exists, then +> the pages need to be rebuilt. (This should deal with the [[bugs/Building_a_sidebar_does_not_regenerate_the_subpages]] bug. +> +> This would also save significant time, since the stored sidebar rendering +> could just be dumped into the page by the pagetemplate hook. Current code +> re-loads and renders the same sidebar file for every page built! +> +> The sticky part is relative links on the sidebar. These would need to +> be modified somehow depending on the page that the sidebar is placed on. +> Doing that seems hard/tricky. Maybe it would not be worth the optimisation +> of using the stored rendering after all, and instead still re-render it for +> each page? --[[Joey]] From 86d6b40070023409882a5768a4db899e523bba71 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 22 Apr 2009 16:12:54 -0400 Subject: [PATCH 013/206] two problems --- ...-compilation_inclusion_of_the_sidebar.mdwn | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn index 568b75747..36161e8b4 100644 --- a/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn +++ b/doc/todo/Post-compilation_inclusion_of_the_sidebar.mdwn @@ -43,8 +43,25 @@ NicolasLimare > could just be dumped into the page by the pagetemplate hook. Current code > re-loads and renders the same sidebar file for every page built! > -> The sticky part is relative links on the sidebar. These would need to -> be modified somehow depending on the page that the sidebar is placed on. -> Doing that seems hard/tricky. Maybe it would not be worth the optimisation -> of using the stored rendering after all, and instead still re-render it for -> each page? --[[Joey]] +> The sticky part is (relative) links on the sidebar. These would need to +> be modified somehow depending on the page that the sidebar is placed on, +> to not break the link. +> +> Another wrinkle is changing subpage links on a sidebar. Suppose a sidebar +> links to page `foo`. If page `bar/foo` exists, the sidebar on page bar will, +> currently, link to that page, in preference to a toplevel `foo`. +> If `bar/foo` is removed, it will update to link to `foo`. With the new +> scheme, the stored sidebar rendering is not for page `foo`, and so +> the change of the `bar/foo` link will not be noticed or acted on. +> Granted, it's unlikely that anyone relies on the current behavior. You +> generally want links on a sidebar to link to the same place on every page +> that displays it. So finding some way to force all links on a sidebar to +> be handled absolutely and documenting that would avoid this problem. +> +> So, one way to handle both the above problems would be to use the +> pre-rendered sidebar for each page, but use a html parser to look for +> links in it, and munge them to work as relative links on the page the +> sidebar is being added to. Or, if the wiki's url is known, just do this +> once when rendering the sidebar, adding the full url to the links. +> (Maybe require `url` be set when using sidebar?) +> --[[Joey]] From 2c74f09bb870c717669f273ba7d4aa1637dcccf1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 13:39:42 -0400 Subject: [PATCH 014/206] relativedate: Deal with clock skew. If the server has a clock running a bit ahead of the web browsing client, relativedate could cause somewhat confusing displays like "3 seconds from now" for just posted things. As a hack, avoid displaying times in the future if they're less than a small slip forward. I chose 30 minutes because both client and server could be wrong in different directions, while it's still close enough that "just now" is not horribly wrong. --- debian/changelog | 1 + underlays/javascript/relativedate.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/debian/changelog b/debian/changelog index ba3042af0..fbfed0007 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low allowing the admin to see it during wiki setup. Closes: #520015 * websetup: If setup fails, restore old setup file. + * relativedate: Deal with clock skew. -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 diff --git a/underlays/javascript/relativedate.js b/underlays/javascript/relativedate.js index 8e05d4065..5142332f1 100644 --- a/underlays/javascript/relativedate.js +++ b/underlays/javascript/relativedate.js @@ -45,6 +45,12 @@ function relativeDate(date) { var offset = date.getTime() - now.getTime(); var seconds = Math.round(Math.abs(offset) / 1000); + // hack to avoid reading just in the future if there is a minor + // amount of clock slip + if (offset >= 0 && seconds < 30 * timeUnits['minute']) { + return "just now"; + } + var ret = ""; var shown = 0; for (i = 0; i < timeUnitOrder.length; i++) { From 748aa7af777caaa32ac5ab56e707509b3739b49e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 14:07:28 -0400 Subject: [PATCH 015/206] pagespec error/failure distinction and error display by inline * Add IkiWiki::ErrorReason objects, and modify pagespecs to return them in cases where they fail to match due to a configuration or syntax error. * inline: Display a handy error message if the inline cannot display any pages due to such an error. This is perhaps somewhat incomplete, as other users of pagespecs do not display the error, and will eventually need similar modifications to inline. I should probably factor out a pagespec_match_all function and make it throw ErrorReasons. --- IkiWiki.pm | 14 +++++---- IkiWiki/Plugin/filecheck.pm | 18 +++++------ IkiWiki/Plugin/inline.pm | 9 +++++- debian/changelog | 5 ++++ doc/plugins/write.mdwn | 9 ++++-- po/bg.po | 31 +++++++++++-------- po/cs.po | 31 +++++++++++-------- po/da.po | 36 +++++++++++++--------- po/de.po | 37 ++++++++++++++--------- po/es.po | 60 +++++++++++++++++++++++-------------- po/fr.po | 37 ++++++++++++++--------- po/gu.po | 31 +++++++++++-------- po/ikiwiki.pot | 27 ++++++++++------- po/pl.po | 31 +++++++++++-------- po/sv.po | 31 +++++++++++-------- po/vi.po | 31 +++++++++++-------- 16 files changed, 267 insertions(+), 171 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 2eca82e4d..fca8da874 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1800,7 +1800,7 @@ sub pagespec_translate ($) { $code.="IkiWiki::PageSpec::match_$1(\$page, ".safequote($2).", \@_)"; } else { - $code.="IkiWiki::FailReason->new(".safequote(qq{unknown function in pagespec "$word"}).")"; + $code.="IkiWiki::ErrorReason->new(".safequote(qq{unknown function in pagespec "$word"}).")"; } } else { @@ -1827,7 +1827,7 @@ sub pagespec_match ($$;@) { } my $sub=pagespec_translate($spec); - return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"") + return IkiWiki::ErrorReason->new("syntax error in pagespec \"$spec\"") if $@ || ! defined $sub; return $sub->($page, @params); } @@ -1861,6 +1861,10 @@ sub new { return bless \$value, $class; } +package IkiWiki::ErrorReason; + +our @ISA = 'IkiWiki::FailReason'; + package IkiWiki::SuccessReason; use overload ( @@ -2021,7 +2025,7 @@ sub match_user ($$;@) { my %params=@_; if (! exists $params{user}) { - return IkiWiki::FailReason->new("no user specified"); + return IkiWiki::ErrorReason->new("no user specified"); } if (defined $params{user} && lc $params{user} eq lc $user) { @@ -2041,7 +2045,7 @@ sub match_admin ($$;@) { my %params=@_; if (! exists $params{user}) { - return IkiWiki::FailReason->new("no user specified"); + return IkiWiki::ErrorReason->new("no user specified"); } if (defined $params{user} && IkiWiki::is_admin($params{user})) { @@ -2061,7 +2065,7 @@ sub match_ip ($$;@) { my %params=@_; if (! exists $params{ip}) { - return IkiWiki::FailReason->new("no IP specified"); + return IkiWiki::ErrorReason->new("no IP specified"); } if (defined $params{ip} && lc $params{ip} eq lc $ip) { diff --git a/IkiWiki/Plugin/filecheck.pm b/IkiWiki/Plugin/filecheck.pm index 8575ee108..01d490961 100644 --- a/IkiWiki/Plugin/filecheck.pm +++ b/IkiWiki/Plugin/filecheck.pm @@ -71,13 +71,13 @@ sub match_maxsize ($$;@) { my $page=shift; my $maxsize=eval{IkiWiki::Plugin::filecheck::parsesize(shift)}; if ($@) { - return IkiWiki::FailReason->new("unable to parse maxsize (or number too large)"); + return IkiWiki::ErrorReason->new("unable to parse maxsize (or number too large)"); } my %params=@_; my $file=exists $params{file} ? $params{file} : $IkiWiki::pagesources{$page}; if (! defined $file) { - return IkiWiki::FailReason->new("no file specified"); + return IkiWiki::ErrorReason->new("no file specified"); } if (-s $file > $maxsize) { @@ -92,13 +92,13 @@ sub match_minsize ($$;@) { my $page=shift; my $minsize=eval{IkiWiki::Plugin::filecheck::parsesize(shift)}; if ($@) { - return IkiWiki::FailReason->new("unable to parse minsize (or number too large)"); + return IkiWiki::ErrorReason->new("unable to parse minsize (or number too large)"); } my %params=@_; my $file=exists $params{file} ? $params{file} : $IkiWiki::pagesources{$page}; if (! defined $file) { - return IkiWiki::FailReason->new("no file specified"); + return IkiWiki::ErrorReason->new("no file specified"); } if (-s $file < $minsize) { @@ -116,14 +116,14 @@ sub match_mimetype ($$;@) { my %params=@_; my $file=exists $params{file} ? $params{file} : $IkiWiki::pagesources{$page}; if (! defined $file) { - return IkiWiki::FailReason->new("no file specified"); + return IkiWiki::ErrorReason->new("no file specified"); } # Use ::magic to get the mime type, the idea is to only trust # data obtained by examining the actual file contents. eval q{use File::MimeInfo::Magic}; if ($@) { - return IkiWiki::FailReason->new("failed to load File::MimeInfo::Magic ($@); cannot check MIME type"); + return IkiWiki::ErrorReason->new("failed to load File::MimeInfo::Magic ($@); cannot check MIME type"); } my $mimetype=File::MimeInfo::Magic::magic($file); if (! defined $mimetype) { @@ -149,12 +149,12 @@ sub match_virusfree ($$;@) { my %params=@_; my $file=exists $params{file} ? $params{file} : $IkiWiki::pagesources{$page}; if (! defined $file) { - return IkiWiki::FailReason->new("no file specified"); + return IkiWiki::ErrorReason->new("no file specified"); } if (! exists $IkiWiki::config{virus_checker} || ! length $IkiWiki::config{virus_checker}) { - return IkiWiki::FailReason->new("no virus_checker configured"); + return IkiWiki::ErrorReason->new("no virus_checker configured"); } # The file needs to be fed into the virus checker on stdin, @@ -162,7 +162,7 @@ sub match_virusfree ($$;@) { # used, clamd would fail to read it. eval q{use IPC::Open2}; error($@) if $@; - open (IN, "<", $file) || return IkiWiki::FailReason->new("failed to read file"); + open (IN, "<", $file) || return IkiWiki::ErrorReason->new("failed to read file"); binmode(IN); my $sigpipe=0; $SIG{PIPE} = sub { $sigpipe=1 }; diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 9d7d4b0fd..551c38a65 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -184,13 +184,20 @@ sub preprocess_inline (@) { } my @list; + my $lastmatch; foreach my $page (keys %pagesources) { next if $page eq $params{page}; - if (pagespec_match($page, $params{pages}, location => $params{page})) { + $lastmatch=pagespec_match($page, $params{pages}, location => $params{page}); + if ($lastmatch) { push @list, $page; } } + if (! @list && defined $lastmatch && + $lastmatch->isa("IkiWiki::ErrorReason")) { + error(sprintf(gettext("cannot match pages: %s"), $lastmatch)); + } + if (exists $params{sort} && $params{sort} eq 'title') { @list=sort { pagetitle(basename($a)) cmp pagetitle(basename($b)) } @list; } diff --git a/debian/changelog b/debian/changelog index fbfed0007..f8378f098 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,11 @@ ikiwiki (3.11) UNRELEASED; urgency=low Closes: #520015 * websetup: If setup fails, restore old setup file. * relativedate: Deal with clock skew. + * Add IkiWiki::ErrorReason objects, and modify pagespecs to return + them in cases where they fail to match due to a configuration or syntax + error. + * inline: Display a handy error message if the inline cannot display any + pages due to such an error. -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 11ed312ae..23df01ca7 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -890,9 +890,12 @@ It's also possible to write plugins that add new functions to IkiWiki::PageSpec package, that is named `match_foo`, where "foo()" is how it will be accessed in a [[ikiwiki/PageSpec]]. The function will be passed two parameters: The name of the page being matched, and the thing to match -against. It may also be passed additional, named parameters. It should return -a IkiWiki::SuccessReason object if the match succeeds, or an -IkiWiki::FailReason object if the match fails. +against. It may also be passed additional, named parameters. + +It should return a IkiWiki::SuccessReason object if the match succeeds, or +an IkiWiki::FailReason object if the match fails. If the match cannot be +attempted at all, for any page, it can instead return an +IkiWiki::ErrorReason object explaining why. ### Setup plugins diff --git a/po/bg.po b/po/bg.po index ce963f994..f2207601f 100644 --- a/po/bg.po +++ b/po/bg.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki-bg\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-01-12 01:19+0200\n" "Last-Translator: Damyan Ivanov \n" "Language-Team: Bulgarian \n" @@ -181,14 +181,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -419,29 +419,34 @@ msgstr "шаблонът „%s” не е намерен" msgid "missing pages parameter" msgstr "липсващ параметър „id” на шаблона" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "грешка при четене на „%s”: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "непознат вид сортиране „%s”" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Дискусия" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "модулът „RPC::XML::Client” не е намерен; източникът не е проверен" @@ -903,9 +908,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -986,12 +991,12 @@ msgstr "грешка при четене на „%s”: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" diff --git a/po/cs.po b/po/cs.po index c66004dcb..29df2126a 100644 --- a/po/cs.po +++ b/po/cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-05-09 21:21+0200\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" @@ -178,14 +178,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -413,29 +413,34 @@ msgstr "zdroj nebyl nalezen" msgid "missing pages parameter" msgstr "chybí parametr %s" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "nemohu číst %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "neznámý typ řazení %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Přidat nový příspěvek nazvaný:" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "neexistující šablona %s" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskuse" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client nebyl nalezen, nepinkám" @@ -885,9 +890,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -968,12 +973,12 @@ msgstr "nemohu číst %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" diff --git a/po/da.po b/po/da.po index 5f582312d..b49ac5cbd 100644 --- a/po/da.po +++ b/po/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2008-10-22 19:13+0100\n" "Last-Translator: Jonas Smedegaard \n" "Language-Team: None\n" @@ -180,14 +180,14 @@ msgstr "vedhæftningsoplægning" msgid "automatic index generation" msgstr "automatisk indeks-dannelse" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -410,29 +410,34 @@ msgstr "sideredigering er ikke tilladt" msgid "missing pages parameter" msgstr "mangler pages-parametren" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "kan ikke læse %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "ukendt sorteringsform %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Tilføj nyt indlæg med følgende titel:" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "ikke-eksisterende skabelon: %s" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client ikke fundet, pinger ikke" @@ -881,10 +886,10 @@ msgstr "" "For at opsætningsændringerne vist nedenfor træder fuldt ud i kraft, skal du " "muligvis genopbygge wikien." -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" -msgstr "

Fejl: %s sluttede med fejl (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." +msgstr "" #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -966,12 +971,12 @@ msgstr "kan ikke læse %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "du skal angive et wikinavn (som indeholder alfanumeriske tegn)" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "revisionskontrolsystem %s ikke understøttet" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "opsætning af depotet med ikiwiki-makerepo mislykkedes" @@ -1068,6 +1073,9 @@ msgstr "Hvilken wiki bruger (eller openid) skal være administrator?" msgid "What is the domain name of the web server?" msgstr "Hvad er domænenavnet på webserveren?" +#~ msgid "

Error: %s exited nonzero (%s)" +#~ msgstr "

Fejl: %s sluttede med fejl (%s)" + #~ msgid "failed to write %s: %s" #~ msgstr "skrivning ad %s mislykkedes: %s" diff --git a/po/de.po b/po/de.po index 748265924..3a05f46a8 100644 --- a/po/de.po +++ b/po/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.06\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2009-03-02 15:39+0100\n" "Last-Translator: Kai Wasserbäch \n" "Language-Team: German \n" @@ -178,7 +178,7 @@ msgstr "Anhang hochladen" msgid "automatic index generation" msgstr "automatische Index-Erstellung" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " @@ -187,7 +187,7 @@ msgstr "" "als Spam ein: " #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -415,29 +415,34 @@ msgstr "Seitenbearbeitungen sind nicht erlaubt" msgid "missing pages parameter" msgstr "Fehlender Seitenparameter" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "kann %s nicht lesen: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "Unbekannter Sortierungstyp %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Füge einen neuen Beitrag hinzu. Titel:" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "nicht-vorhandene Vorlage %s" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client nicht gefunden, führe Ping nicht aus" @@ -891,11 +896,10 @@ msgstr "" "Damit die unten aufgeführten Konfigurationsänderungen aktiviert werden, kann " "es erforderlich sein, das Wiki neu zu erzeugen." -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" -"

Fehler: %s beendete sich mit einem Wert ungleich Null (%s)" #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -978,12 +982,12 @@ msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" "Sie müssen einen Wiki-Namen eingeben (der alphanumerische Zeichen enthält)" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "Nicht unterstütztes Versionskontrollsystem %s" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "Erstellen des Depots mit ikiwiki-makerepo ist fehlgeschlagen" @@ -1082,3 +1086,8 @@ msgstr "" #: ../auto.setup:23 msgid "What is the domain name of the web server?" msgstr "Wie lautet der Domainname des Webservers?" + +#~ msgid "

Error: %s exited nonzero (%s)" +#~ msgstr "" +#~ "

Fehler: %s beendete sich mit einem Wert ungleich Null " +#~ "(%s)" diff --git a/po/es.po b/po/es.po index bf8f82899..682eff0c9 100644 --- a/po/es.po +++ b/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2009-04-07 08:54+0200\n" "Last-Translator: Víctor Moral \n" "Language-Team: spanish \n" @@ -34,7 +34,8 @@ msgstr "" #: ../IkiWiki/CGI.pm:149 msgid "login failed, perhaps you need to turn on cookies?" -msgstr "registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" +msgstr "" +"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" #: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299 msgid "Your login session has expired." @@ -70,7 +71,8 @@ msgstr "Contenido añadido activado vía web." #: ../IkiWiki/Plugin/aggregate.pm:93 msgid "Nothing to do right now, all feeds are up-to-date!" -msgstr "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" +msgstr "" +"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" #: ../IkiWiki/Plugin/aggregate.pm:220 #, perl-format @@ -183,7 +185,7 @@ msgstr "enviado el adjunto" msgid "automatic index generation" msgstr "creación de índice automática" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " @@ -192,7 +194,7 @@ msgstr "" "dice que el texto puede ser spam." #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -359,7 +361,8 @@ msgstr "" #: ../IkiWiki/Plugin/google.pm:31 msgid "Failed to parse url, cannot determine domain name" -msgstr "Error en el análisis del URL, no puedo determinar el nombre del dominio" +msgstr "" +"Error en el análisis del URL, no puedo determinar el nombre del dominio" #: ../IkiWiki/Plugin/goto.pm:49 msgid "missing page" @@ -417,29 +420,36 @@ msgstr "no está permitida la modificación de páginas" msgid "missing pages parameter" msgstr "falta el parámetro pages" -#: ../IkiWiki/Plugin/inline.pm:200 -msgid "Sort::Naturally needed for title_natural sort" -msgstr "Se necesita el módulo Sort::Naturally para el tipo de ordenación title_natural" +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "no puedo leer el archivo %s: %s" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:207 +msgid "Sort::Naturally needed for title_natural sort" +msgstr "" +"Se necesita el módulo Sort::Naturally para el tipo de ordenación " +"title_natural" + +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "no conozco este tipo de ordenación %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Añadir una entrada nueva titulada:" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "la plantilla %s no existe " -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Comentarios" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna" @@ -454,7 +464,8 @@ msgstr "La página %s está bloqueada y no puede modificarse" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" +msgstr "" +"el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format @@ -876,7 +887,8 @@ msgid "plugins" msgstr "complementos" #: ../IkiWiki/Plugin/websetup.pm:395 -msgid "The configuration changes shown below require a wiki rebuild to take effect." +msgid "" +"The configuration changes shown below require a wiki rebuild to take effect." msgstr "" "Los cambios en la configuración que se muestran más abajo precisan una " "reconstrucción del wiki para tener efecto." @@ -889,10 +901,10 @@ msgstr "" "Para que los cambios en la configuración mostrados más abajo tengan efecto, " "es posible que necesite reconstruir el wiki." -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" -msgstr "

Error: %s finaliza con código distinto de cero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." +msgstr "" #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -976,12 +988,12 @@ msgstr "no puedo leer el archivo %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "debe escribir un nombre wiki (que contiene caracteres alfanuméricos)" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "el sistema de control de versiones %s no está soportado" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "no he podido crear un repositorio con el programa ikiwiki-makerepo" @@ -992,7 +1004,8 @@ msgstr "el programa %s no parece ser ejecutable" #: ../IkiWiki/Wrapper.pm:20 msgid "cannot create a wrapper that uses a setup file" -msgstr "no puedo crear un programa envoltorio que utiliza un archivo de configuración" +msgstr "" +"no puedo crear un programa envoltorio que utiliza un archivo de configuración" #: ../IkiWiki/Wrapper.pm:24 msgid "wrapper filename not specified" @@ -1082,3 +1095,6 @@ msgstr "" msgid "What is the domain name of the web server?" msgstr "¿ Cuál es el dominio para el servidor web ?" +#~ msgid "

Error: %s exited nonzero (%s)" +#~ msgstr "" +#~ "

Error: %s finaliza con código distinto de cero (%s)" diff --git a/po/fr.po b/po/fr.po index 78b3bbe0f..8845f5068 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.04\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2009-03-15 16:10+0100\n" "Last-Translator: Philippe Batailler \n" "Language-Team: French \n" @@ -180,7 +180,7 @@ msgstr "Envoi de la pièce jointe" msgid "automatic index generation" msgstr "Génération de l'index automatique" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " @@ -189,7 +189,7 @@ msgstr "" "blogspam.net/\">blogspam: " #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -412,29 +412,34 @@ msgstr "Modification de page interdite" msgid "missing pages parameter" msgstr "Paramètre « pages » manquant" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "Lecture impossible de %s : %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "Type de tri %s inconnu" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Ajouter un nouvel article dont le titre est :" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "Le modèle de page %s n'existe pas" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Discussion" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client introuvable, pas de réponse au ping" @@ -886,11 +891,10 @@ msgstr "" "Pour que les changements de configuration ci-dessous prennent effet vous " "devez recompiler le wiki" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" -"

Erreur : %s s'est terminé, valeur de sortie nonzero (%s)" #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -975,12 +979,12 @@ msgstr "" "Vous devez spécifier un nom de wiki (contenant des caractères " "alphanumériques)" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "Système de contrôle de version non reconnu : %s" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "Échec lors de la création du dépôt avec ikiwiki-makerepo" @@ -1076,3 +1080,8 @@ msgstr "Identifiant de l'administrateur (utilisateur du wiki ou openid) :" #: ../auto.setup:23 msgid "What is the domain name of the web server?" msgstr "Nom de domaine du serveur HTTP :" + +#~ msgid "

Error: %s exited nonzero (%s)" +#~ msgstr "" +#~ "

Erreur : %s s'est terminé, valeur de sortie nonzero (%" +#~ "s)" diff --git a/po/gu.po b/po/gu.po index dd9c7c5a1..a1bda2a15 100644 --- a/po/gu.po +++ b/po/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki-gu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-01-11 16:05+0530\n" "Last-Translator: Kartik Mistry \n" "Language-Team: Gujarati \n" @@ -179,14 +179,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -414,29 +414,34 @@ msgstr "ફીડ મળ્યું નહી" msgid "missing pages parameter" msgstr "ખોવાયેલ %s વિકલ્પ" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "વાંચી શકાતી નથી %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "અજાણ્યો ગોઠવણી પ્રકાર %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "આ શિર્ષકથી નવું પોસ્ટ ઉમેરો:" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "અસ્તિત્વમાં ન હોય તેવું ટેમ્પલેટ %s" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "ચર્ચા" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client મળ્યું નહી, પિંગ કરવામાં આવતું નથી" @@ -885,9 +890,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -968,12 +973,12 @@ msgstr "વાંચી શકાતી નથી %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index d05a4a693..6c9b16289 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: 2009-04-04 18:50-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -177,14 +177,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -405,29 +405,34 @@ msgstr "" msgid "missing pages parameter" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, perl-format +msgid "cannot match pages: %s" +msgstr "" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "" @@ -868,9 +873,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 diff --git a/po/pl.po b/po/pl.po index 305d8bfc6..fc9313364 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 1.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-04-27 22:05+0200\n" "Last-Translator: Pawel Tecza \n" "Language-Team: Debian L10n Polish \n" @@ -183,14 +183,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -421,29 +421,34 @@ msgstr "nieznaleziony kanał RSS" msgid "missing pages parameter" msgstr "brakujący parametr %s" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "awaria w trakcie odczytu %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "nieznany sposób sortowania %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "Tytuł nowego wpisu" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "brakujący szablon %s" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Dyskusja" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "Nieznaleziony moduł RPC::XML::Client, brak możliwości pingowania" @@ -909,9 +914,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -992,12 +997,12 @@ msgstr "awaria w trakcie odczytu %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" diff --git a/po/sv.po b/po/sv.po index eeeac88f8..fc7af3830 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-01-10 23:47+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -180,14 +180,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -416,29 +416,34 @@ msgstr "mallen %s hittades inte" msgid "missing pages parameter" msgstr "mall saknar id-parameter" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "kan inte läsa %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "okänd sorteringstyp %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client hittades inte, pingar inte" @@ -898,9 +903,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -981,12 +986,12 @@ msgstr "kan inte läsa %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" diff --git a/po/vi.po b/po/vi.po index 719e99889..212acbe58 100644 --- a/po/vi.po +++ b/po/vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-04 14:59-0400\n" +"POT-Creation-Date: 2009-04-23 14:02-0400\n" "PO-Revision-Date: 2007-01-13 15:31+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -181,14 +181,14 @@ msgstr "" msgid "automatic index generation" msgstr "" -#: ../IkiWiki/Plugin/blogspam.pm:105 +#: ../IkiWiki/Plugin/blogspam.pm:108 msgid "" "Sorry, but that looks like spam to blogspam: " msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:361 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -419,29 +419,34 @@ msgstr "không tìm thấy mẫu %s" msgid "missing pages parameter" msgstr "mẫu thiếu tham số id" -#: ../IkiWiki/Plugin/inline.pm:200 +#: ../IkiWiki/Plugin/inline.pm:198 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "không thể đọc %s: %s" + +#: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:211 +#: ../IkiWiki/Plugin/inline.pm:218 #, perl-format msgid "unknown sort type %s" msgstr "kiểu sắp xếp không rõ %s" -#: ../IkiWiki/Plugin/inline.pm:314 +#: ../IkiWiki/Plugin/inline.pm:321 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:334 +#: ../IkiWiki/Plugin/inline.pm:341 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:369 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Thảo luận" -#: ../IkiWiki/Plugin/inline.pm:600 +#: ../IkiWiki/Plugin/inline.pm:607 msgid "RPC::XML::Client not found, not pinging" msgstr "Không tìm thấy RPC::XML::Client nên không gửi gói tin ping" @@ -899,9 +904,9 @@ msgid "" "to rebuild the wiki." msgstr "" -#: ../IkiWiki/Plugin/websetup.pm:433 +#: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format -msgid "

Error: %s exited nonzero (%s)" +msgid "Error: %s exited nonzero (%s). Discarding setup changes." msgstr "" #: ../IkiWiki/Receive.pm:35 @@ -982,12 +987,12 @@ msgstr "không thể đọc %s: %s" msgid "you must enter a wikiname (that contains alphanumerics)" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:68 +#: ../IkiWiki/Setup/Automator.pm:71 #, perl-format msgid "unsupported revision control system %s" msgstr "" -#: ../IkiWiki/Setup/Automator.pm:94 +#: ../IkiWiki/Setup/Automator.pm:97 msgid "failed to set up the repository with ikiwiki-makerepo" msgstr "" From 527d178c12141d2467dfa86492e249d021b88997 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 14:56:10 -0400 Subject: [PATCH 016/206] comments: Add link to comment post form to allow user to sign in if they wish to, if the configuration makes signin optional for commenting. --- IkiWiki/Plugin/comments.pm | 7 +++++++ debian/changelog | 3 +++ po/ikiwiki.pot | 26 +++++++++++++------------- templates/editcomment.tmpl | 5 ++++- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index 98f9f8b3d..e618d1a90 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -317,6 +317,13 @@ sub editcomment ($$) { force => 1); } + if (! defined $session->param('name')) { + # Make signinurl work and return here. + $form->tmpl_param(signinurl => IkiWiki::cgiurl(do => 'signin')); + $session->param(postsignin => $ENV{QUERY_STRING}); + IkiWiki::cgi_savesession($session); + } + # The untaint is OK (as in editpage) because we're about to pass # it to file_pruned anyway my $page = $form->field('page'); diff --git a/debian/changelog b/debian/changelog index f8378f098..de4ac4a8c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,9 @@ ikiwiki (3.11) UNRELEASED; urgency=low error. * inline: Display a handy error message if the inline cannot display any pages due to such an error. + * comments: Add link to comment post form to allow user to sign in + if they wish to, if the configuration makes signin optional + for commenting. -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 6c9b16289..254bf83be 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: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-04-23 14:43-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -212,55 +212,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:331 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:336 #, perl-format msgid "commenting on %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:354 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:361 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:455 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:470 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:474 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:516 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:567 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:606 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:757 msgid "Comments" msgstr "" diff --git a/templates/editcomment.tmpl b/templates/editcomment.tmpl index 7590cdfd7..27d9457d4 100644 --- a/templates/editcomment.tmpl +++ b/templates/editcomment.tmpl @@ -6,8 +6,11 @@ -Name: (optional)
+Name: (optional, or +Signin)
Website: (optional)
+ +(You might want to Signin first?)
Subject:
From aa306957bac11477b914ac19b93890184ffe4062 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 15:45:30 -0400 Subject: [PATCH 017/206] pagespec_match_list added and used in most appropriate places * pagespec_match_list: New API function, matches pages in a list and throws an error if the pagespec is bad. * inline, brokenlinks, calendar, linkmap, map, orphans, pagecount, pagestate, postsparkline: Display a handy error message if the pagespec is erronious. --- IkiWiki.pm | 32 ++++++++++++++++++--- IkiWiki/Plugin/brokenlinks.pm | 23 ++++++++-------- IkiWiki/Plugin/calendar.pm | 3 +- IkiWiki/Plugin/external.pm | 9 +++++- IkiWiki/Plugin/inline.pm | 17 ++---------- IkiWiki/Plugin/linkmap.pm | 7 ++--- IkiWiki/Plugin/map.pm | 49 ++++++++++++++++----------------- IkiWiki/Plugin/orphans.pm | 7 +++-- IkiWiki/Plugin/pagecount.pm | 9 ++---- IkiWiki/Plugin/pagestats.pm | 11 ++++---- IkiWiki/Plugin/postsparkline.pm | 10 ++----- debian/changelog | 7 +++-- doc/plugins/write.mdwn | 13 +++++++++ 13 files changed, 111 insertions(+), 86 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index fca8da874..e260fffea 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -18,10 +18,10 @@ use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase use Exporter q{import}; our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match - bestlink htmllink readfile writefile pagetype srcfile pagename - displaytime will_render gettext urlto targetpage - add_underlay pagetitle titlepage linkpage newpagefile - inject + pagespec_match_list bestlink htmllink readfile writefile + pagetype srcfile pagename displaytime will_render gettext urlto + targetpage add_underlay pagetitle titlepage linkpage + newpagefile inject %config %links %pagestate %wikistate %renderedfiles %pagesources %destsources); our $VERSION = 3.00; # plugin interface version, next is ikiwiki version @@ -1832,6 +1832,30 @@ sub pagespec_match ($$;@) { return $sub->($page, @params); } +sub pagespec_match_list ($$;@) { + my $pages=shift; + my $spec=shift; + my @params=@_; + + my $sub=pagespec_translate($spec); + error "syntax error in pagespec \"$spec\"" + if $@ || ! defined $sub; + + my @ret; + my $r; + foreach my $page (@$pages) { + $r=$sub->($page, @params); + push @ret, $page if $r; + } + + if (! @ret && defined $r && $r->isa("IkiWiki::ErrorReason")) { + error(sprintf(gettext("cannot match pages: %s"), $r)); + } + else { + return @ret; + } +} + sub pagespec_valid ($) { my $spec=shift; diff --git a/IkiWiki/Plugin/brokenlinks.pm b/IkiWiki/Plugin/brokenlinks.pm index bf0d7560d..da97dbc28 100644 --- a/IkiWiki/Plugin/brokenlinks.pm +++ b/IkiWiki/Plugin/brokenlinks.pm @@ -28,18 +28,17 @@ sub preprocess (@) { add_depends($params{page}, $params{pages}); my %broken; - foreach my $page (keys %links) { - if (pagespec_match($page, $params{pages}, location => $params{page})) { - my $discussion=gettext("discussion"); - my %seen; - foreach my $link (@{$links{$page}}) { - next if $seen{$link}; - $seen{$link}=1; - next if $link =~ /.*\/\Q$discussion\E/i && $config{discussion}; - my $bestlink=bestlink($page, $link); - next if length $bestlink; - push @{$broken{$link}}, $page; - } + foreach my $page (pagespec_match_list([keys %links], + $params{pages}, location => $params{page})) { + my $discussion=gettext("discussion"); + my %seen; + foreach my $link (@{$links{$page}}) { + next if $seen{$link}; + $seen{$link}=1; + next if $link =~ /.*\/\Q$discussion\E/i && $config{discussion}; + my $bestlink=bestlink($page, $link); + next if length $bestlink; + push @{$broken{$link}}, $page; } } diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm index d473c8348..fe4b16072 100644 --- a/IkiWiki/Plugin/calendar.pm +++ b/IkiWiki/Plugin/calendar.pm @@ -369,8 +369,7 @@ sub preprocess (@) { my $page =$params{page}; if (! defined $cache{$pagespec}) { - foreach my $p (keys %pagesources) { - next unless pagespec_match($p, $pagespec); + foreach my $p (pagespec_match_list([keys %pagesources], $pagespec)) { my $mtime = $IkiWiki::pagectime{$p}; my $src = $pagesources{$p}; my @date = localtime($mtime); diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm index 066f15cf1..aeee15dea 100644 --- a/IkiWiki/Plugin/external.pm +++ b/IkiWiki/Plugin/external.pm @@ -230,10 +230,17 @@ sub hook ($@) { } sub pagespec_match ($@) { - # convert pagespec_match's return object into a XML RPC boolean + # convert return object into a XML RPC boolean my $plugin=shift; return RPC::XML::boolean->new(0 + IkiWiki::pagespec_march(@_)); } +sub pagespec_match_list ($@) { + # convert return object into a XML RPC boolean + my $plugin=shift; + + return RPC::XML::boolean->new(0 + IkiWiki::pagespec_march_list(@_)); +} + 1 diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 551c38a65..366357095 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -183,20 +183,9 @@ sub preprocess_inline (@) { $params{template} = $archive ? "archivepage" : "inlinepage"; } - my @list; - my $lastmatch; - foreach my $page (keys %pagesources) { - next if $page eq $params{page}; - $lastmatch=pagespec_match($page, $params{pages}, location => $params{page}); - if ($lastmatch) { - push @list, $page; - } - } - - if (! @list && defined $lastmatch && - $lastmatch->isa("IkiWiki::ErrorReason")) { - error(sprintf(gettext("cannot match pages: %s"), $lastmatch)); - } + my @list=pagespec_match_list( + [ grep { $_ ne $params{page}} keys %pagesources ], + $params{pages}, location => $params{page}); if (exists $params{sort} && $params{sort} eq 'title') { @list=sort { pagetitle(basename($a)) cmp pagetitle(basename($b)) } @list; diff --git a/IkiWiki/Plugin/linkmap.pm b/IkiWiki/Plugin/linkmap.pm index 941ed5f36..0137476ac 100644 --- a/IkiWiki/Plugin/linkmap.pm +++ b/IkiWiki/Plugin/linkmap.pm @@ -56,10 +56,9 @@ sub genmap ($) { # Get all the items to map. my %mapitems = (); - foreach my $item (keys %links) { - if (pagespec_match($item, $params{pages}, location => $params{page})) { - $mapitems{$item}=urlto($item, $params{destpage}); - } + foreach my $item (pagespec_match_list([keys %links], + $params{pages}, location => $params{page})) { + $mapitems{$item}=urlto($item, $params{destpage}); } my $dest=$params{page}."/linkmap.png"; diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index 328493116..120451b5d 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -32,32 +32,31 @@ sub preprocess (@) { # Get all the items to map. my %mapitems; - foreach my $page (keys %pagesources) { - if (pagespec_match($page, $params{pages}, location => $params{page})) { - if (exists $params{show} && - exists $pagestate{$page} && - exists $pagestate{$page}{meta}{$params{show}}) { - $mapitems{$page}=$pagestate{$page}{meta}{$params{show}}; - } - else { - $mapitems{$page}=''; - } - # Check for a common prefix. - if (! defined $common_prefix) { - $common_prefix=$page; - } - elsif (length $common_prefix && - $page !~ /^\Q$common_prefix\E(\/|$)/) { - my @a=split(/\//, $page); - my @b=split(/\//, $common_prefix); - $common_prefix=""; - while (@a && @b && $a[0] eq $b[0]) { - if (length $common_prefix) { - $common_prefix.="/"; - } - $common_prefix.=shift(@a); - shift @b; + foreach my $page (pagespec_match_list([keys %pagesources], + $params{pages}, location => $params{page})) { + if (exists $params{show} && + exists $pagestate{$page} && + exists $pagestate{$page}{meta}{$params{show}}) { + $mapitems{$page}=$pagestate{$page}{meta}{$params{show}}; + } + else { + $mapitems{$page}=''; + } + # Check for a common prefix. + if (! defined $common_prefix) { + $common_prefix=$page; + } + elsif (length $common_prefix && + $page !~ /^\Q$common_prefix\E(\/|$)/) { + my @a=split(/\//, $page); + my @b=split(/\//, $common_prefix); + $common_prefix=""; + while (@a && @b && $a[0] eq $b[0]) { + if (length $common_prefix) { + $common_prefix.="/"; } + $common_prefix.=shift(@a); + shift @b; } } } diff --git a/IkiWiki/Plugin/orphans.pm b/IkiWiki/Plugin/orphans.pm index 605e6e43a..cf74c9b79 100644 --- a/IkiWiki/Plugin/orphans.pm +++ b/IkiWiki/Plugin/orphans.pm @@ -35,9 +35,10 @@ sub preprocess (@) { my @orphans; my $discussion=gettext("discussion"); - foreach my $page (keys %pagesources) { - next if $linkedto{$page} || $page eq 'index'; - next unless pagespec_match($page, $params{pages}, location => $params{page}); + foreach my $page (pagespec_match_list( + [ grep { ! $linkedto{$_} && $_ ne 'index' } + keys %pagesources ], + $params{pages}, location => $params{page})) { # If the page has a link to some other page, it's # indirectly linked to a page via that page's backlinks. next if grep { diff --git a/IkiWiki/Plugin/pagecount.pm b/IkiWiki/Plugin/pagecount.pm index a143f24d0..f8881a04b 100644 --- a/IkiWiki/Plugin/pagecount.pm +++ b/IkiWiki/Plugin/pagecount.pm @@ -27,12 +27,9 @@ sub preprocess (@) { add_depends($params{page}, $params{pages}); my @pages=keys %pagesources; - return $#pages+1 if $params{pages} eq "*"; # optimisation - my $count=0; - foreach my $page (@pages) { - $count++ if pagespec_match($page, $params{pages}, location => $params{page}); - } - return $count; + @pages=pagespec_match_list(\@pages, $params{pages}, location => $params{page}) + if $params{pages} ne "*"; # optimisation; + return $#pages+1; } 1 diff --git a/IkiWiki/Plugin/pagestats.pm b/IkiWiki/Plugin/pagestats.pm index dbe69539d..8ab5d3666 100644 --- a/IkiWiki/Plugin/pagestats.pm +++ b/IkiWiki/Plugin/pagestats.pm @@ -41,12 +41,11 @@ sub preprocess (@) { my %counts; my $max = 0; - foreach my $page (keys %links) { - if (pagespec_match($page, $params{pages}, location => $params{page})) { - use IkiWiki::Render; - $counts{$page} = scalar(IkiWiki::backlinks($page)); - $max = $counts{$page} if $counts{$page} > $max; - } + foreach my $page (pagespec_match_list([keys %links], + $params{pages}, location => $params{page})) { + use IkiWiki::Render; + $counts{$page} = scalar(IkiWiki::backlinks($page)); + $max = $counts{$page} if $counts{$page} > $max; } if ($style eq 'table') { diff --git a/IkiWiki/Plugin/postsparkline.pm b/IkiWiki/Plugin/postsparkline.pm index ba43561fb..c2ebbc5eb 100644 --- a/IkiWiki/Plugin/postsparkline.pm +++ b/IkiWiki/Plugin/postsparkline.pm @@ -50,13 +50,9 @@ sub preprocess (@) { add_depends($params{page}, $params{pages}); - my @list; - foreach my $page (keys %pagesources) { - next if $page eq $params{page}; - if (pagespec_match($page, $params{pages}, location => $params{page})) { - push @list, $page; - } - } + my @list=pagespec_match_list( + [ grep { $_ ne $params{page} } keys %pagesources], + $params{pages}, location => $params{page}); @list = sort { $params{timehash}->{$b} <=> $params{timehash}->{$a} } @list; diff --git a/debian/changelog b/debian/changelog index de4ac4a8c..37b69ada0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,8 +11,11 @@ ikiwiki (3.11) UNRELEASED; urgency=low * Add IkiWiki::ErrorReason objects, and modify pagespecs to return them in cases where they fail to match due to a configuration or syntax error. - * inline: Display a handy error message if the inline cannot display any - pages due to such an error. + * pagespec_match_list: New API function, matches pages in a list + and throws an error if the pagespec is bad. + * inline, brokenlinks, calendar, linkmap, map, orphans, pagecount, + pagestate, postsparkline: Display a handy error message if the pagespec + is erronious. * comments: Add link to comment post form to allow user to sign in if they wish to, if the configuration makes signin optional for commenting. diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 23df01ca7..0b358b215 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -572,6 +572,19 @@ The most often used is "location", which specifies the location the PageSpec should match against. If not passed, relative PageSpecs will match relative to the top of the wiki. +#### `pagespec_match_list($$;@)` + +Passed a reference to a list of page names, and [[ikiwiki/PageSpec]], +returns the set of pages that match the [[ikiwiki/PageSpec]]. + +Additional named parameters can be passed, to further limit the match. +The most often used is "location", which specifies the location the +PageSpec should match against. If not passed, relative PageSpecs will match +relative to the top of the wiki. + +Unlike pagespec_match, this may throw an error if there is an error in +the pagespec. + #### `bestlink($$)` Given a page and the text of a link on the page, determine which From e3ccf393c6081e413e1da0eae46ac937a032a13b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:13:40 -0400 Subject: [PATCH 018/206] typo --- IkiWiki/Plugin/external.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm index aeee15dea..f0acc7e4e 100644 --- a/IkiWiki/Plugin/external.pm +++ b/IkiWiki/Plugin/external.pm @@ -233,14 +233,14 @@ sub pagespec_match ($@) { # convert return object into a XML RPC boolean my $plugin=shift; - return RPC::XML::boolean->new(0 + IkiWiki::pagespec_march(@_)); + return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match(@_)); } sub pagespec_match_list ($@) { # convert return object into a XML RPC boolean my $plugin=shift; - return RPC::XML::boolean->new(0 + IkiWiki::pagespec_march_list(@_)); + return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match_list(@_)); } 1 From 860a86707856dcffcc67f137a0ab250ab34c42a6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:14:35 -0400 Subject: [PATCH 019/206] formatting --- IkiWiki/Plugin/inline.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index 366357095..4507ace4d 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -184,7 +184,7 @@ sub preprocess_inline (@) { } my @list=pagespec_match_list( - [ grep { $_ ne $params{page}} keys %pagesources ], + [ grep { $_ ne $params{page} } keys %pagesources ], $params{pages}, location => $params{page}); if (exists $params{sort} && $params{sort} eq 'title') { From 2f96c49bd1826ecb213ae025ad456a714aa04863 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:20:18 -0400 Subject: [PATCH 020/206] pagespec_match_list * optimisation Add an optimisation for the semi-common case of a "*" pagespec. Can avoid doing any real processing in this case. --- IkiWiki.pm | 2 ++ IkiWiki/Plugin/pagecount.pm | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index e260fffea..e8c0c7abc 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1837,6 +1837,8 @@ sub pagespec_match_list ($$;@) { my $spec=shift; my @params=@_; + return @$pages if $spec eq '*'; # optimisation + my $sub=pagespec_translate($spec); error "syntax error in pagespec \"$spec\"" if $@ || ! defined $sub; diff --git a/IkiWiki/Plugin/pagecount.pm b/IkiWiki/Plugin/pagecount.pm index f8881a04b..a561e58e5 100644 --- a/IkiWiki/Plugin/pagecount.pm +++ b/IkiWiki/Plugin/pagecount.pm @@ -26,9 +26,7 @@ sub preprocess (@) { # register a dependency. add_depends($params{page}, $params{pages}); - my @pages=keys %pagesources; - @pages=pagespec_match_list(\@pages, $params{pages}, location => $params{page}) - if $params{pages} ne "*"; # optimisation; + my @pages=pagespec_match_list([keys %pagesources], $params{pages}, location => $params{page}); return $#pages+1; } From 14d8df55ad6099e1785c6e568b6f020abca3290f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:23:52 -0400 Subject: [PATCH 021/206] simplify --- IkiWiki/Plugin/postsparkline.pm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/IkiWiki/Plugin/postsparkline.pm b/IkiWiki/Plugin/postsparkline.pm index c2ebbc5eb..d2e5c2378 100644 --- a/IkiWiki/Plugin/postsparkline.pm +++ b/IkiWiki/Plugin/postsparkline.pm @@ -50,11 +50,10 @@ sub preprocess (@) { add_depends($params{page}, $params{pages}); - my @list=pagespec_match_list( - [ grep { $_ ne $params{page} } keys %pagesources], - $params{pages}, location => $params{page}); - - @list = sort { $params{timehash}->{$b} <=> $params{timehash}->{$a} } @list; + my @list=sort { $params{timehash}->{$b} <=> $params{timehash}->{$a} } + pagespec_match_list( + [ grep { $_ ne $params{page} } keys %pagesources], + $params{pages}, location => $params{page}); my @data=eval qq{IkiWiki::Plugin::postsparkline::formula::$formula(\\\%params, \@list)}; if ($@) { From 4030f757650a68df220956666f01e575f848daaf Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:26:54 -0400 Subject: [PATCH 022/206] avoid using pagespec_match_list here I forgot to check if it was called from preprocess, and it is not; it's called by a format hook. If an error is thrown from a format hook, wiki build fails, so we don't want that. --- IkiWiki/Plugin/linkmap.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/IkiWiki/Plugin/linkmap.pm b/IkiWiki/Plugin/linkmap.pm index 0137476ac..941ed5f36 100644 --- a/IkiWiki/Plugin/linkmap.pm +++ b/IkiWiki/Plugin/linkmap.pm @@ -56,9 +56,10 @@ sub genmap ($) { # Get all the items to map. my %mapitems = (); - foreach my $item (pagespec_match_list([keys %links], - $params{pages}, location => $params{page})) { - $mapitems{$item}=urlto($item, $params{destpage}); + foreach my $item (keys %links) { + if (pagespec_match($item, $params{pages}, location => $params{page})) { + $mapitems{$item}=urlto($item, $params{destpage}); + } } my $dest=$params{page}."/linkmap.png"; From 85ae48b21eed71eeace8cd093ce92b7399cba861 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:35:56 -0400 Subject: [PATCH 023/206] Revert "pagespec_match_list * optimisation" This reverts commit 2f96c49bd1826ecb213ae025ad456a714aa04863. I forgot about internal pages. We don't want * matching them! I left the optimisation in pagecount, where it used to live. Internal pages probably don't matter when they're just being counted. --- IkiWiki.pm | 2 -- IkiWiki/Plugin/pagecount.pm | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index e8c0c7abc..e260fffea 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1837,8 +1837,6 @@ sub pagespec_match_list ($$;@) { my $spec=shift; my @params=@_; - return @$pages if $spec eq '*'; # optimisation - my $sub=pagespec_translate($spec); error "syntax error in pagespec \"$spec\"" if $@ || ! defined $sub; diff --git a/IkiWiki/Plugin/pagecount.pm b/IkiWiki/Plugin/pagecount.pm index a561e58e5..f8881a04b 100644 --- a/IkiWiki/Plugin/pagecount.pm +++ b/IkiWiki/Plugin/pagecount.pm @@ -26,7 +26,9 @@ sub preprocess (@) { # register a dependency. add_depends($params{page}, $params{pages}); - my @pages=pagespec_match_list([keys %pagesources], $params{pages}, location => $params{page}); + my @pages=keys %pagesources; + @pages=pagespec_match_list(\@pages, $params{pages}, location => $params{page}) + if $params{pages} ne "*"; # optimisation; return $#pages+1; } From 528f8f83ea228ff64f1d05e30f555f75ac2f2ddd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 23 Apr 2009 16:40:45 -0400 Subject: [PATCH 024/206] simplifiy --- IkiWiki/Plugin/pagecount.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/pagecount.pm b/IkiWiki/Plugin/pagecount.pm index f8881a04b..1955603b0 100644 --- a/IkiWiki/Plugin/pagecount.pm +++ b/IkiWiki/Plugin/pagecount.pm @@ -26,8 +26,7 @@ sub preprocess (@) { # register a dependency. add_depends($params{page}, $params{pages}); - my @pages=keys %pagesources; - @pages=pagespec_match_list(\@pages, $params{pages}, location => $params{page}) + my @pages=pagespec_match_list([keys %pagesources], $params{pages}, location => $params{page}) if $params{pages} ne "*"; # optimisation; return $#pages+1; } From 8656029c02c2925e0c0ae358ec86c830683652e6 Mon Sep 17 00:00:00 2001 From: NicolasLimare Date: Fri, 24 Apr 2009 05:48:03 -0400 Subject: [PATCH 025/206] --- doc/sandbox/Try_some_math_formulas.mdwn | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/sandbox/Try_some_math_formulas.mdwn b/doc/sandbox/Try_some_math_formulas.mdwn index 31eb10813..6c0fe6de5 100644 --- a/doc/sandbox/Try_some_math_formulas.mdwn +++ b/doc/sandbox/Try_some_math_formulas.mdwn @@ -3,5 +3,4 @@ * How about some math? * $\frac{1}{2} = \frac{3}{6}$ - - +and teximg? [[!teximg code="\frac{1}{2}"]] From 5dd1e097501a4076c19d4a372ca8528e01508b6e Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:26:45 +0100 Subject: [PATCH 026/206] new todo item: more flexible inline postform --- doc/todo/more_flexible_inline_postform.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/todo/more_flexible_inline_postform.mdwn diff --git a/doc/todo/more_flexible_inline_postform.mdwn b/doc/todo/more_flexible_inline_postform.mdwn new file mode 100644 index 000000000..112220394 --- /dev/null +++ b/doc/todo/more_flexible_inline_postform.mdwn @@ -0,0 +1,14 @@ +Using the [[plugins/inline]] plugin, you can get an inline-postform for +creating new pages. + +It would be quite nice to have the flexibility to do this outside of the +inline directive. + +I've got a proof-of-concept hacked inline comment submission example at + for example. I've just copied the HTML from +the post form and stuck it inside a [[plugins/toggle]]. + +(Before Simon completed the comments plugin, I thought this would the a +logical first step towards doing comment-like things with inlined pages). + +-- [[Jon]] From 24177f8433510b2418dc78b234ea8f6da4c91c77 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:34:32 +0100 Subject: [PATCH 027/206] interactive todo lists todo item --- doc/todo/interactive_todo_lists.mdwn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 doc/todo/interactive_todo_lists.mdwn diff --git a/doc/todo/interactive_todo_lists.mdwn b/doc/todo/interactive_todo_lists.mdwn new file mode 100644 index 000000000..69b610696 --- /dev/null +++ b/doc/todo/interactive_todo_lists.mdwn @@ -0,0 +1,26 @@ +This is a fleshed out todo based on discussions at +[[forum/managing_todo_lists]]. + +I would like to have TODO lists inside ikiwiki wikis. This would mean: + +* a new markup plugin to support a language suitable for TODO lists (OPML, + XOXO are two possible candidates) +* some javascript to provide interactive editing. + +As [[chrysn]] pointed out on the forum page, this has some crossover with +[[structured page data]]. In particular, if the markup language chosen had a +concept of invalid markup (existing plugins just tend to ignore stuff that +isn't explicitly part of their markup) we would need to sensibly handle that. +Perhaps rejecting web edits and providing context help on why the edit was +rejected, although that sounds like a significant headache. + +I have started working on this, albeit slowly. A proof of concept is at +. + +There are two git repositories associated with my WIP: one contains the +javascript, the plugin, the changes made to page templates; the other contains +the contents of that wiki-site (so the test todos and the contents of bugs/ +which forms a sort-of todo list for the todo list :)) I will endeavour to get +mirrors of those repos up on github or similar asap. + +-- [[Jon]] From b9b7dfa176e46841801c4fcedff2caa7cd2c0522 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:40:07 +0100 Subject: [PATCH 028/206] backlinks issue --- .../backlinks_onhover_thing_can_go_weird.mdwn | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn new file mode 100644 index 000000000..dac73c1ad --- /dev/null +++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn @@ -0,0 +1,22 @@ +I was just hovering over the '...' next to the backlinks on a page on +. In terms of the size of my browser window, this was +towards the bottom-right of the screen. + +When I hovered over the '...', the additional backlinks float appeared. This +caused the page length to grow down, meaning a horizontal scrollbar was added +to the page. This meant the text reflowed, and the '...' moved outside of my +mouse pointer region. + +This caused an infinite loop of box appears... text moves, box disappears... +box re-appears.. which was not very visually pleasant. + +In general I think that the onhover float is a bit of bad UI. Even a truncated +list of backlinks looks cluttered due to there being no delimiters. I moved to +having an always-complete list of backlinks and having them as LI elements +inside a UL to make it look neater, although I appreciate that would make some +pages very long indeed. + +How about doing something a little like [[plugins/toggle]] for the excess +items instead? + +-- [[Jon]] From e1d0b1529b56313940d0b52ef4a4a7106d03a1fd Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:41:25 +0100 Subject: [PATCH 029/206] another backlinks issue --- doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn index dac73c1ad..17d53cd80 100644 --- a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn +++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn @@ -20,3 +20,11 @@ How about doing something a little like [[plugins/toggle]] for the excess items instead? -- [[Jon]] + +---- + +An additional, related issue: if the box expands beyond the bottom of the +page, you might move your mouse pointer to the scrollbar in order to move +further down the list, but of course then you are outside the hover region. + +-- [[Jon]] From 31fff76651610a736baa4ba6a8d67a8658be1d99 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:44:28 +0100 Subject: [PATCH 030/206] add a ' ' to prevent autosmiley eating a ) --- doc/todo/interactive_todo_lists.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/interactive_todo_lists.mdwn b/doc/todo/interactive_todo_lists.mdwn index 69b610696..cf248bd41 100644 --- a/doc/todo/interactive_todo_lists.mdwn +++ b/doc/todo/interactive_todo_lists.mdwn @@ -20,7 +20,7 @@ I have started working on this, albeit slowly. A proof of concept is at There are two git repositories associated with my WIP: one contains the javascript, the plugin, the changes made to page templates; the other contains the contents of that wiki-site (so the test todos and the contents of bugs/ -which forms a sort-of todo list for the todo list :)) I will endeavour to get +which forms a sort-of todo list for the todo list :) ) I will endeavour to get mirrors of those repos up on github or similar asap. -- [[Jon]] From 4202dab92cc90d94aaddf086c44af4a16b207f7e Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 25 Apr 2009 15:57:31 -0400 Subject: [PATCH 031/206] --- doc/bugs/SSI_include_stripped_from_mdwn.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/bugs/SSI_include_stripped_from_mdwn.mdwn diff --git a/doc/bugs/SSI_include_stripped_from_mdwn.mdwn b/doc/bugs/SSI_include_stripped_from_mdwn.mdwn new file mode 100644 index 000000000..e65f19e2c --- /dev/null +++ b/doc/bugs/SSI_include_stripped_from_mdwn.mdwn @@ -0,0 +1 @@ +If I have a <--#include virtual="foo" --> in some file, it gets stripped, even though other HTML comments don't get stripped. I imagine it's some plugin doing it, or IkiWiki itself, or an IkiWiki dependency, but I haven't found where this is happening. I'm trying to implement a workaround for my sidebars forcing a rebuild of the wiki every day - I use the calendar plugin - when the day changes, by using SSI. From c876ee825bb0928d5e18e0d484591892f4caec34 Mon Sep 17 00:00:00 2001 From: "http://stefano.zacchiroli.myopenid.com/" Date: Sun, 26 Apr 2009 13:50:33 -0400 Subject: [PATCH 032/206] --- doc/plugins/blogspam.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/plugins/blogspam.mdwn b/doc/plugins/blogspam.mdwn index 466afd8d9..a13b6e8f4 100644 --- a/doc/plugins/blogspam.mdwn +++ b/doc/plugins/blogspam.mdwn @@ -15,7 +15,10 @@ The plugin requires the [[!cpan RPC::XML]] perl module. You can control how content is tested via the `blogspam_options` setting. The list of options is [here](http://blogspam.net/api/testComment.html#options). By default, the options are configured in a way that is appropriate for -wiki content. This includes turning off some of the more problimatic tests. +wiki content. This includes turning off some of the more problematic tests. +An interesting option for testing is `fail`, by setting it (e.g., +`blogspam_options => 'fail'`), *all* comments will be marked as SPAM, so that +you can check whether the interaction with blogspam.net works. The `blogspam_pagespec` setting is a [[ikiwiki/PageSpec]] that can be used to configure which pages are checked for spam. The default is to check From 7b46399c8e2d0500fcf21d0bca8ec860fcd2bebe Mon Sep 17 00:00:00 2001 From: simonraven Date: Sun, 26 Apr 2009 16:17:41 -0400 Subject: [PATCH 033/206] --- doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn b/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn index 15ddccb92..b3fe9f86c 100644 --- a/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn +++ b/doc/tips/convert_mediawiki_to_ikiwiki/discussion.mdwn @@ -63,6 +63,8 @@ The iki-fast-load ruby script from the u32 page is given below: pipe.puts end +> Would be nice to know where you could get "node-callbacks"... this thing is useless without it. --[[users/simonraven]] + Mediawiki.pm - A plugin which supports mediawiki format. From 701982423a160bcedbcc34141bee4f72a9212ce9 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sun, 26 Apr 2009 17:08:10 -0400 Subject: [PATCH 034/206] htmlscrubber? --- doc/bugs/SSI_include_stripped_from_mdwn.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/SSI_include_stripped_from_mdwn.mdwn b/doc/bugs/SSI_include_stripped_from_mdwn.mdwn index e65f19e2c..bd895127a 100644 --- a/doc/bugs/SSI_include_stripped_from_mdwn.mdwn +++ b/doc/bugs/SSI_include_stripped_from_mdwn.mdwn @@ -1 +1,3 @@ If I have a <--#include virtual="foo" --> in some file, it gets stripped, even though other HTML comments don't get stripped. I imagine it's some plugin doing it, or IkiWiki itself, or an IkiWiki dependency, but I haven't found where this is happening. I'm trying to implement a workaround for my sidebars forcing a rebuild of the wiki every day - I use the calendar plugin - when the day changes, by using SSI. + +> It is probably the [[plugins/htmlscrubber]] plugin. -- [[Jon]] From cfbb3c03cf8173bf5a418d3dfe16505f1f06ee9c Mon Sep 17 00:00:00 2001 From: TimBosse Date: Sun, 26 Apr 2009 23:50:08 -0400 Subject: [PATCH 035/206] --- doc/css_market/discussion.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/css_market/discussion.mdwn b/doc/css_market/discussion.mdwn index f80053e38..86d16de9a 100644 --- a/doc/css_market/discussion.mdwn +++ b/doc/css_market/discussion.mdwn @@ -14,3 +14,7 @@ The most recent version is always available at: Just letting me know about the change works -- updated. --[[Joey]] + +---- + +Added small changes to embeddedmoose.css to work with ikiwiki 3.x. Figured here is as good as any until Josh can review and update if he so chooses: . It removes annoying borders around the header and footer. -- [[TimBosse]] From 018548fb51e35799a418965c8f9e3dcf8a8c47e6 Mon Sep 17 00:00:00 2001 From: TimBosse Date: Sun, 26 Apr 2009 23:51:30 -0400 Subject: [PATCH 036/206] --- doc/css_market/timbosse.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/css_market/timbosse.mdwn diff --git a/doc/css_market/timbosse.mdwn b/doc/css_market/timbosse.mdwn new file mode 100644 index 000000000..bd459cc80 --- /dev/null +++ b/doc/css_market/timbosse.mdwn @@ -0,0 +1 @@ + From ca597d4edfaed4e51af230e30bd24db7088ac112 Mon Sep 17 00:00:00 2001 From: TimBosse Date: Sun, 26 Apr 2009 23:58:47 -0400 Subject: [PATCH 037/206] --- doc/users/TimBosse.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/users/TimBosse.mdwn diff --git a/doc/users/TimBosse.mdwn b/doc/users/TimBosse.mdwn new file mode 100644 index 000000000..bd459cc80 --- /dev/null +++ b/doc/users/TimBosse.mdwn @@ -0,0 +1 @@ + From c70ae749a1bb3b1b9173fc66ba1e30e8addaced5 Mon Sep 17 00:00:00 2001 From: TimBosse Date: Mon, 27 Apr 2009 10:12:22 -0400 Subject: [PATCH 038/206] removed --- doc/css_market/timbosse.mdwn | 1 - 1 file changed, 1 deletion(-) delete mode 100644 doc/css_market/timbosse.mdwn diff --git a/doc/css_market/timbosse.mdwn b/doc/css_market/timbosse.mdwn deleted file mode 100644 index bd459cc80..000000000 --- a/doc/css_market/timbosse.mdwn +++ /dev/null @@ -1 +0,0 @@ - From a18c61c0bfd6cd1382f33937e0dd38540f54ffbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Moral?= Date: Mon, 27 Apr 2009 10:18:58 +0200 Subject: [PATCH 039/206] upated spanish translation --- po/es.po | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/po/es.po b/po/es.po index 682eff0c9..1d6c23cb9 100644 --- a/po/es.po +++ b/po/es.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-04-23 14:02-0400\n" -"PO-Revision-Date: 2009-04-07 08:54+0200\n" +"PO-Revision-Date: 2009-04-27 09:32+0200\n" "Last-Translator: Víctor Moral \n" "Language-Team: spanish \n" "MIME-Version: 1.0\n" @@ -34,8 +34,7 @@ msgstr "" #: ../IkiWiki/CGI.pm:149 msgid "login failed, perhaps you need to turn on cookies?" -msgstr "" -"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" +msgstr "registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" #: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299 msgid "Your login session has expired." @@ -71,8 +70,7 @@ msgstr "Contenido añadido activado vía web." #: ../IkiWiki/Plugin/aggregate.pm:93 msgid "Nothing to do right now, all feeds are up-to-date!" -msgstr "" -"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" +msgstr "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" #: ../IkiWiki/Plugin/aggregate.pm:220 #, perl-format @@ -361,8 +359,7 @@ msgstr "" #: ../IkiWiki/Plugin/google.pm:31 msgid "Failed to parse url, cannot determine domain name" -msgstr "" -"Error en el análisis del URL, no puedo determinar el nombre del dominio" +msgstr "Error en el análisis del URL, no puedo determinar el nombre del dominio" #: ../IkiWiki/Plugin/goto.pm:49 msgid "missing page" @@ -421,9 +418,9 @@ msgid "missing pages parameter" msgstr "falta el parámetro pages" #: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format +#, perl-format msgid "cannot match pages: %s" -msgstr "no puedo leer el archivo %s: %s" +msgstr "no encuentro páginas coincidentes: %s" #: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" @@ -464,8 +461,7 @@ msgstr "La página %s está bloqueada y no puede modificarse" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "" -"el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" +msgstr "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format @@ -887,8 +883,7 @@ msgid "plugins" msgstr "complementos" #: ../IkiWiki/Plugin/websetup.pm:395 -msgid "" -"The configuration changes shown below require a wiki rebuild to take effect." +msgid "The configuration changes shown below require a wiki rebuild to take effect." msgstr "" "Los cambios en la configuración que se muestran más abajo precisan una " "reconstrucción del wiki para tener efecto." @@ -904,7 +899,7 @@ msgstr "" #: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format msgid "Error: %s exited nonzero (%s). Discarding setup changes." -msgstr "" +msgstr "Error: el programa %s finaliza con un código mayor que cero (%s). Descarto los cambios en la configuración." #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -1004,8 +999,7 @@ msgstr "el programa %s no parece ser ejecutable" #: ../IkiWiki/Wrapper.pm:20 msgid "cannot create a wrapper that uses a setup file" -msgstr "" -"no puedo crear un programa envoltorio que utiliza un archivo de configuración" +msgstr "no puedo crear un programa envoltorio que utiliza un archivo de configuración" #: ../IkiWiki/Wrapper.pm:24 msgid "wrapper filename not specified" @@ -1095,6 +1089,3 @@ msgstr "" msgid "What is the domain name of the web server?" msgstr "¿ Cuál es el dominio para el servidor web ?" -#~ msgid "

Error: %s exited nonzero (%s)" -#~ msgstr "" -#~ "

Error: %s finaliza con código distinto de cero (%s)" From 45c8b951a1722bf7edd2e4a432f729992771e202 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 Apr 2009 13:54:48 -0400 Subject: [PATCH 040/206] Updated Danish translation from Jonas Smedegaard. Closes: #525751 --- debian/changelog | 1 + po/da.po | 177 +++++++++++++++++++++++------------------------ 2 files changed, 87 insertions(+), 91 deletions(-) diff --git a/debian/changelog b/debian/changelog index 37b69ada0..f2d27afe4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low * comments: Add link to comment post form to allow user to sign in if they wish to, if the configuration makes signin optional for commenting. + * Updated Danish translation from Jonas Smedegaard. Closes: #525751 -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 diff --git a/po/da.po b/po/da.po index b49ac5cbd..7ab780caf 100644 --- a/po/da.po +++ b/po/da.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-04-23 14:02-0400\n" -"PO-Revision-Date: 2008-10-22 19:13+0100\n" +"PO-Revision-Date: 2009-04-26 23:34+0100\n" "Last-Translator: Jonas Smedegaard \n" "Language-Team: None\n" "MIME-Version: 1.0\n" @@ -24,16 +24,15 @@ msgid "You need to log in first." msgstr "Du skal først logge på." #: ../IkiWiki/CGI.pm:146 -msgid "" -"probable misconfiguration: sslcookie is set, but you are attepting to login " -"via http, not https" -msgstr "" +msgid "probable misconfiguration: sslcookie is set, but you are attepting to login via http, not https" +msgstr "mulig opsætningsfejl: sslcookie er sat, men du forsøger at logge på via http, ikke https" #: ../IkiWiki/CGI.pm:149 msgid "login failed, perhaps you need to turn on cookies?" msgstr "Pålogning mislykkedes, måske skal du tillade infokager (cookies)?" -#: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299 +#: ../IkiWiki/CGI.pm:168 +#: ../IkiWiki/CGI.pm:299 msgid "Your login session has expired." msgstr "Din kørsel (login session) er udløbet" @@ -57,7 +56,9 @@ msgstr "Indstillinger gemt" msgid "You are banned." msgstr "Du er banlyst." -#: ../IkiWiki/CGI.pm:390 ../IkiWiki/CGI.pm:391 ../IkiWiki.pm:1211 +#: ../IkiWiki/CGI.pm:390 +#: ../IkiWiki/CGI.pm:391 +#: ../IkiWiki.pm:1211 msgid "Error" msgstr "Fejl" @@ -99,7 +100,7 @@ msgstr "udløber %s" #: ../IkiWiki/Plugin/aggregate.pm:469 #, perl-format msgid "last checked %s" -msgstr "" +msgstr "senest undersøgt %s" #: ../IkiWiki/Plugin/aggregate.pm:473 #, perl-format @@ -138,7 +139,8 @@ msgstr "opretter ny side %s" msgid "deleting bucket.." msgstr "sletter bundt.." -#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:210 +#: ../IkiWiki/Plugin/amazon_s3.pm:38 +#: ../ikiwiki.in:210 msgid "done" msgstr "færdig" @@ -181,14 +183,15 @@ msgid "automatic index generation" msgstr "automatisk indeks-dannelse" #: ../IkiWiki/Plugin/blogspam.pm:108 -msgid "" -"Sorry, but that looks like spam to blogspam: " -msgstr "" +msgid "Sorry, but that looks like spam to blogspam: " +msgstr "Beklager, men det ligner spam til blogspam: " -#: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 -#: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 +#: ../IkiWiki/Plugin/brokenlinks.pm:33 +#: ../IkiWiki/Plugin/editpage.pm:233 +#: ../IkiWiki/Plugin/inline.pm:368 +#: ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/orphans.pm:37 +#: ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "diskussion" @@ -202,74 +205,78 @@ msgstr "%s fra %s" msgid "There are no broken links!" msgstr "Ingen henvisninger der ikker fungerer!" -#: ../IkiWiki/Plugin/comments.pm:122 ../IkiWiki/Plugin/format.pm:23 -#, fuzzy, perl-format +#: ../IkiWiki/Plugin/comments.pm:122 +#: ../IkiWiki/Plugin/format.pm:23 +#, perl-format msgid "unsupported page format %s" -msgstr "revisionskontrolsystem %s ikke understøttet" +msgstr "Ikke-understøttet sideformat %s" #: ../IkiWiki/Plugin/comments.pm:127 msgid "comment must have content" -msgstr "" +msgstr "kommentar skal have indhold" #: ../IkiWiki/Plugin/comments.pm:183 msgid "Anonymous" -msgstr "" +msgstr "Anonym" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 -#, fuzzy +#: ../IkiWiki/Plugin/comments.pm:326 +#: ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" -msgstr "dårligt vedhæftningsfilnavn" +msgstr "dårligt sidenavn" #: ../IkiWiki/Plugin/comments.pm:331 -#, fuzzy, perl-format +#, perl-format msgid "commenting on %s" -msgstr "opretter %s" +msgstr "kommenterer på %s" #: ../IkiWiki/Plugin/comments.pm:349 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" -msgstr "" +msgstr "siden '%s' eksisterer ikke, så du kan ikke kommentere" #: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "comments on page '%s' are closed" -msgstr "" +msgstr "kommentarer på side '%s' er lukket" #: ../IkiWiki/Plugin/comments.pm:450 msgid "comment stored for moderation" -msgstr "" +msgstr "kommentar gemt for moderering" #: ../IkiWiki/Plugin/comments.pm:452 msgid "Your comment will be posted after moderator review" -msgstr "" +msgstr "Din kommentar vil blive tilføjet efter moderatorgenemsyn" #: ../IkiWiki/Plugin/comments.pm:465 msgid "Added a comment" -msgstr "" +msgstr "Tilføjede en kommentar" #: ../IkiWiki/Plugin/comments.pm:469 #, perl-format msgid "Added a comment: %s" -msgstr "" +msgstr "Tilføjede en kommentar: %s" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:511 +#: ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "du er ikke logget på som en administrator" #: ../IkiWiki/Plugin/comments.pm:562 msgid "Comment moderation" -msgstr "" +msgstr "Kommentarmoderering" #: ../IkiWiki/Plugin/comments.pm:601 msgid "comment moderation" -msgstr "" +msgstr "kommentarkoderering" #: ../IkiWiki/Plugin/comments.pm:752 msgid "Comments" -msgstr "" +msgstr "Kommentarer" -#: ../IkiWiki/Plugin/conditional.pm:27 ../IkiWiki/Plugin/cutpaste.pm:30 -#: ../IkiWiki/Plugin/cutpaste.pm:45 ../IkiWiki/Plugin/cutpaste.pm:61 +#: ../IkiWiki/Plugin/conditional.pm:27 +#: ../IkiWiki/Plugin/cutpaste.pm:30 +#: ../IkiWiki/Plugin/cutpaste.pm:45 +#: ../IkiWiki/Plugin/cutpaste.pm:61 #: ../IkiWiki/Plugin/testpagespec.pm:26 #, perl-format msgid "%s parameter is required" @@ -299,8 +306,10 @@ msgstr "%s er ikke en redigérbar side" msgid "creating %s" msgstr "opretter %s" -#: ../IkiWiki/Plugin/editpage.pm:307 ../IkiWiki/Plugin/editpage.pm:326 -#: ../IkiWiki/Plugin/editpage.pm:336 ../IkiWiki/Plugin/editpage.pm:380 +#: ../IkiWiki/Plugin/editpage.pm:307 +#: ../IkiWiki/Plugin/editpage.pm:326 +#: ../IkiWiki/Plugin/editpage.pm:336 +#: ../IkiWiki/Plugin/editpage.pm:380 #: ../IkiWiki/Plugin/editpage.pm:419 #, perl-format msgid "editing %s" @@ -325,27 +334,27 @@ msgstr "dannelsen mislykkedes" #: ../IkiWiki/Plugin/format.pm:20 msgid "must specify format and text" -msgstr "" +msgstr "skal angive format og tekst" #: ../IkiWiki/Plugin/fortune.pm:27 msgid "fortune failed" msgstr "spådom (fortune) fejlede" -#: ../IkiWiki/Plugin/git.pm:626 ../IkiWiki/Plugin/git.pm:644 +#: ../IkiWiki/Plugin/git.pm:626 +#: ../IkiWiki/Plugin/git.pm:644 #: ../IkiWiki/Receive.pm:129 -#, fuzzy, perl-format +#, perl-format msgid "you are not allowed to change %s" -msgstr "du er ikke logget på som en administrator" +msgstr "Du har ikke lov til at ændre %s" #: ../IkiWiki/Plugin/git.pm:666 #, perl-format msgid "you cannot act on a file with mode %s" -msgstr "" +msgstr "du kan ikke påvirke en fil med modus %s" #: ../IkiWiki/Plugin/git.pm:670 -#, fuzzy msgid "you are not allowed to change file modes" -msgstr "du er ikke logget på som en administrator" +msgstr "du har ikke lov til at ændre modus for filer" #: ../IkiWiki/Plugin/google.pm:27 #, perl-format @@ -382,7 +391,8 @@ msgstr "Image::Magick ikke installeret" msgid "bad size \"%s\"" msgstr "forkert størrelse \"%s\"" -#: ../IkiWiki/Plugin/img.pm:80 ../IkiWiki/Plugin/img.pm:84 +#: ../IkiWiki/Plugin/img.pm:80 +#: ../IkiWiki/Plugin/img.pm:84 #: ../IkiWiki/Plugin/img.pm:101 #, perl-format msgid "failed to read %s: %s" @@ -411,13 +421,13 @@ msgid "missing pages parameter" msgstr "mangler pages-parametren" #: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format +#, perl-format msgid "cannot match pages: %s" -msgstr "kan ikke læse %s: %s" +msgstr "kan ikke få sider til at passe sammen: %s" #: ../IkiWiki/Plugin/inline.pm:207 msgid "Sort::Naturally needed for title_natural sort" -msgstr "" +msgstr "Sort::Naturally krævet for title_natural sortering" #: ../IkiWiki/Plugin/inline.pm:218 #, perl-format @@ -433,7 +443,8 @@ msgstr "Tilføj nyt indlæg med følgende titel:" msgid "nonexistant template %s" msgstr "ikke-eksisterende skabelon: %s" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:376 +#: ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" @@ -452,15 +463,12 @@ msgstr "%s er låst og kan ikke redigeres" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "" -"multimarkdown er aktiveret, men Text::MultiMarkdown er ikke installeret" +msgstr "multimarkdown er aktiveret, men Text::MultiMarkdown er ikke installeret" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)" -msgstr "" -"Indlæsning af perl-modulet Markdown.pm (%s) eller /usr/bin/markdown (%s) " -"mislykkedes" +msgstr "Indlæsning af perl-modulet Markdown.pm (%s) eller /usr/bin/markdown (%s) mislykkedes" #: ../IkiWiki/Plugin/meta.pm:158 msgid "stylesheet not found" @@ -516,8 +524,7 @@ msgstr "Fejl ved kontooprettelse." #: ../IkiWiki/Plugin/passwordauth.pm:257 msgid "No email address, so cannot email password reset instructions." -msgstr "" -"Ingen emailadresse, så kan ikke sende adgangskodenulstillingsinstruktioner." +msgstr "Ingen emailadresse, så kan ikke sende adgangskodenulstillingsinstruktioner." #: ../IkiWiki/Plugin/passwordauth.pm:291 msgid "Failed to send mail" @@ -658,7 +665,8 @@ msgstr "Kræver enten parametre `percent` eller `totalpages og `donepages`" msgid "(Diff truncated)" msgstr "(Diff trunkeret)" -#: ../IkiWiki/Plugin/remove.pm:31 ../IkiWiki/Plugin/rename.pm:36 +#: ../IkiWiki/Plugin/remove.pm:31 +#: ../IkiWiki/Plugin/rename.pm:36 #, perl-format msgid "%s does not exist" msgstr "%s eksisterer ikke" @@ -668,7 +676,8 @@ msgstr "%s eksisterer ikke" msgid "%s is not in the srcdir, so it cannot be deleted" msgstr "%s er ikke i srcdir, så kan ikke blive slettet" -#: ../IkiWiki/Plugin/remove.pm:41 ../IkiWiki/Plugin/rename.pm:45 +#: ../IkiWiki/Plugin/remove.pm:41 +#: ../IkiWiki/Plugin/rename.pm:45 #, perl-format msgid "%s is not a file" msgstr "%s er ikke en fil" @@ -752,9 +761,9 @@ msgid "search" msgstr "søg" #: ../IkiWiki/Plugin/shortcut.pm:31 -#, fuzzy, perl-format +#, perl-format msgid "shortcut plugin will not work without %s" -msgstr "genvejsudvidelsen vil ikke fungere uden en shortcuts.mdwn" +msgstr "genvejsudvidelsen vil ikke fungere uden %s" #: ../IkiWiki/Plugin/shortcut.pm:44 msgid "missing name or url parameter" @@ -872,45 +881,35 @@ msgid "plugins" msgstr "udvidelser" #: ../IkiWiki/Plugin/websetup.pm:395 -msgid "" -"The configuration changes shown below require a wiki rebuild to take effect." -msgstr "" -"Opsætningsændringerne vist nedenfor kræver wiki-genopbygning for at træde i " -"kraft." +msgid "The configuration changes shown below require a wiki rebuild to take effect." +msgstr "Opsætningsændringerne vist nedenfor kræver wiki-genopbygning for at træde i kraft." #: ../IkiWiki/Plugin/websetup.pm:399 -msgid "" -"For the configuration changes shown below to fully take effect, you may need " -"to rebuild the wiki." -msgstr "" -"For at opsætningsændringerne vist nedenfor træder fuldt ud i kraft, skal du " -"muligvis genopbygge wikien." +msgid "For the configuration changes shown below to fully take effect, you may need to rebuild the wiki." +msgstr "For at opsætningsændringerne vist nedenfor træder fuldt ud i kraft, skal du muligvis genopbygge wikien." #: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format msgid "Error: %s exited nonzero (%s). Discarding setup changes." -msgstr "" +msgstr "Fejl: %s returnerede ikke-nul (%s). Dropper opsætningsændringer." #: ../IkiWiki/Receive.pm:35 #, perl-format msgid "cannot determine id of untrusted committer %s" -msgstr "" +msgstr "kan ikke afgøre id for ikke-tillidsfulde skribent %s" #: ../IkiWiki/Receive.pm:85 -#, fuzzy, perl-format +#, perl-format msgid "bad file name %s" -msgstr "udelader forkert filnavn %s" +msgstr "dårligt filnavn %s" #: ../IkiWiki/Render.pm:253 #, perl-format -msgid "" -"symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to " -"allow this" -msgstr "" -"symbolsk lænke fundet i srcdir-sti (%s) -- sæt allow_symlinks_before_srcdir " -"for at tillade dette" +msgid "symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to allow this" +msgstr "symbolsk lænke fundet i srcdir-sti (%s) -- sæt allow_symlinks_before_srcdir for at tillade dette" -#: ../IkiWiki/Render.pm:277 ../IkiWiki/Render.pm:302 +#: ../IkiWiki/Render.pm:277 +#: ../IkiWiki/Render.pm:302 #, perl-format msgid "skipping bad filename %s" msgstr "udelader forkert filnavn %s" @@ -1040,8 +1039,7 @@ msgstr "kan ikke bruge flere samtidige RCS-udvidelser" #: ../IkiWiki.pm:555 #, perl-format msgid "failed to load external plugin needed for %s plugin: %s" -msgstr "" -"indlæsning af ekstern udvidelse krævet af udvidelsen %s mislykkedes: %s" +msgstr "indlæsning af ekstern udvidelse krævet af udvidelsen %s mislykkedes: %s" #: ../IkiWiki.pm:1194 #, perl-format @@ -1065,7 +1063,6 @@ msgid "What revision control system to use?" msgstr "Hvilket revisionskontrolsystem skal bruges?" #: ../auto.setup:20 -#, fuzzy msgid "What wiki user (or openid) will be admin?" msgstr "Hvilken wiki bruger (eller openid) skal være administrator?" @@ -1075,12 +1072,10 @@ msgstr "Hvad er domænenavnet på webserveren?" #~ msgid "

Error: %s exited nonzero (%s)" #~ msgstr "

Fejl: %s sluttede med fejl (%s)" - #~ msgid "failed to write %s: %s" #~ msgstr "skrivning ad %s mislykkedes: %s" - #~ msgid "failed to find url in html" #~ msgstr "lokalisering af url i html mislykkedes" - #~ msgid "processed ok at %s" #~ msgstr "korrekt dannet ved %s" + From df9801a3715a4d79bf7659b1a8f44ed818e16755 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 Apr 2009 13:56:56 -0400 Subject: [PATCH 041/206] mention po plugin --- doc/translation.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/translation.mdwn b/doc/translation.mdwn index 58a8f4b48..81a3092b4 100644 --- a/doc/translation.mdwn +++ b/doc/translation.mdwn @@ -27,6 +27,6 @@ essentailly three peices needed for a complete translation: [[todo/l10n]], but until that's complete, you'd need to copy and translate the templates by hand. -1. The [[basewiki]] itself needs to be translated. Whether to only translate - the page contents, or also translate the page names, is an open - question. +1. The [[basewiki]] itself needs to be translated. The + [[plugins/contrib/po]] ikiwiki plugin will allow translating + wikis using po files and can be used for this. From a1bbeec14854f48ae9fc6ae49421a5c30d10dc0f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 Apr 2009 13:57:35 -0400 Subject: [PATCH 042/206] translation.mdwn: Typo fixes. Closes: #525753 --- debian/changelog | 1 + doc/translation.mdwn | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index f2d27afe4..f4c4266d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low if they wish to, if the configuration makes signin optional for commenting. * Updated Danish translation from Jonas Smedegaard. Closes: #525751 + * translation.mdwn: Typo fixes. Closes: #525753 -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 diff --git a/doc/translation.mdwn b/doc/translation.mdwn index 81a3092b4..e3e458ce7 100644 --- a/doc/translation.mdwn +++ b/doc/translation.mdwn @@ -1,9 +1,9 @@ If you want to translate your wiki into another language, there are -essentailly three peices needed for a complete translation: +essentially three pieces needed for a complete translation: 1. The messages in the ikiwiki program itself need to be translated. Ikiwiki is internationalised, and most such messages are already marked - with `gettext()`. THe source tarball includes a creates a `po/ikiwiki.pot` + with `gettext()`. The source tarball includes a `po/ikiwiki.pot` that can be copied and translated as a po file. All very standard. Note that a few things in the source are not currently translated. These From b8be54db227e94502b8caf47ac06b51ba53bc283 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 01:41:12 -0400 Subject: [PATCH 043/206] s/choosen/chosen/ --- doc/ikiwiki/directive/teximg.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ikiwiki/directive/teximg.mdwn b/doc/ikiwiki/directive/teximg.mdwn index e13d1ed65..992a3f68d 100644 --- a/doc/ikiwiki/directive/teximg.mdwn +++ b/doc/ikiwiki/directive/teximg.mdwn @@ -12,7 +12,7 @@ To scale the image, use height=x: \[[!teximg code="\frac{1}{2}" height="17"]] \[[!teximg code="\frac{1}{2}" height="8"]] -If no height is choosen the default height 12 is used. Valid heights are: 8, 9, +If no height is chosen the default height 12 is used. Valid heights are: 8, 9, 10, 11, 12, 14, 17, 20. If another height is entered, the closest available height is used. From 972220412fded94b53a357858039656f234ce8f9 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 16:14:44 -0400 Subject: [PATCH 044/206] --- .../ikiwiki-wordpress-import.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn index 5d7a266ec..96c5f2f89 100644 --- a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn +++ b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn @@ -111,3 +111,12 @@ if __name__ == "__main__": main(*sys.argv[1:])

+ + +(I don't know why the tag down there says %s other than it's reading in from the <pre>'d script...) + +I have another version of the script, which scans for <pubDate> and inserts that as a \[[!meta date="foodate"]]. Still work in progress since I just got back to it today, after adding in a rough idea. I'll post a link to it here when it's "good enough for me". + +[[!tag wordpress]] +[[!tag python]] +[[!tag conversion]] From 0e8f7c336dc3ecd2367cbe8dd6c091d1989b2491 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 16:42:35 -0400 Subject: [PATCH 045/206] --- .../ikiwiki-wordpress-import.mdwn | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn index 96c5f2f89..aa1135b5d 100644 --- a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn +++ b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn @@ -2,7 +2,7 @@ I modified the script a bit so categories and tags would actually show up in the output file. - +-----
 #!/usr/bin/env python
 
@@ -29,7 +29,7 @@ I modified the script a bit so categories and tags would actually show up in the
     Usage: run --help as an argument with this script.
 
     Notes:
-    I added some extra bits to include the [[!tag foo]] stuff in the post,
+    I added some extra bits to include the \[[!tag foo]] stuff in the post,
     as it wasn't before, at all. I'll diff the versions out so you can see
     the mess I made :).
 
@@ -66,7 +66,7 @@ def main(name, email, subdir, branch='master'):
         commit_msg = """Importing WordPress post "%s" [%s]""" % (x.title.string, x.guid.string)
         timestamp = time.mktime(time.strptime(x.find('wp:post_date_gmt').string, "%Y-%m-%d %H:%M:%S"))
 
-        content = '[[!meta title="%s"]]\n\n' % (x.title.string.replace('"', r'\"'))
+        content = '\[[!meta title="%s"]]\n\n' % (x.title.string.replace('"', r'\"'))
         content += x.find('content:encoded').string.replace('\r\n', '\n')
 
         # categories = x.findAll('category')
@@ -76,8 +76,8 @@ def main(name, email, subdir, branch='master'):
         """
         We do it differently here because we have duplicates otherwise.
         Take a look:
-        
-	
+        <category><![CDATA[Health]]></category>
+        <category domain="category" nicename="health"><![CDATA[Health]]></category>
 
         If we do the what original did, we end up with all tags and cats doubled.
         Therefore we only pick out nicename="foo". Our 'True' below is our 'foo'.
@@ -90,14 +90,14 @@ def main(name, email, subdir, branch='master'):
             for cat in categories:
                 # remove 'tags/' because we have a 'tagbase' set.
                 # your choice: 'tag', or 'taglink'
-                # content += "\n[[!tag %s]]" % (cat.string.replace(' ', '-'))
-                content += "\n[[!taglink %s]]" % (cat.string.replace(' ', '-'))
+                # content += "\n\[[!tag %s]]" % (cat.string.replace(' ', '-'))
+                content += "\n\[[!taglink %s]]" % (cat.string.replace(' ', '-'))
                 # print >>sys.stderr, cat.string.replace(' ', '-')
 
         # moved this thing down
         data = content.encode('ascii', 'html_replace')
         print "commit refs/heads/%s" % branch
-        print "committer %s <%s> %d +0000" % (name, email, timestamp)
+        print "committer %s <%s> %d +0000" % (name, email, timestamp)
         print "data %d" % len(commit_msg)
         print commit_msg
         print "M 644 inline %s" % os.path.join(subdir, "%s.mdwn" % stub)
@@ -111,12 +111,15 @@ if __name__ == "__main__":
         main(*sys.argv[1:])
 
 
- +----- (I don't know why the tag down there says %s other than it's reading in from the <pre>'d script...) I have another version of the script, which scans for <pubDate> and inserts that as a \[[!meta date="foodate"]]. Still work in progress since I just got back to it today, after adding in a rough idea. I'll post a link to it here when it's "good enough for me". +(Hopefully I've escaped everything properly; if I missed something, check the source.) + [[!tag wordpress]] [[!tag python]] [[!tag conversion]] +[[!tag ikiwiki]] From d6b095b06cf94463bc505d728e8281a6b5e03a03 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 17:46:21 -0400 Subject: [PATCH 046/206] --- .../ikiwiki-wordpress-import.mdwn | 114 +++++++++++++++++- 1 file changed, 111 insertions(+), 3 deletions(-) diff --git a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn index aa1135b5d..0c0527f2c 100644 --- a/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn +++ b/doc/tips/importing_posts_from_wordpress/ikiwiki-wordpress-import.mdwn @@ -113,12 +113,120 @@ if __name__ == "__main__": ----- -(I don't know why the tag down there says %s other than it's reading in from the <pre>'d script...) - -I have another version of the script, which scans for <pubDate> and inserts that as a \[[!meta date="foodate"]]. Still work in progress since I just got back to it today, after adding in a rough idea. I'll post a link to it here when it's "good enough for me". +I have another version of the script, which uses the `timestamp` from the script, and inserts that as a \[[!meta date="foodate"]]. I'm posting it here just in case I happen to be doing something to the httpd. (Hopefully I've escaped everything properly; if I missed something, check the source.) +----- +
+#!/usr/bin/env python
+
+"""
+    Purpose:
+    Wordpress-to-Ikiwiki import tool
+
+    Copyright:
+    Copyright (C) 2007  Chris Lamb 
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see .
+
+    Usage: run --help as an argument with this script.
+
+    Notes:
+    I added some extra bits to include the \[[!tag foo]] stuff in the post,
+    as it wasn't before, at all. I'll diff the versions out so you can see
+    the mess I made :).
+
+"""
+
+import os, sys
+import time
+import re
+
+from datetime import datetime
+from BeautifulSoup import BeautifulSoup
+
+import codecs, htmlentitydefs
+
+codecs.register_error('html_replace', lambda x: (''.join([u'&%s;' \
+    % htmlentitydefs.codepoint2name[ord(c)] for c in x.object[x.start:x.end]]), x.end))
+
+def main(name, email, subdir, branch='master'):
+    soup = BeautifulSoup(sys.stdin.read())
+
+    # Regular expression to match stub in URL.
+    stub_pattern = re.compile(r'.*\/(.+)\/$')
+
+    for x in soup.findAll('item'):
+        # Ignore draft posts
+        if x.find('wp:status').string != 'publish': continue
+
+        match = stub_pattern.match(x.guid.string)
+        if match:
+            stub = match.groups()[0]
+        else:
+            # Fall back to our own stubs
+            stub = re.sub(r'[^a-zA-Z0-9_]', '-', x.title.string).lower()
+
+        commit_msg = """Importing WordPress post "%s" [%s]""" % (x.title.string, x.guid.string)
+        timestamp = time.mktime(time.strptime(x.find('wp:post_date_gmt').string, "%Y-%m-%d %H:%M:%S"))
+        content = '\[[!meta title="%s"]]\n' % (x.title.string.replace('"', r'\"'))
+        content += "\[[!meta date=\"%s\"]]\n" % datetime.fromtimestamp(timestamp)
+        content += x.find('content:encoded').string.replace('\r\n', '\n')
+
+        """
+        We do it differently here because we have duplicates otherwise.
+        Take a look:
+        <category><![CDATA[Health]]></category>
+        <category domain="category" nicename="health"><![CDATA[Health]]></category>
+
+        If we do the what original did, we end up with all tags and cats doubled.
+        Therefore we only pick out nicename="foo". Our 'True' below is our 'foo'.
+        I'd much rather have the value of 'nicename', and tried, but my
+        python skillz are extremely limited....
+        """
+        categories = x.findAll('category', nicename=True)
+        if categories:
+            content += "\n"
+            for cat in categories:
+                # remove 'tags/' because we have a 'tagbase' set.
+                # your choice: 'tag', or 'taglink'
+                # content += "\n\[[!tag %s]]" % (cat.string.replace(' ', '-'))
+                content += "\n\[[!taglink %s]]" % (cat.string.replace(' ', '-'))
+                # this is just debugging, and for fun
+                # print >>sys.stderr, cat.string.replace(' ', '-')
+
+        # moved this thing down
+        data = content.encode('ascii', 'html_replace')
+        print "commit refs/heads/%s" % branch
+        print "committer %s <%s> %d +0000" % (name, email, timestamp)
+        print "data %d" % len(commit_msg)
+        print commit_msg
+        print "M 644 inline %s" % os.path.join(subdir, "%s.mdwn" % stub)
+        print "data %d" % len(data)
+        print data
+
+if __name__ == "__main__":
+    if len(sys.argv) not in (4, 5):
+        print >>sys.stderr, "%s: usage: %s name email subdir [branch] < wordpress-export.xml | git-fast-import " % (sys.argv[0], sys.argv[0])
+    else:
+        main(*sys.argv[1:])
+
+
+----- + + [[!tag wordpress]] [[!tag python]] [[!tag conversion]] From 31826c8b975245efb8e578efa037a2ce5c088b83 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 19:11:38 -0400 Subject: [PATCH 047/206] --- .../discussion.mdwn | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn b/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn index 55e04d9cb..0e9c8b756 100644 --- a/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn +++ b/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn @@ -24,21 +24,6 @@ git-fast-import statistics: etc. +(Removed now dead info and blah blah.) -> Well, if this really is a script error, it's not really the script, but the wordpress XML dump, referring to a -> possible malformed or invalid unicode character in the dump file. This is what I can gather from other scripts. -> I'll be checking my dump file shortly. - ->> This is only part of the problem... I'm not exactly sure what's going on, and it's get late/early for me.... - ->>> I used --force for fast-import, but then everything seems deleted, so you end up doing a reset, checkout, add, *then* commit. ->>> Seems really odd. I edited the script however, maybe this is why... this is my changes: - - -print "data %d" % len(data) - +print "data %d merge refs/heads/%s" % (len(data), branch) - ->>> That control character is a ^q^0 in emacs, see git fast-import --help for more info. ->>> I'll be trying an import *without* that change, to see what happens. - ->>>> I still have to do the above to preserve the changes done by this script... (removed previous note). - +> It works fine.... The script is picky about having everything in proper UTF-8, **and** proper XML and HTML escaping. You need that to have a successful import. I let Emacs remove DOS line endings, and it works OK (if on *nix of some sort, of course). Thing is with this `git fast-import`, is that you have to `git reset` afterwards, (let's say you put them in posts/) `git checkout posts`, `git add posts`, then commit. I don't know if this a characteristic with `git fast-import`, but this is the way I get my posts to exist on the filesystem. If I don't do this, then I lose the data. --[[users/simonraven]] From b2675a77c8dfced20af39e3b187dc3465241549e Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 28 Apr 2009 19:12:52 -0400 Subject: [PATCH 048/206] --- doc/tips/Importing_posts_from_Wordpress/discussion.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn b/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn index 0e9c8b756..09e6f6742 100644 --- a/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn +++ b/doc/tips/Importing_posts_from_Wordpress/discussion.mdwn @@ -26,4 +26,4 @@ etc. (Removed now dead info and blah blah.) -> It works fine.... The script is picky about having everything in proper UTF-8, **and** proper XML and HTML escaping. You need that to have a successful import. I let Emacs remove DOS line endings, and it works OK (if on *nix of some sort, of course). Thing is with this `git fast-import`, is that you have to `git reset` afterwards, (let's say you put them in posts/) `git checkout posts`, `git add posts`, then commit. I don't know if this a characteristic with `git fast-import`, but this is the way I get my posts to exist on the filesystem. If I don't do this, then I lose the data. --[[users/simonraven]] +> It works fine.... The script is picky about having everything in proper UTF-8, **and** proper XML and HTML escaping. You need that to have a successful import. I let Emacs remove DOS line endings, and it works OK (if on *nix of some sort, of course). Thing is with this `git fast-import`, is that you have to `git reset` afterwards, (let's say you put them in posts/) `git checkout posts`, `git add posts`, then commit. I don't know if this a characteristic with `git fast-import`, but this is the way I get my posts to exist on the filesystem. If I don't do this, then I lose the data. If you get that "Not updating..." error, then just --force the import in. --[[users/simonraven]] From 22421218d2bd976d3b634f1d9f2ba743420add3b Mon Sep 17 00:00:00 2001 From: albertlash Date: Tue, 28 Apr 2009 19:42:18 -0400 Subject: [PATCH 049/206] --- doc/ikiwikiusers.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index 94ae75046..a5a7a628d 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -119,7 +119,7 @@ Personal sites and blogs * [Bernd Zeimetz (bzed)](http://bzed.de/) * [Gaudenz Steinlin](http://gaudenz.durcheinandertal.ch) * [Simon Kjika'qawej C.](http://simonraven.kisikew.org/ikiwiki/) Please note it might change location at any time (likely wiki.k.o or under /wiki/ at simonraven.k.o). - +* [NeoCarz Wiki](http://www.neocarz.com/wiki/) Yes - its actually Ikiwiki behind that! I'm using Nginx and XSL to transform the ikiwiki renderings thanks to the valid XHTML output of ikiwiki. Great work Joey!! Please feel free to add your own ikiwiki site! From 0a6879a1398369093ee92ae66dce33a66cd28aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= Date: Thu, 30 Apr 2009 00:21:37 +0200 Subject: [PATCH 050/206] passwordauth/discussion: Document an attempt of using Apache::AuthenHook for a restricted wiki --- doc/plugins/passwordauth/discussion.mdwn | 72 ++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/doc/plugins/passwordauth/discussion.mdwn b/doc/plugins/passwordauth/discussion.mdwn index 672970c21..0fe70de5f 100644 --- a/doc/plugins/passwordauth/discussion.mdwn +++ b/doc/plugins/passwordauth/discussion.mdwn @@ -77,3 +77,75 @@ as the script handler, or only on `mod_perl` to be installed and loaded. * [http://www.openfusion.com.au/labs/mod_auth_tkt/](mod_auth_tkt) along with CPAN's `Apache::AuthTkt` --[[intrigeri]] + + I've more or less managed to implement something based on `mod_perl` and + `Apache::AuthenHook`, respectively in Debian packages `libapache2-mod-perl2` + and `libapache-authenhook-perl`. + + In the Apache VirtualHost configuration, I have added the following: + + PerlLoadModule Apache::AuthenHook + PerlModule My::IkiWikiBasicProvider + + + AuthType Basic + AuthName "wiki" + AuthBasicProvider My::IkiWikiBasicProvider + Require valid-user + ErrorDocument 401 /test/ikiwiki.cgi?do=signin + + + Satisfy any + + + The perl module lies in `/etc/apache2/My/IkiWikiBasicProvider.pm`: + + package My::IkiWikiBasicProvider; + + use warnings; + use strict; + use Apache2::Const -compile => qw(OK DECLINED HTTP_UNAUTHORIZED); + use Storable; + use Authen::Passphrase; + + sub userinfo_retrieve () { + my $userinfo=eval{ Storable::lock_retrieve("/var/lib/ikiwiki/test/.ikiwiki/userdb") }; + return $userinfo; + } + + sub handler { + my ($r, $user, $password) = @_; + my $field = "password"; + + if (! defined $password || ! length $password) { + return Apache2::Const::DECLINED; + } + my $userinfo = userinfo_retrieve(); + if (! length $user || ! defined $userinfo || + ! exists $userinfo->{$user} || ! ref $userinfo->{$user}) { + return Apache2::Const::DECLINED; + } + my $ret=0; + if (exists $userinfo->{$user}->{"crypt".$field}) { + error $@ if $@; + my $p = Authen::Passphrase->from_crypt($userinfo->{$user}->{"crypt".$field}); + $ret=$p->match($password); + } + elsif (exists $userinfo->{$user}->{$field}) { + $ret=$password eq $userinfo->{$user}->{$field}; + } + if ($ret) { + return Apache2::Const::OK; + } + return Apache2::Const::DECLINED; + } + + 1; + + This setup also allows people with the master password to create their own + account. + + I'm not really fluent in Perl, and all this can probably be improved (*or + might destroy your computer as it is* and YMMV). + + -- [[Lunar]] From 19aa754ff5354d3c7a1f249964251c4289ac3778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= Date: Thu, 30 Apr 2009 00:24:41 +0200 Subject: [PATCH 051/206] passwordauth/discussion: Cosmetics --- doc/plugins/passwordauth/discussion.mdwn | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/plugins/passwordauth/discussion.mdwn b/doc/plugins/passwordauth/discussion.mdwn index 0fe70de5f..50e21062e 100644 --- a/doc/plugins/passwordauth/discussion.mdwn +++ b/doc/plugins/passwordauth/discussion.mdwn @@ -78,11 +78,11 @@ as the script handler, or only on `mod_perl` to be installed and loaded. `Apache::AuthTkt` --[[intrigeri]] - I've more or less managed to implement something based on `mod_perl` and - `Apache::AuthenHook`, respectively in Debian packages `libapache2-mod-perl2` - and `libapache-authenhook-perl`. +I've more or less managed to implement something based on `mod_perl` and +`Apache::AuthenHook`, respectively in Debian packages `libapache2-mod-perl2` +and `libapache-authenhook-perl`. - In the Apache VirtualHost configuration, I have added the following: +In the Apache VirtualHost configuration, I have added the following: PerlLoadModule Apache::AuthenHook PerlModule My::IkiWikiBasicProvider @@ -98,7 +98,7 @@ as the script handler, or only on `mod_perl` to be installed and loaded. Satisfy any - The perl module lies in `/etc/apache2/My/IkiWikiBasicProvider.pm`: +The perl module lies in `/etc/apache2/My/IkiWikiBasicProvider.pm`: package My::IkiWikiBasicProvider; @@ -142,10 +142,10 @@ as the script handler, or only on `mod_perl` to be installed and loaded. 1; - This setup also allows people with the master password to create their own - account. +This setup also allows people with the master password to create their own +account. - I'm not really fluent in Perl, and all this can probably be improved (*or - might destroy your computer as it is* and YMMV). +I'm not really fluent in Perl, and all this can probably be improved (*or +might destroy your computer as it is* and YMMV). - -- [[Lunar]] +-- [[Lunar]] From 9e40564ecb7f879701e3b4921f0d1f120c3a611a Mon Sep 17 00:00:00 2001 From: "http://schmonz.livejournal.com/" Date: Thu, 30 Apr 2009 15:18:40 -0400 Subject: [PATCH 052/206] personal experience --- doc/tips/DreamHost/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tips/DreamHost/discussion.mdwn b/doc/tips/DreamHost/discussion.mdwn index 03ed78700..74f48938e 100644 --- a/doc/tips/DreamHost/discussion.mdwn +++ b/doc/tips/DreamHost/discussion.mdwn @@ -1,3 +1,5 @@ I managed to install ikiwiki on eggplant farms, with most basic features except markdown. I think ikiwiki is more suitable for VPS/dedicated server. Shared hosting doesn't fit. + +I just (2009/04/27) installed ikiwiki on DreamHost and the CPAN instructions here are unnecessarily complicated. I used "cpan" instead of "perl -MCPAN -e shell" and had no trouble with that portion of the install. --[[schmonz]] From 9e69aa574751601a925c57ec61d767c3a475cac7 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sat, 2 May 2009 07:54:00 -0400 Subject: [PATCH 053/206] WIP todo list javascript in a demonstratable state --- doc/todo/interactive_todo_lists.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/todo/interactive_todo_lists.mdwn b/doc/todo/interactive_todo_lists.mdwn index cf248bd41..fd88fe764 100644 --- a/doc/todo/interactive_todo_lists.mdwn +++ b/doc/todo/interactive_todo_lists.mdwn @@ -24,3 +24,15 @@ which forms a sort-of todo list for the todo list :) ) I will endeavour to get mirrors of those repos up on github or similar asap. -- [[Jon]] + +---- + +Just to report the WIP plugin for this is now in a reasonably good state. I ended +up just inventing a new markup language -- for now, items are divided by newlines +and lists are one-dimensional, for simplicity. I got fed up thinking about how to +handle the structured data issues / needing a lot of boilerplate around items and +the implications for the "new item" dialogue. + +Still quite a lot to do though! + +-- [[Jon]] From 559c0c42c8db7a883b536e0c370c3f40798a80d6 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sat, 2 May 2009 09:26:37 -0400 Subject: [PATCH 054/206] published at http://github.com/jmtd/ikiwiki_todolist/ --- doc/todo/interactive_todo_lists.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/todo/interactive_todo_lists.mdwn b/doc/todo/interactive_todo_lists.mdwn index fd88fe764..22b92953a 100644 --- a/doc/todo/interactive_todo_lists.mdwn +++ b/doc/todo/interactive_todo_lists.mdwn @@ -36,3 +36,14 @@ the implications for the "new item" dialogue. Still quite a lot to do though! -- [[Jon]] + +I've pushed a copy of the work in progress which consists of + + * A change to page.tmpl + * A javascript underlay directory + javascript file + * a few CSS bits in a local.css + * a plugin + +to + +-- [[Jon]] From 714f0e65cb0f604fb2407d497bda3dc1d14156ff Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 2 May 2009 13:30:17 -0400 Subject: [PATCH 055/206] a clarifying comment about a tool which is referred to --- doc/users/jasonblevins.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/jasonblevins.mdwn b/doc/users/jasonblevins.mdwn index 61c381d96..0030a30d3 100644 --- a/doc/users/jasonblevins.mdwn +++ b/doc/users/jasonblevins.mdwn @@ -47,7 +47,7 @@ welcome. headers at top of a file (e.g., `title: Page Title` or `date: November 2, 2008 11:14 EST`). - * [pandoc][] - Markdown page processing via Pandoc. LaTeX and + * [pandoc][] - Markdown page processing via [Pandoc](http://johnmacfarlane.net/pandoc/) (a Haskell library for converting from one markup format to another). LaTeX and reStructuredText are optional. * [path][] - Provides path-specific template conditionals such as From 147828c62ddb1401d18af57f812bb59d95ce73c9 Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 2 May 2009 21:21:39 -0400 Subject: [PATCH 056/206] --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index 8960a8b0f..7057235c5 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -27,3 +27,5 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >>> Right, PageSpecs are always absolute paths unless prefixed with `./` >>> (somewhat confusingly since WikiLinks are always realtive unless >>> previxed with `/` ...) --[[Joey]] + +>> This is not working for me at all, all I get is some SHA1 hash all the time. I've tried variants of the `internal()` arg, and nothing gets spit out. --[[simonraven]] From a86fade7a9684d9614e13fbedf739fc0add17141 Mon Sep 17 00:00:00 2001 From: Kai Hendry Date: Mon, 4 May 2009 10:41:14 +0200 Subject: [PATCH 057/206] anon commit test --- doc/bugs/html5_support.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/html5_support.mdwn b/doc/bugs/html5_support.mdwn index 41f955e51..bdeeba768 100644 --- a/doc/bugs/html5_support.mdwn +++ b/doc/bugs/html5_support.mdwn @@ -1,4 +1,4 @@ -Some elements of [HTML5](http://www.whatwg.org/specs/web-apps/current-work/multipage/) can be safely supported by ikiwiki. There are [several differences between HTML4 and HTMl5](http://www.w3.org/TR/html5-diff/). Unsupported new elements _should degrade gracefully_. +Some elements of [HTML5](http://www.whatwg.org/specs/web-apps/current-work/multipage/) can be safely supported by ikiwiki. There are [several differences between HTML4 and HTML5](http://www.w3.org/TR/html5-diff/). Unsupported new elements _should degrade gracefully_. > In the `origin/html` branch, there is an old work in progress to make > ikiwiki use html 4 instead of xhtml. If that could be brought forward and From de26854d763d05c3e126be96a9da0ad447661fca Mon Sep 17 00:00:00 2001 From: Kai Hendry Date: Mon, 4 May 2009 11:08:27 +0200 Subject: [PATCH 058/206] HTML5 story update --- doc/bugs/html5_support.mdwn | 45 ++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/doc/bugs/html5_support.mdwn b/doc/bugs/html5_support.mdwn index bdeeba768..88c4fd4e6 100644 --- a/doc/bugs/html5_support.mdwn +++ b/doc/bugs/html5_support.mdwn @@ -1,4 +1,7 @@ -Some elements of [HTML5](http://www.whatwg.org/specs/web-apps/current-work/multipage/) can be safely supported by ikiwiki. There are [several differences between HTML4 and HTML5](http://www.w3.org/TR/html5-diff/). Unsupported new elements _should degrade gracefully_. +Some elements of +[HTML5](http://www.whatwg.org/specs/web-apps/current-work/multipage/) can be +safely supported by ikiwiki. There are [several differences between HTML4 and +HTML5](http://www.w3.org/TR/html5-diff/). > In the `origin/html` branch, there is an old work in progress to make > ikiwiki use html 4 instead of xhtml. If that could be brought forward and @@ -18,30 +21,36 @@ Some elements of [HTML5](http://www.whatwg.org/specs/web-apps/current-work/multi > html 5 branch immediatly and trying to keep that continually up-to-date > with mainline ikiwiki that is still using xhtml. --[[Joey]] -However as an [early adopter](http://en.wikipedia.org/wiki/Early_adopter) I would like to start using HTML5 as much as possible. The more pragmatic solution would be to use elements supported by the browsers of your readership I guess. I'm following other early adopters like [Anne](http://annevankesteren.nl/) for clues on how to proceed. +>> TODO Still need to merge origin/html with my html5 branch. -* [Initial patch](http://git.webconverger.org/?p=ikiwiki;a=commit;h=2e2bb3f74f5000b1269142d6f9bdf1bcb4075ca4) +* [HTML5 branch](http://git.webconverger.org/?p=ikiwiki;h=refs/heads/html5) +* [test ikiwiki instance with HTML5 templates](http://h.dabase.com/html5/) -> I can't figure out how to pull from this repository. ->> Sorry! I have fixed the cloneurl file to read `git clone git://webconverger.org/git/ikiwiki` +# HTML5 Validation and t/html.t -I'm unsure how to turn off the test validation by the very old [wdg-html-validator](http://packages.qa.debian.org/w/wdg-html-validator.html). So I have been unable to test my initial patches as I can't build ikiwiki. I would like to know how to edit the rules/Makefile to temporarily disable this. +[validator.nu](http://validator.nu/) is the authorative HTML5 validator, +however it is almost impossible to sanely introduce as a build dependency +because of its insane Java requirements. :( I test locally via +[cURL](http://wiki.whatwg.org/wiki/IDE), though Debian packages cannot be built +with a network dependency. -> Don't run ¨make test" ... --[[Joey]] ->> I don't quite grok debhelper7 [rules](http://git.ikiwiki.info/?p=ikiwiki;a=blob;f=debian/rules). +In the future, hopefully ikiwiki can test for valid HTML5 using [Relax NG +schema](http://syntax.whattf.org/) using a Debian package tool +[rnv](http://packages.qa.debian.org/r/rnv.html). ->>> Well, ok :-) `rm t/html.t` or, add an empty `override_dh_auto_test` rule. ->>> --[[Joey]] +# Issues -[validator.nu](http://validator.nu/) incidentally is **the** HTML5 validator, however it is almost impossible to sanely introduce as a build dependency because of its insane Java requirements. :( I test locally via [cURL](http://wiki.whatwg.org/wiki/IDE), though Debian packages cannot be built with a network dependency. +## Time element -# Notes +The [time element](http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-time-element) ideally needs the datatime= attribute set by a template variable with what [HTML5 defines as a valid datetime string](http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#valid-global-date-and-time-string). -* the [time element](http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-time-element) ideally needs the datatime= attribute set with iso8601 time -* I suspect the migration to the new semantic elements of HTML5 like article, header & footer to take some time, due to browser support. Though they sure make the template code look much nicer. -* `
` and too many `
`s usually indicates poor semantics. - > YMMV, but I tend to find that kind of concern counterproductive. - > --[[Joey]] +As a workaround I use in my setup file: -* Many of the header ``s should be proper [header elements](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements) + timeformat => '%Y-%m-%d', + +## Header + +Many of the header ``s should be proper [header elements](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements) > See [[todo/Option_to_make_title_an_h1__63__]] for why not. --[[Joey]] + +The [header element](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-header-element) requires a h1-h6 child, in order to [validate](http://validator.nu/). Hence in my [html5 page templates](http://git.webconverger.org/?p=ikiwiki;a=tree;f=templates;hb=refs/heads/html5), I've marked up page title with a h1. From 8d5cd865932b0c0feb1a398e5cde31de262a7649 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 May 2009 14:34:05 -0400 Subject: [PATCH 059/206] response --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index 7057235c5..d17008fe1 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -29,3 +29,7 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >>> previxed with `/` ...) --[[Joey]] >> This is not working for me at all, all I get is some SHA1 hash all the time. I've tried variants of the `internal()` arg, and nothing gets spit out. --[[simonraven]] + +>>> Sounds like [[!debbug 380212]]? +>>> If so, the fix is to use Text::Markdown, or markdown 1.0.2 instead of buggy +>>> old markdown 1.0.1. --[[Joey]] From 39c8d072e83290e73e50bffda8459ade9a208159 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 May 2009 14:41:21 -0400 Subject: [PATCH 060/206] Avoid using python-support. Closes: #525086 Uses new debhelper feature to turn off python-support. The tiny python module included herein certianly doesn't need all the python-support nonsense. --- debian/changelog | 2 +- debian/control | 4 ++-- debian/rules | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index f4c4266d2..be85a0c2b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ ikiwiki (3.11) UNRELEASED; urgency=low - * Add python:Depends to control file. Closes: #525086 + * Avoid using python-support. Closes: #525086 * websetup: Display stderr in browser if ikiwiki setup fails. * blogspam: Load RPC::XML library in checkconfig, so that an error can be printed at that point if it's not available, diff --git a/debian/control b/debian/control index df4c2d649..28630b853 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: ikiwiki Section: web Priority: optional -Build-Depends: perl, debhelper (>= 7.0.50) +Build-Depends: perl, debhelper (>= 7.2.9) Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libtext-markdown-perl | markdown, libtimedate-perl, libhtml-template-perl, @@ -16,7 +16,7 @@ Vcs-Browser: http://git.ikiwiki.info/?p=ikiwiki Package: ikiwiki Architecture: all -Depends: ${misc:Depends}, ${perl:Depends}, ${python:Depends} +Depends: ${misc:Depends}, ${perl:Depends} libtext-markdown-perl | markdown, libhtml-scrubber-perl, libhtml-template-perl, libhtml-parser-perl, liburi-perl diff --git a/debian/rules b/debian/rules index 0a7ce7a26..3541d348d 100755 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,6 @@ #!/usr/bin/make -f %: - dh $@ + dh --without=python-support $@ override_dh_auto_configure: # keeps it out of /usr/local From 8455036ed0a4763b4788a50a071db23bdbcdc409 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 May 2009 16:33:10 -0400 Subject: [PATCH 061/206] releasing version 3.11 --- debian/changelog | 4 ++-- debian/control | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index be85a0c2b..c40bc4de0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -ikiwiki (3.11) UNRELEASED; urgency=low +ikiwiki (3.11) unstable; urgency=low * Avoid using python-support. Closes: #525086 * websetup: Display stderr in browser if ikiwiki setup fails. @@ -22,7 +22,7 @@ ikiwiki (3.11) UNRELEASED; urgency=low * Updated Danish translation from Jonas Smedegaard. Closes: #525751 * translation.mdwn: Typo fixes. Closes: #525753 - -- Joey Hess Tue, 21 Apr 2009 21:41:38 -0400 + -- Joey Hess Mon, 04 May 2009 15:45:10 -0400 ikiwiki (3.10) unstable; urgency=low diff --git a/debian/control b/debian/control index 28630b853..e89f25d04 100644 --- a/debian/control +++ b/debian/control @@ -9,14 +9,14 @@ Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libhtml-parser-perl, liburi-perl, perlmagick Maintainer: Joey Hess Uploaders: Josh Triplett -Standards-Version: 3.8.0 +Standards-Version: 3.8.1 Homepage: http://ikiwiki.info/ Vcs-Git: git://git.ikiwiki.info/ Vcs-Browser: http://git.ikiwiki.info/?p=ikiwiki Package: ikiwiki Architecture: all -Depends: ${misc:Depends}, ${perl:Depends} +Depends: ${misc:Depends}, ${perl:Depends}, libtext-markdown-perl | markdown, libhtml-scrubber-perl, libhtml-template-perl, libhtml-parser-perl, liburi-perl From dd175cda8743068d12dd34b5c89e9fba6bd114c9 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 May 2009 16:35:59 -0400 Subject: [PATCH 062/206] add news item for ikiwiki 3.11 --- doc/news/version_3.10.mdwn | 15 --------------- doc/news/version_3.11.mdwn | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 15 deletions(-) delete mode 100644 doc/news/version_3.10.mdwn create mode 100644 doc/news/version_3.11.mdwn diff --git a/doc/news/version_3.10.mdwn b/doc/news/version_3.10.mdwn deleted file mode 100644 index 9d9c33c58..000000000 --- a/doc/news/version_3.10.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -ikiwiki 3.10 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * darcs: Finally added support for this VCS, thanks to many - contributors: - - Thomas Schwinge wrote the original file, implementing only rcs\_commit. - - Benjamin A'Lee contributed an alternative implementation. - - Tuomo Valkonen contributed rcs\_getctime and stub rcs\_recentchanges. - - Simon Michael contributed multiple changes. - - Petr Ročkai fixed rcs\_recentchanges. - - Sven M. Hallberg merged the above and added missing features. - * Add missing newline to Confirm Password prompt. - * Add missing permalink support to archivepage and titlepage templates. - * debian/control: Wrap fields. - * inline: Add author info to archive display. - * Add a microblog template that is useful for inlining microblogging posts."""]] \ No newline at end of file diff --git a/doc/news/version_3.11.mdwn b/doc/news/version_3.11.mdwn new file mode 100644 index 000000000..9cef6f671 --- /dev/null +++ b/doc/news/version_3.11.mdwn @@ -0,0 +1,23 @@ +ikiwiki 3.11 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Avoid using python-support. Closes: #[525086](http://bugs.debian.org/525086) + * websetup: Display stderr in browser if ikiwiki setup fails. + * blogspam: Load RPC::XML library in checkconfig, so that an + error can be printed at that point if it's not available, + allowing the admin to see it during wiki setup. + Closes: #[520015](http://bugs.debian.org/520015) + * websetup: If setup fails, restore old setup file. + * relativedate: Deal with clock skew. + * Add IkiWiki::ErrorReason objects, and modify pagespecs to return + them in cases where they fail to match due to a configuration or syntax + error. + * pagespec\_match\_list: New API function, matches pages in a list + and throws an error if the pagespec is bad. + * inline, brokenlinks, calendar, linkmap, map, orphans, pagecount, + pagestate, postsparkline: Display a handy error message if the pagespec + is erronious. + * comments: Add link to comment post form to allow user to sign in + if they wish to, if the configuration makes signin optional + for commenting. + * Updated Danish translation from Jonas Smedegaard. Closes: #[525751](http://bugs.debian.org/525751) + * translation.mdwn: Typo fixes. Closes: #[525753](http://bugs.debian.org/525753)"""]] \ No newline at end of file From 5e5bb93adbce76431771d6d56faefbfef99d359f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 May 2009 19:17:59 -0400 Subject: [PATCH 063/206] turn python-support back on Should wait to upload until ikiwiki is fixed in testing. --- debian/changelog | 6 ++++++ debian/control | 4 ++-- debian/rules | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index c40bc4de0..ba67ce8c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ikiwiki (3.12) UNRELEASED; urgency=low + + * Re-enable python-support and add python:Depends to control file. + + -- Joey Hess Mon, 04 May 2009 19:17:39 -0400 + ikiwiki (3.11) unstable; urgency=low * Avoid using python-support. Closes: #525086 diff --git a/debian/control b/debian/control index e89f25d04..57c5f917a 100644 --- a/debian/control +++ b/debian/control @@ -1,7 +1,7 @@ Source: ikiwiki Section: web Priority: optional -Build-Depends: perl, debhelper (>= 7.2.9) +Build-Depends: perl, debhelper (>= 7.0.50) Build-Depends-Indep: dpkg-dev (>= 1.9.0), libxml-simple-perl, libtext-markdown-perl | markdown, libtimedate-perl, libhtml-template-perl, @@ -16,7 +16,7 @@ Vcs-Browser: http://git.ikiwiki.info/?p=ikiwiki Package: ikiwiki Architecture: all -Depends: ${misc:Depends}, ${perl:Depends}, +Depends: ${misc:Depends}, ${perl:Depends}, ${python:Depends}, libtext-markdown-perl | markdown, libhtml-scrubber-perl, libhtml-template-perl, libhtml-parser-perl, liburi-perl diff --git a/debian/rules b/debian/rules index 3541d348d..0a7ce7a26 100755 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,6 @@ #!/usr/bin/make -f %: - dh --without=python-support $@ + dh $@ override_dh_auto_configure: # keeps it out of /usr/local From 50d6abf28b71234b424eb8349f85eb465bc83983 Mon Sep 17 00:00:00 2001 From: "http://stefano.zacchiroli.myopenid.com/" Date: Tue, 5 May 2009 04:41:15 -0400 Subject: [PATCH 064/206] --- doc/todo/blogspam_training.mdwn | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/todo/blogspam_training.mdwn diff --git a/doc/todo/blogspam_training.mdwn b/doc/todo/blogspam_training.mdwn new file mode 100644 index 000000000..f1d71f763 --- /dev/null +++ b/doc/todo/blogspam_training.mdwn @@ -0,0 +1,24 @@ +The [[blogspam plugin|plugins/blogspam]] is just great. + +However, it lacks support in the web interface to [train comments as +SPAM](http://blogspam.net/api/classifyComment.html), when they were +erroneously identified as ham. It would be great to have such +support, also in the spirit of helping +[blogspam.net](http://blogspam.net) to get better and better. + +What would consist the most appropriate user interface is not entirely +clear to me in the general case (wiki page editing). The case of blog +comments look easier to: when the admin user is logged in (and if the +blogspam plugin is enabled), each comment can have an extra link "mark +as SPAM" which would both delete/revert the comment and submit it to +the configured blogspam server for training. + +Similarly, ham training can be plugged directly into the current +comment moderation interface. Each comment that gets approved by the +admin, can be sent to blogspam.net as ham. If this is considered too +"aggressive", this behaviour can need to be explicitly enabled by +turning on a configuration option. + +-- [[Zack]] + +[[!tag wishlist]] From 39679d3a53165863e3e4f19095b812fae1a80c5c Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Tue, 5 May 2009 13:39:59 -0400 Subject: [PATCH 065/206] a problem with /etc/ikiwiki/auto.setup, perl and non-existent paths --- doc/setup/discussion.mdwn | 41 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn index 89114d7a2..82c5bc0e0 100644 --- a/doc/setup/discussion.mdwn +++ b/doc/setup/discussion.mdwn @@ -165,3 +165,44 @@ I setup ikiwiki on a fedora 10 machine and I am using apache as my http server. > ikiwiki respects the umask, so if your umask is one that causes things to > be group writable, they will by. If you want to override that, there is > also a `umask ` setting in your setup file. --[[Joey]] + +---- + +/etc/ikiwiki/auto.setup tries to get abs_path of a non-existent "repository" path, and that doesn't work in my perl: + +[mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/var")' +/var[mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/abcde")' +[mort@localhost ~]$ + +Because of this, /etc/ikiwiki/auto.setup fails: + +$ ikiwiki -setup /etc/ikiwiki/auto.setup +What will the wiki be named? wiki +What revision control system to use? git +What wiki user (or openid) will be admin? mort + + +Setting up wiki ... +internal error finding repository abs_path +/etc/ikiwiki/auto.setup: failed to set up the repository with ikiwiki-makerepo + +usage: ikiwiki [options] source dest + ikiwiki --setup configfile +$ perl -v + +This is perl, v5.8.8 built for i386-linux-thread-multi +(with 2 registered patches, see perl -V for more detail) + +Copyright 1987-2007, Larry Wall + +Perl may be copied only under the terms of either the Artistic License or the +GNU General Public License, which may be found in the Perl 5 source kit. + +Complete documentation for Perl, including FAQ lists, should be found on +this system using "man perl" or "perldoc perl". If you have access to the +Internet, point your browser at http://www.perl.org/, the Perl Home Page. + +$ + +Can't ikiwiki's "make test" perhaps test for this, so that one knows something will go wrong? +-- Ivan Z. From 3a0d736412bd3938a30f400bffbf74f3c8628514 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Tue, 5 May 2009 13:44:18 -0400 Subject: [PATCH 066/206] added a clarifiaction about my understanding of what happens --- doc/setup/discussion.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn index 82c5bc0e0..c21d7e600 100644 --- a/doc/setup/discussion.mdwn +++ b/doc/setup/discussion.mdwn @@ -168,14 +168,17 @@ I setup ikiwiki on a fedora 10 machine and I am using apache as my http server. ---- -/etc/ikiwiki/auto.setup tries to get abs_path of a non-existent "repository" path, and that doesn't work in my perl: +/etc/ikiwiki/auto.setup tries to get abs_path of a non-existent "repository" path (in ikiwiki-makerepo), and that doesn't work in my perl: + [mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/var")' /var[mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/abcde")' [mort@localhost ~]$ + Because of this, /etc/ikiwiki/auto.setup fails: + $ ikiwiki -setup /etc/ikiwiki/auto.setup What will the wiki be named? wiki What revision control system to use? git @@ -203,6 +206,7 @@ this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. $ + Can't ikiwiki's "make test" perhaps test for this, so that one knows something will go wrong? -- Ivan Z. From 0ee6705413b8e1806c3560ef94195d03d221686f Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Tue, 5 May 2009 13:46:25 -0400 Subject: [PATCH 067/206] minor: trying to format the "verbatims" correctly --- doc/setup/discussion.mdwn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn index c21d7e600..ca25ab4a1 100644 --- a/doc/setup/discussion.mdwn +++ b/doc/setup/discussion.mdwn @@ -170,15 +170,15 @@ I setup ikiwiki on a fedora 10 machine and I am using apache as my http server. /etc/ikiwiki/auto.setup tries to get abs_path of a non-existent "repository" path (in ikiwiki-makerepo), and that doesn't work in my perl: - +
 [mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/var")'
 /var[mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/abcde")'
 [mort@localhost ~]$ 
-
+
Because of this, /etc/ikiwiki/auto.setup fails: - +
 $ ikiwiki -setup /etc/ikiwiki/auto.setup
 What will the wiki be named? wiki
 What revision control system to use? git
@@ -206,7 +206,7 @@ this system using "man perl" or "perldoc perl".  If you have access to the
 Internet, point your browser at http://www.perl.org/, the Perl Home Page.
 
 $ 
-
+
Can't ikiwiki's "make test" perhaps test for this, so that one knows something will go wrong? -- Ivan Z. From 5636b62829131761be8c194e498fecb2bf72bc40 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 5 May 2009 14:15:28 -0400 Subject: [PATCH 068/206] ikiwiki-makerepo: Avoid using abs_path, as it apparently fails on nonexistant directories with some broken perl versions. --- debian/changelog | 3 +++ doc/setup/discussion.mdwn | 37 ++++++++++++++++++++++++++++++------- ikiwiki-makerepo | 2 +- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/debian/changelog b/debian/changelog index ba67ce8c7..ae7ce90be 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ ikiwiki (3.12) UNRELEASED; urgency=low * Re-enable python-support and add python:Depends to control file. + * ikiwiki-makerepo: Avoid using abs_path, as it apparently + fails on nonexistant directories with some broken perl + versions. -- Joey Hess Mon, 04 May 2009 19:17:39 -0400 diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn index ca25ab4a1..36bd0768d 100644 --- a/doc/setup/discussion.mdwn +++ b/doc/setup/discussion.mdwn @@ -96,31 +96,49 @@ What is the syntax for specifying the adminuser as an openid user? I've tried a ---- -I apologize if this is the incorrect forum for this question, but I am trying to get ikiwiki set up and running with git. I followed all the directions and all seems to work until I go back and try to make changes. The steps I am performing: +I apologize if this is the incorrect forum for this question, but I am +trying to get ikiwiki set up and running with git. I followed all the +directions and all seems to work until I go back and try to make changes. +The steps I am performing: cd $SRCDIR (e.g. ~/ikisrc) vim index.mdwn (add a couple lines) git commit -a -m 'test' git push -I then get a long error message which reads in part "You asked me to pull without telling me which branch you -want to merge with, and 'branch.master.merge' in your configuration file does not tell me either." From that point on, I get: +I then get a long error message which reads in part "You asked me to pull +without telling me which branch you want to merge with, and +'branch.master.merge' in your configuration file does not tell me either." +From that point on, I get: sws@odin:~/dev/ikisrc$ git push To /home/git/repos/myikiwiki.git ! [rejected] master -> master (non-fast forward) error: failed to push to '/home/git/repos/myikiwiki.git' -If I do a git clone ssh://odin/path/to/$REPOSITORY from another machine and try to edit I get the same error sequence. What am I doing wrong? +If I do a git clone ssh://odin/path/to/$REPOSITORY from another machine and +try to edit I get the same error sequence. What am I doing wrong? + +> I don't know. The only time I have seen this message is when +> the master git repository was not bare. All current instructions and +> `ikiwiki-makerepo` have a proper bare repo used for the master +> repository, but perhaps you followed some old, broken instructions, or +> forgot to make it bare? --[[Joey]] ----- -I follow every steps of the setup procedure, change some templates and tried to modify some page through the web but was not able to do so. Every page seems to be locked by the adminuser user. When I remove the adminuser in the setup file, every ran fine. Did I miss something ? What is exactly the adminuser supposed to be allowed to ? Is he the only user allowed to modify pages ? +I follow every steps of the setup procedure, change some templates and +tried to modify some page through the web but was not able to do so. Every +page seems to be locked by the adminuser user. When I remove the adminuser +in the setup file, every ran fine. Did I miss something ? What is exactly +the adminuser supposed to be allowed to ? Is he the only user allowed to +modify pages ? > This was a bug in ikwiki that was fixed in version 2.44. --[[Joey]] ----- -I hope you guys can put up with an absolute newbie. I am fairly new to linux and completely new to Perl. I have just installed MoinMoin locally in my PC, running ubuntu 8.4 and was about to use it until I ran into your ikiwiki. I thought ikiwiki is a better fit for what I want to do, so am seriously considering installing it as well in ubuntu. Except that the install seems way beyond my understanding. + +pI hope you guys can put up with an absolute newbie. I am fairly new to linux and completely new to Perl. I have just installed MoinMoin locally in my PC, running ubuntu 8.4 and was about to use it until I ran into your ikiwiki. I thought ikiwiki is a better fit for what I want to do, so am seriously considering installing it as well in ubuntu. Except that the install seems way beyond my understanding. Do i need to install git first? Which git -- the git-core? Ubuntu's instructions on installing the git-core is: "sudo apt-get install git-core". Is that it? Do I need to do a git-init as well, or will the ikiwiki-makerepo handle that? If I have to do a git-init as well, what --share values should I specify? @@ -168,7 +186,8 @@ I setup ikiwiki on a fedora 10 machine and I am using apache as my http server. ---- -/etc/ikiwiki/auto.setup tries to get abs_path of a non-existent "repository" path (in ikiwiki-makerepo), and that doesn't work in my perl: +/etc/ikiwiki/auto.setup tries to get abs_path of a non-existent +"repository" path (in ikiwiki-makerepo), and that doesn't work in my perl:
 [mort@localhost ~]$ perl -e 'use Cwd q{abs_path}; print abs_path("/var")'
@@ -210,3 +229,7 @@ $
 
 Can't ikiwiki's "make test" perhaps test for this, so that one knows something will go wrong?
 -- Ivan Z.
+
+> FWIW, I tried the same thing with perl 5.8.8 from Debian etch, and its
+> Cwd does not have the problem. But I've modified `ikiwiki-makerepo` to
+> avoid using `abs_path` this way anyhow. --[[Joey]] 
diff --git a/ikiwiki-makerepo b/ikiwiki-makerepo
index 310535030..7f82e7177 100755
--- a/ikiwiki-makerepo
+++ b/ikiwiki-makerepo
@@ -29,7 +29,7 @@ if [ "$rcs" != mercurial ] && [ "$rcs" != bzr ]; then
 		echo "repository $repository already exists, aborting" >&2 
 		exit 1
 	fi
-	repository="$(perl -e 'use Cwd q{abs_path}; $r=shift; $r=~s/\/*$//; print abs_path($r)' "$repository")"
+	repository="$(perl -e 'use Cwd; $r=shift; $r=getcwd.q{/}.$r if $r!~m!^/!; print $r' "$repository")"
 	if [ -z "$repository" ]; then
 		echo "internal error finding repository abs_path" >&2
 		exit 1

From 7633cc84745f59ed73fdcb55ffc8bbbff3eb70c7 Mon Sep 17 00:00:00 2001
From: "http://liw.fi/" 
Date: Tue, 5 May 2009 14:16:57 -0400
Subject: [PATCH 069/206]

---
 .../edit_preview_resolves_links_differently_from_commit.mdwn     | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn

diff --git a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn
new file mode 100644
index 000000000..1adb8d837
--- /dev/null
+++ b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn
@@ -0,0 +1 @@
+I'm editing /posts/foo. If I create a link to a subpage (in my case, "discussion"), and hit preview, it gets resolved to /discussion, not /posts/foo/discussion. If I hit commit, the latter happens. This seems like a bug. --liw

From e92ecd3e27cd4ca48ab24a4ad792d67e86cdb76f Mon Sep 17 00:00:00 2001
From: "http://lj.rossia.org/users/imz/" 
Date: Tue, 5 May 2009 14:21:38 -0400
Subject: [PATCH 070/206] almost offtopic: is this actually a violation?

---
 doc/setup/discussion.mdwn | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn
index 36bd0768d..ffa6f655a 100644
--- a/doc/setup/discussion.mdwn
+++ b/doc/setup/discussion.mdwn
@@ -233,3 +233,5 @@ Can't ikiwiki's "make test" perhaps test for this, so that one knows something w
 > FWIW, I tried the same thing with perl 5.8.8 from Debian etch, and its
 > Cwd does not have the problem. But I've modified `ikiwiki-makerepo` to
 > avoid using `abs_path` this way anyhow. --[[Joey]] 
+
+Thank you! I'm not a Perl programmer, so what's your opinion: is this behavior a violation of the specification of abs_path and I should report it to [ALTLinux](bugs.altlinux.org) (the distro)? --Ivan Z.

From 31240a9dd671a6bcb138bd5620b5a41abb79db8a Mon Sep 17 00:00:00 2001
From: "http://lj.rossia.org/users/imz/" 
Date: Tue, 5 May 2009 14:24:41 -0400
Subject: [PATCH 071/206] minor: fix URL

---
 doc/setup/discussion.mdwn | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn
index ffa6f655a..a0f596813 100644
--- a/doc/setup/discussion.mdwn
+++ b/doc/setup/discussion.mdwn
@@ -234,4 +234,4 @@ Can't ikiwiki's "make test" perhaps test for this, so that one knows something w
 > Cwd does not have the problem. But I've modified `ikiwiki-makerepo` to
 > avoid using `abs_path` this way anyhow. --[[Joey]] 
 
-Thank you! I'm not a Perl programmer, so what's your opinion: is this behavior a violation of the specification of abs_path and I should report it to [ALTLinux](bugs.altlinux.org) (the distro)? --Ivan Z.
+Thank you! I'm not a Perl programmer, so what's your opinion: is this behavior a violation of the specification of abs_path and I should report it to [ALTLinux](http://bugs.altlinux.org) (the distro)? --Ivan Z.

From 7f6ebcd53e53d6b20c02047a6b3c57f8339dbca1 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 14:24:55 -0400
Subject: [PATCH 072/206] response

---
 ...review_resolves_links_differently_from_commit.mdwn | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn
index 1adb8d837..c83086951 100644
--- a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn
+++ b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn
@@ -1 +1,10 @@
-I'm editing /posts/foo. If I create a link to a subpage (in my case, "discussion"), and hit preview, it gets resolved to /discussion, not /posts/foo/discussion. If I hit commit, the latter happens. This seems like a bug. --liw
+I'm editing /posts/foo. If I create a link to a subpage (in my case,
+"discussion"), and hit preview, it gets resolved to /discussion, not
+/posts/foo/discussion. If I hit commit, the latter happens. This seems like
+a bug. --liw
+
+> That would be a bug, but I cannot reproduce it. For example, I edited
+>  and added a
+> discussion link and on preview it went to the page's discussion page. I
+> don't normally have a toplevel /discussion page, but I also tried adding
+> one, and the link still doesn't link to it. Testcase? --[[Joey]] 

From ad2f1805a9994440b68c6972b92a88a520ad98fc Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 14:28:42 -0400
Subject: [PATCH 073/206] response

---
 doc/setup/discussion.mdwn | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/setup/discussion.mdwn b/doc/setup/discussion.mdwn
index a0f596813..0501f443a 100644
--- a/doc/setup/discussion.mdwn
+++ b/doc/setup/discussion.mdwn
@@ -235,3 +235,6 @@ Can't ikiwiki's "make test" perhaps test for this, so that one knows something w
 > avoid using `abs_path` this way anyhow. --[[Joey]] 
 
 Thank you! I'm not a Perl programmer, so what's your opinion: is this behavior a violation of the specification of abs_path and I should report it to [ALTLinux](http://bugs.altlinux.org) (the distro)? --Ivan Z.
+
+> That is not entirely clear to me from the documentation. It doesn't
+> say the path has to exist, but doesn't say it cannot either. --[[Joey]]

From e77d0030d61b8b8ad44f296a003c8713766ffd51 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 20:06:50 -0400
Subject: [PATCH 074/206] inline: Minor optimisation.

When finding the pageurl, it was calling bestlink unnecessarily.
Since at this point $page contains the full name of the page that
is being inlined, there is no need to do bestlink's scan
for it.

This is only a minor optimisation, since bestlink is only called
once per displayed, inlined page.
---
 IkiWiki/Plugin/inline.pm | 2 +-
 debian/changelog         | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 4507ace4d..27ea1c4a6 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -342,7 +342,7 @@ sub preprocess_inline (@) {
 					my $content=get_inline_content($page, $params{destpage});
 					$template->param(content => $content);
 				}
-				$template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage}));
+				$template->param(pageurl => urlto($page, $params{destpage}));
 				$template->param(inlinepage => $page);
 				$template->param(title => pagetitle(basename($page)));
 				$template->param(ctime => displaytime($pagectime{$page}, $params{timeformat}));
diff --git a/debian/changelog b/debian/changelog
index ae7ce90be..9244ccdb8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ ikiwiki (3.12) UNRELEASED; urgency=low
   * ikiwiki-makerepo: Avoid using abs_path, as it apparently
     fails on nonexistant directories with some broken perl
     versions.
+  * inline: Minor optimisation.
 
  -- Joey Hess   Mon, 04 May 2009 19:17:39 -0400
 

From c7303303f29aa587d891a5caa691ba24dbf30f27 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 20:13:40 -0400
Subject: [PATCH 075/206] remove cruft that crept in during a debugging session

---
 docwiki.setup | 2 --
 1 file changed, 2 deletions(-)

diff --git a/docwiki.setup b/docwiki.setup
index ffb4a7c16..6d732fd6b 100644
--- a/docwiki.setup
+++ b/docwiki.setup
@@ -15,7 +15,5 @@ use IkiWiki::Setup::Standard {
 	userdir => "users",
 	usedirs => 0,
 	prefix_directives => 1,
-	cgiurl => "http://me",
-	url => "http://me",
 	add_plugins => [qw{goodstuff version haiku polygen fortune}],
 }

From a258e92c780ffc10e1149f876572a5f33fd21c56 Mon Sep 17 00:00:00 2001
From: "http://ghee.livejournal.com/" 
Date: Tue, 5 May 2009 23:09:20 -0400
Subject: [PATCH 076/206] meh

---
 doc/blog/discussion.mdwn | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 doc/blog/discussion.mdwn

diff --git a/doc/blog/discussion.mdwn b/doc/blog/discussion.mdwn
new file mode 100644
index 000000000..907b30816
--- /dev/null
+++ b/doc/blog/discussion.mdwn
@@ -0,0 +1 @@
+blah

From 1c7c9e95f227a3ff7906c000ec15bb163edc463f Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 23:27:29 -0400
Subject: [PATCH 077/206] decruft

---
 doc/blog/discussion.mdwn | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 doc/blog/discussion.mdwn

diff --git a/doc/blog/discussion.mdwn b/doc/blog/discussion.mdwn
deleted file mode 100644
index 907b30816..000000000
--- a/doc/blog/discussion.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-blah

From 2a7721febd6cac1af5e7f4b4949ffe066c62c837 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Tue, 5 May 2009 23:40:09 -0400
Subject: [PATCH 078/206] Avoid %links accumulating duplicates. (For TOVA)

This is sorta an optimisation, and sorta a bug fix. In one
test case I have available, it can speed a page build up from 3
minutes to 3 seconds.

The root of the problem is that $links{$page} contains arrays of
links, rather than hashes of links. And when a link is found,
it is just pushed onto the array, without checking for dups.

Now, the array is emptied before scanning a page, so there
should not be a lot of opportunity for lots of duplicate links
to pile up in it. But, in some cases, they can, and if there
are hundreds of duplicate links in the array, then scanning it
for matching links, as match_link and some other code does,
becomes much more expensive than it needs to be.

Perhaps the real right fix would be to change the data structure
to a hash. But, the list of links is never accessed like that,
you always want to iterate through it.

I also looked at deduping the list in saveindex, but that does
a lot of unnecessary work, and doesn't completly solve the problem.

So, finally, I decided to add an add_link function that handles deduping,
and make ikiwiki-transition remove the old dup links.
---
 IkiWiki.pm                  | 12 ++++++++++--
 IkiWiki/Plugin/camelcase.pm |  2 +-
 IkiWiki/Plugin/img.pm       |  2 +-
 IkiWiki/Plugin/link.pm      |  2 +-
 IkiWiki/Plugin/meta.pm      |  2 +-
 IkiWiki/Plugin/tag.pm       |  6 +++---
 debian/NEWS                 |  9 +++++++++
 debian/changelog            |  4 ++++
 doc/ikiwiki-transition.mdwn |  7 +++++++
 doc/plugins/write.mdwn      | 22 ++++++++++++++--------
 ikiwiki-transition          | 19 +++++++++++++++++++
 11 files changed, 70 insertions(+), 17 deletions(-)

diff --git a/IkiWiki.pm b/IkiWiki.pm
index e260fffea..e6efe1889 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -21,12 +21,12 @@ our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
                  pagespec_match_list bestlink htmllink readfile writefile
 		 pagetype srcfile pagename displaytime will_render gettext urlto
 		 targetpage add_underlay pagetitle titlepage linkpage
-		 newpagefile inject
+		 newpagefile inject add_link
                  %config %links %pagestate %wikistate %renderedfiles
                  %pagesources %destsources);
 our $VERSION = 3.00; # plugin interface version, next is ikiwiki version
 our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE
-our $installdir=''; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE
+our $installdir='/usr'; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE
 
 # Optimisation.
 use Memoize;
@@ -1757,6 +1757,14 @@ sub inject {
 	use warnings;
 }
 
+sub add_link ($$) {
+	my $page=shift;
+	my $link=shift;
+
+	push @{$links{$page}}, $link
+		unless grep { $_ eq $link } @{$links{$page}};
+}
+
 sub pagespec_merge ($$) {
 	my $a=shift;
 	my $b=shift;
diff --git a/IkiWiki/Plugin/camelcase.pm b/IkiWiki/Plugin/camelcase.pm
index 74a8397d7..088447d6b 100644
--- a/IkiWiki/Plugin/camelcase.pm
+++ b/IkiWiki/Plugin/camelcase.pm
@@ -61,7 +61,7 @@ sub scan (@) {
         my $content=$params{content};
 
 	while ($content =~ /$link_regexp/g) {
-		push @{$links{$page}}, linkpage($1) unless ignored($1)
+		add_link($page, linkpage($1)) unless ignored($1)
 	}
 }
 
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index d295b833b..a697fea19 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -43,7 +43,7 @@ sub preprocess (@) {
 		return '';
 	}
 
-	push @{$links{$params{page}}}, $image;
+	add_link($params{page}, $image);
 	# optimisation: detect scan mode, and avoid generating the image
 	if (! defined wantarray) {
 		return;
diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm
index b79273f96..4c1add985 100644
--- a/IkiWiki/Plugin/link.pm
+++ b/IkiWiki/Plugin/link.pm
@@ -86,7 +86,7 @@ sub scan (@) {
 	my $content=$params{content};
 
 	while ($content =~ /(? pagetitle($1));
 		}
 		else {
 			my $tag=linkpage($_);
 			$tags{$params{page}}{$tag}=1;
-			push @{$links{$params{page}}}, tagpage($tag);
+			add_link($params{page}, tagpage($tag));
 			return taglink($params{page}, $params{destpage}, $tag);
 		}
 	}
diff --git a/debian/NEWS b/debian/NEWS
index 22513cc4a..62e1543b3 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,3 +1,12 @@
+ikiwiki (3.12) UNRELEASED; urgency=low
+
+  You may want to run `ikiwiki-transition deduplinks /path/to/srcdir`
+  after upgrading to this version of ikiwiki. This command will
+  optimise your wiki's saved state, removing duplicate information
+  that can slow ikiwiki down.
+
+ -- Joey Hess   Wed, 06 May 2009 00:25:06 -0400
+
 ikiwiki (3.01) unstable; urgency=low
 
   If your wiki uses git, and you have a `diffurl` configured in
diff --git a/debian/changelog b/debian/changelog
index 9244ccdb8..1e1d48d78 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,10 @@ ikiwiki (3.12) UNRELEASED; urgency=low
     fails on nonexistant directories with some broken perl
     versions.
   * inline: Minor optimisation.
+  * add_link: New function, which plugins should use rather than
+    modifying %links directly, to avoid it accumulating duplicates.
+  * ikiwiki-transition: Add a deduplinks action, that can be used
+    to remove duplicate links and optimise a wiki w/o rebuilding it.
 
  -- Joey Hess   Mon, 04 May 2009 19:17:39 -0400
 
diff --git a/doc/ikiwiki-transition.mdwn b/doc/ikiwiki-transition.mdwn
index 18836d5f5..e0b853ecf 100644
--- a/doc/ikiwiki-transition.mdwn
+++ b/doc/ikiwiki-transition.mdwn
@@ -61,6 +61,13 @@ If this is not done explicitly, a user's plaintext password will be
 automatically converted to a hash when a user logs in for the first time
 after upgrade to ikiwiki 2.48.
 
+# deduplinks srcdir
+
+In the past, bugs in ikiwiki have allowed duplicate link information
+to be stored in its indexdb. This mode removes such duplicate information,
+which may speed up wikis afflicted by it. Note that rebuilding the wiki
+will have the same effect.
+
 # AUTHOR
 
 Josh Triplett , Joey Hess 
diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn
index 0b358b215..28da243d5 100644
--- a/doc/plugins/write.mdwn
+++ b/doc/plugins/write.mdwn
@@ -107,8 +107,8 @@ adding or removing files from it.
 
 This hook is called early in the process of building the wiki, and is used
 as a first pass scan of the page, to collect metadata about the page. It's
-mostly used to scan the page for [[WikiLinks|ikiwiki/WikiLink]], and add them to `%links`.
-Present in IkiWiki 2.40 and later.
+mostly used to scan the page for [[WikiLinks|ikiwiki/WikiLink]], and add
+them to `%links`. Present in IkiWiki 2.40 and later.
 
 The function is passed named parameters "page" and "content". Its return
 value is ignored.
@@ -151,11 +151,11 @@ parameter is set to a true value if the page is being previewed.
 If `hook` is passed an optional "scan" parameter, set to a true value, this
 makes the hook be called during the preliminary scan that ikiwiki makes of
 updated pages, before begining to render pages. This should be done if the
-hook modifies data in `%links`. Note that doing so will make the hook be
-run twice per page build, so avoid doing it for expensive hooks. (As an
-optimisation, if your preprocessor hook is called in a void context, you
-can assume it's being run in scan mode, and avoid doing expensive things at
-that point.)
+hook modifies data in `%links` (typically by calling `add_link`). Note that
+doing so will make the hook be run twice per page build, so avoid doing it
+for expensive hooks. (As an optimisation, if your preprocessor hook is
+called in a void context, you can assume it's being run in scan mode, and
+avoid doing expensive things at that point.)
 
 Note that if the [[htmlscrubber]] is enabled, html in
 preprocessor [[ikiwiki/directive]] output is sanitised, which may limit what
@@ -174,7 +174,8 @@ links. The function is passed named parameters "page", "destpage", and
 and later.
 
 Plugins that implement linkify must also implement a scan hook, that scans
-for the links on the page and adds them to `%links`.
+for the links on the page and adds them to `%links` (typically by calling
+`add_link`).
 
 ### htmlize
 
@@ -753,6 +754,11 @@ Optionally, a third parameter can be passed, to specify the preferred
 filename of the page. For example, `targetpage("foo", "rss", "feed")`
 will yield something like `foo/feed.rss`.
 
+#### `add_link($$)`
+
+This adds a link to `%links`, ensuring that duplicate links are not
+added. Pass it the page that contains the link, and the link text.
+
 ## Miscellaneous
 
 ### Internal use pages
diff --git a/ikiwiki-transition b/ikiwiki-transition
index 599261a09..f17868d73 100755
--- a/ikiwiki-transition
+++ b/ikiwiki-transition
@@ -220,6 +220,21 @@ sub moveprefs {
 	IkiWiki::Setup::dump($setup);
 }
 
+sub deduplinks {
+	my $dir=shift;
+	if (! defined $dir) {
+		usage();		
+	}
+	$config{wikistatedir}=$dir."/.ikiwiki";
+	IkiWiki::loadindex();
+	foreach my $page (keys %links) {
+		my %l;
+		$l{$_}=1 foreach @{$links{$page}};
+		$links{$page}=[keys %l]
+	}
+	IkiWiki::saveindex();
+}
+
 sub usage {
 	print STDERR "Usage: ikiwiki-transition type ...\n";
 	print STDERR "Currently supported transition subcommands:\n";
@@ -229,6 +244,7 @@ sub usage {
 	print STDERR "\tmoveprefs setupfile\n";
 	print STDERR "\thashpassword srcdir\n";
 	print STDERR "\tindexdb srcdir\n";
+	print STDERR "\tdeduplinks srcdir\n";
 	exit 1;
 }
 
@@ -253,6 +269,9 @@ elsif ($mode eq 'setupformat') {
 elsif ($mode eq 'moveprefs') {
 	moveprefs(@ARGV);
 }
+elsif ($mode eq 'deduplinks') {
+	deduplinks(@ARGV);
+}
 else {
 	usage();
 }

From 6cea66e2d8c0fd4f2c81c0535ae58dfa3abf1dd7 Mon Sep 17 00:00:00 2001
From: Jon Dowland 
Date: Wed, 6 May 2009 10:13:21 +0100
Subject: [PATCH 079/206] remove test page (see /sandbox)

---
 doc/blog/discussion.mdwn | 1 -
 1 file changed, 1 deletion(-)
 delete mode 100644 doc/blog/discussion.mdwn

diff --git a/doc/blog/discussion.mdwn b/doc/blog/discussion.mdwn
deleted file mode 100644
index 907b30816..000000000
--- a/doc/blog/discussion.mdwn
+++ /dev/null
@@ -1 +0,0 @@
-blah

From 6f991c7a1c2441b5110e2d895a12a73c63895b44 Mon Sep 17 00:00:00 2001
From: "http://smcv.pseudorandom.co.uk/" 
Date: Wed, 6 May 2009 06:11:53 -0400
Subject: [PATCH 080/206]

---
 doc/todo/blogspam_training.mdwn | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/doc/todo/blogspam_training.mdwn b/doc/todo/blogspam_training.mdwn
index f1d71f763..f15eba59d 100644
--- a/doc/todo/blogspam_training.mdwn
+++ b/doc/todo/blogspam_training.mdwn
@@ -13,6 +13,13 @@ blogspam plugin is enabled), each comment can have an extra link "mark
 as SPAM" which would both delete/revert the comment and submit it to
 the configured blogspam server for training.
 
+> Comments can't have an extra link when the admin user is logged
+> in, because the admin user sees the same static pages as everyone
+> else (non-admins still see the "remove" link provided by the remove
+> plugin, too). Perhaps a better UI would be that the action of that
+> link was overridden by the blogspam plugin to go to a form with
+> a checkbox for "also submit as spam"? --[[smcv]]
+
 Similarly, ham training can be plugged directly into the current
 comment moderation interface. Each comment that gets approved by the
 admin, can be sent to blogspam.net as ham. If this is considered too

From d3188a04fff1d0ed7329b3aae8343beaf1735390 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Wed, 6 May 2009 12:57:37 -0400
Subject: [PATCH 081/206] external: Fix pagespec_match and pagespec_match_list.
 Closes: #527281

---
 IkiWiki/Plugin/external.pm | 10 ++++++++--
 debian/NEWS                |  2 +-
 debian/changelog           |  6 ++++--
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm
index f0acc7e4e..57a72eb68 100644
--- a/IkiWiki/Plugin/external.pm
+++ b/IkiWiki/Plugin/external.pm
@@ -232,15 +232,21 @@ sub hook ($@) {
 sub pagespec_match ($@) {
 	# convert return object into a XML RPC boolean
 	my $plugin=shift;
+	my $page=shift;
+	my $spec=shift;
 
-	return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match(@_));
+	return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match(
+			$page, $spec, @_));
 }
 
 sub pagespec_match_list ($@) {
 	# convert return object into a XML RPC boolean
 	my $plugin=shift;
+	my $pages=shift;
+	my $spec=shift;
 
-	return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match_list(@_));
+	return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match_list(
+			$pages, $spec, @_));
 }
 
 1
diff --git a/debian/NEWS b/debian/NEWS
index 62e1543b3..7daa350d9 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,4 +1,4 @@
-ikiwiki (3.12) UNRELEASED; urgency=low
+ikiwiki (3.12) unstable; urgency=low
 
   You may want to run `ikiwiki-transition deduplinks /path/to/srcdir`
   after upgrading to this version of ikiwiki. This command will
diff --git a/debian/changelog b/debian/changelog
index 1e1d48d78..d4fe91b88 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-ikiwiki (3.12) UNRELEASED; urgency=low
+ikiwiki (3.12) unstable; urgency=low
 
   * Re-enable python-support and add python:Depends to control file.
   * ikiwiki-makerepo: Avoid using abs_path, as it apparently
@@ -9,8 +9,10 @@ ikiwiki (3.12) UNRELEASED; urgency=low
     modifying %links directly, to avoid it accumulating duplicates.
   * ikiwiki-transition: Add a deduplinks action, that can be used
     to remove duplicate links and optimise a wiki w/o rebuilding it.
+  * external: Fix pagespec_match and pagespec_match_list.
+    Closes: #527281
 
- -- Joey Hess   Mon, 04 May 2009 19:17:39 -0400
+ -- Joey Hess   Wed, 06 May 2009 00:31:16 -0400
 
 ikiwiki (3.11) unstable; urgency=low
 

From 838955aba445f29b7990c7be97c505b6cbe86057 Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Wed, 6 May 2009 13:13:01 -0400
Subject: [PATCH 082/206] remove pagespec_match_list override for external

Not needed since it returns a list of pages, not a fail/success object.
---
 IkiWiki/Plugin/external.pm | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/IkiWiki/Plugin/external.pm b/IkiWiki/Plugin/external.pm
index 57a72eb68..0d292dfc2 100644
--- a/IkiWiki/Plugin/external.pm
+++ b/IkiWiki/Plugin/external.pm
@@ -239,14 +239,4 @@ sub pagespec_match ($@) {
 			$page, $spec, @_));
 }
 
-sub pagespec_match_list ($@) {
-	# convert return object into a XML RPC boolean
-	my $plugin=shift;
-	my $pages=shift;
-	my $spec=shift;
-
-	return RPC::XML::boolean->new(0 + IkiWiki::pagespec_match_list(
-			$pages, $spec, @_));
-}
-
 1

From 1367a73fdbee407903f17b66dd205ceba2906a7c Mon Sep 17 00:00:00 2001
From: Joey Hess 
Date: Wed, 6 May 2009 13:13:54 -0400
Subject: [PATCH 083/206] releasing version 3.12

---
 po/bg.po       |  56 ++++++++---------
 po/cs.po       |  56 ++++++++---------
 po/da.po       | 162 +++++++++++++++++++++++++------------------------
 po/de.po       |  56 ++++++++---------
 po/es.po       |  79 +++++++++++++-----------
 po/fr.po       |  56 ++++++++---------
 po/gu.po       |  56 ++++++++---------
 po/ikiwiki.pot |  56 ++++++++---------
 po/pl.po       |  56 ++++++++---------
 po/sv.po       |  56 ++++++++---------
 po/vi.po       |  56 ++++++++---------
 11 files changed, 379 insertions(+), 366 deletions(-)

diff --git a/po/bg.po b/po/bg.po
index f2207601f..65f8bdf2c 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki-bg\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-23 14:02-0400\n"
+"POT-Creation-Date: 2009-05-06 12:58-0400\n"
 "PO-Revision-Date: 2007-01-12 01:19+0200\n"
 "Last-Translator: Damyan Ivanov \n"
 "Language-Team: Bulgarian \n"
@@ -188,18 +188,18 @@ msgid ""
 msgstr ""
 
 #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233
-#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26
+#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26
 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
 #: ../IkiWiki/Render.pm:149
 msgid "discussion"
 msgstr "дискусия"
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:49
+#: ../IkiWiki/Plugin/brokenlinks.pm:48
 #, perl-format
 msgid "%s from %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:56
+#: ../IkiWiki/Plugin/brokenlinks.pm:55
 msgid "There are no broken links!"
 msgstr "Няма „счупени” връзки!"
 
@@ -216,55 +216,55 @@ msgstr ""
 msgid "Anonymous"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97
+#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97
 msgid "bad page name"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:331
+#: ../IkiWiki/Plugin/comments.pm:338
 #, fuzzy, perl-format
 msgid "commenting on %s"
 msgstr "създаване на %s"
 
-#: ../IkiWiki/Plugin/comments.pm:349
+#: ../IkiWiki/Plugin/comments.pm:356
 #, perl-format
 msgid "page '%s' doesn't exist, so you can't comment"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:356
+#: ../IkiWiki/Plugin/comments.pm:363
 #, perl-format
 msgid "comments on page '%s' are closed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:450
+#: ../IkiWiki/Plugin/comments.pm:457
 msgid "comment stored for moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:452
+#: ../IkiWiki/Plugin/comments.pm:459
 msgid "Your comment will be posted after moderator review"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:465
+#: ../IkiWiki/Plugin/comments.pm:472
 msgid "Added a comment"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:469
+#: ../IkiWiki/Plugin/comments.pm:476
 #, perl-format
 msgid "Added a comment: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236
+#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236
 msgid "you are not logged in as an admin"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:562
+#: ../IkiWiki/Plugin/comments.pm:569
 msgid "Comment moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:601
+#: ../IkiWiki/Plugin/comments.pm:608
 msgid "comment moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:752
+#: ../IkiWiki/Plugin/comments.pm:759
 msgid "Comments"
 msgstr ""
 
@@ -419,34 +419,29 @@ msgstr "шаблонът „%s” не е намерен"
 msgid "missing pages parameter"
 msgstr "липсващ параметър „id” на шаблона"
 
-#: ../IkiWiki/Plugin/inline.pm:198
-#, fuzzy, perl-format
-msgid "cannot match pages: %s"
-msgstr "грешка при четене на „%s”: %s"
-
-#: ../IkiWiki/Plugin/inline.pm:207
+#: ../IkiWiki/Plugin/inline.pm:196
 msgid "Sort::Naturally needed for title_natural sort"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:218
+#: ../IkiWiki/Plugin/inline.pm:207
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "непознат вид сортиране „%s”"
 
-#: ../IkiWiki/Plugin/inline.pm:321
+#: ../IkiWiki/Plugin/inline.pm:310
 msgid "Add a new post titled:"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:341
+#: ../IkiWiki/Plugin/inline.pm:330
 #, perl-format
 msgid "nonexistant template %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83
+#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83
 msgid "Discussion"
 msgstr "Дискусия"
 
-#: ../IkiWiki/Plugin/inline.pm:607
+#: ../IkiWiki/Plugin/inline.pm:596
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "модулът „RPC::XML::Client” не е намерен; източникът не е проверен"
 
@@ -511,7 +506,7 @@ msgstr ""
 msgid "Get an OpenID"
 msgstr "Получаване на OpenID номер"
 
-#: ../IkiWiki/Plugin/orphans.pm:51
+#: ../IkiWiki/Plugin/orphans.pm:52
 msgid "All pages are linked to by other pages."
 msgstr "Всички страници имат връзки от други страници."
 
@@ -1073,6 +1068,11 @@ msgstr "открита е циклична завидимост при %s на 
 msgid "yes"
 msgstr ""
 
+#: ../IkiWiki.pm:1860
+#, fuzzy, perl-format
+msgid "cannot match pages: %s"
+msgstr "грешка при четене на „%s”: %s"
+
 #: ../auto.setup:16
 msgid "What will the wiki be named?"
 msgstr ""
diff --git a/po/cs.po b/po/cs.po
index 29df2126a..aa6e0c928 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-23 14:02-0400\n"
+"POT-Creation-Date: 2009-05-06 12:58-0400\n"
 "PO-Revision-Date: 2007-05-09 21:21+0200\n"
 "Last-Translator: Miroslav Kure \n"
 "Language-Team: Czech \n"
@@ -185,18 +185,18 @@ msgid ""
 msgstr ""
 
 #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233
-#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26
+#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26
 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
 #: ../IkiWiki/Render.pm:149
 msgid "discussion"
 msgstr "diskuse"
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:49
+#: ../IkiWiki/Plugin/brokenlinks.pm:48
 #, perl-format
 msgid "%s from %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:56
+#: ../IkiWiki/Plugin/brokenlinks.pm:55
 msgid "There are no broken links!"
 msgstr "Žádné porušené odkazy!"
 
@@ -213,55 +213,55 @@ msgstr ""
 msgid "Anonymous"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97
+#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97
 msgid "bad page name"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:331
+#: ../IkiWiki/Plugin/comments.pm:338
 #, fuzzy, perl-format
 msgid "commenting on %s"
 msgstr "vytvářím %s"
 
-#: ../IkiWiki/Plugin/comments.pm:349
+#: ../IkiWiki/Plugin/comments.pm:356
 #, perl-format
 msgid "page '%s' doesn't exist, so you can't comment"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:356
+#: ../IkiWiki/Plugin/comments.pm:363
 #, perl-format
 msgid "comments on page '%s' are closed"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:450
+#: ../IkiWiki/Plugin/comments.pm:457
 msgid "comment stored for moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:452
+#: ../IkiWiki/Plugin/comments.pm:459
 msgid "Your comment will be posted after moderator review"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:465
+#: ../IkiWiki/Plugin/comments.pm:472
 msgid "Added a comment"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:469
+#: ../IkiWiki/Plugin/comments.pm:476
 #, perl-format
 msgid "Added a comment: %s"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236
+#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236
 msgid "you are not logged in as an admin"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:562
+#: ../IkiWiki/Plugin/comments.pm:569
 msgid "Comment moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:601
+#: ../IkiWiki/Plugin/comments.pm:608
 msgid "comment moderation"
 msgstr ""
 
-#: ../IkiWiki/Plugin/comments.pm:752
+#: ../IkiWiki/Plugin/comments.pm:759
 msgid "Comments"
 msgstr ""
 
@@ -413,34 +413,29 @@ msgstr "zdroj nebyl nalezen"
 msgid "missing pages parameter"
 msgstr "chybí parametr %s"
 
-#: ../IkiWiki/Plugin/inline.pm:198
-#, fuzzy, perl-format
-msgid "cannot match pages: %s"
-msgstr "nemohu číst %s: %s"
-
-#: ../IkiWiki/Plugin/inline.pm:207
+#: ../IkiWiki/Plugin/inline.pm:196
 msgid "Sort::Naturally needed for title_natural sort"
 msgstr ""
 
-#: ../IkiWiki/Plugin/inline.pm:218
+#: ../IkiWiki/Plugin/inline.pm:207
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "neznámý typ řazení %s"
 
-#: ../IkiWiki/Plugin/inline.pm:321
+#: ../IkiWiki/Plugin/inline.pm:310
 msgid "Add a new post titled:"
 msgstr "Přidat nový příspěvek nazvaný:"
 
-#: ../IkiWiki/Plugin/inline.pm:341
+#: ../IkiWiki/Plugin/inline.pm:330
 #, perl-format
 msgid "nonexistant template %s"
 msgstr "neexistující šablona %s"
 
-#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83
+#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83
 msgid "Discussion"
 msgstr "Diskuse"
 
-#: ../IkiWiki/Plugin/inline.pm:607
+#: ../IkiWiki/Plugin/inline.pm:596
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client nebyl nalezen, nepinkám"
 
@@ -501,7 +496,7 @@ msgstr "Přihlásit pomocí"
 msgid "Get an OpenID"
 msgstr "Získat OpenID"
 
-#: ../IkiWiki/Plugin/orphans.pm:51
+#: ../IkiWiki/Plugin/orphans.pm:52
 msgid "All pages are linked to by other pages."
 msgstr "Na každou stránku vede odkaz z jiné stránky."
 
@@ -1053,6 +1048,11 @@ msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
 msgid "yes"
 msgstr ""
 
+#: ../IkiWiki.pm:1860
+#, fuzzy, perl-format
+msgid "cannot match pages: %s"
+msgstr "nemohu číst %s: %s"
+
 #: ../auto.setup:16
 msgid "What will the wiki be named?"
 msgstr ""
diff --git a/po/da.po b/po/da.po
index 7ab780caf..4dfa998ca 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-23 14:02-0400\n"
+"POT-Creation-Date: 2009-05-06 12:58-0400\n"
 "PO-Revision-Date: 2009-04-26 23:34+0100\n"
 "Last-Translator: Jonas Smedegaard \n"
 "Language-Team: None\n"
@@ -24,15 +24,18 @@ msgid "You need to log in first."
 msgstr "Du skal først logge på."
 
 #: ../IkiWiki/CGI.pm:146
-msgid "probable misconfiguration: sslcookie is set, but you are attepting to login via http, not https"
-msgstr "mulig opsætningsfejl: sslcookie er sat, men du forsøger at logge på via http, ikke https"
+msgid ""
+"probable misconfiguration: sslcookie is set, but you are attepting to login "
+"via http, not https"
+msgstr ""
+"mulig opsætningsfejl: sslcookie er sat, men du forsøger at logge på via "
+"http, ikke https"
 
 #: ../IkiWiki/CGI.pm:149
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr "Pålogning mislykkedes, måske skal du tillade infokager (cookies)?"
 
-#: ../IkiWiki/CGI.pm:168
-#: ../IkiWiki/CGI.pm:299
+#: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299
 msgid "Your login session has expired."
 msgstr "Din kørsel (login session) er udløbet"
 
@@ -56,9 +59,7 @@ msgstr "Indstillinger gemt"
 msgid "You are banned."
 msgstr "Du er banlyst."
 
-#: ../IkiWiki/CGI.pm:390
-#: ../IkiWiki/CGI.pm:391
-#: ../IkiWiki.pm:1211
+#: ../IkiWiki/CGI.pm:390 ../IkiWiki/CGI.pm:391 ../IkiWiki.pm:1211
 msgid "Error"
 msgstr "Fejl"
 
@@ -139,8 +140,7 @@ msgstr "opretter ny side %s"
 msgid "deleting bucket.."
 msgstr "sletter bundt.."
 
-#: ../IkiWiki/Plugin/amazon_s3.pm:38
-#: ../ikiwiki.in:210
+#: ../IkiWiki/Plugin/amazon_s3.pm:38 ../ikiwiki.in:210
 msgid "done"
 msgstr "færdig"
 
@@ -183,30 +183,30 @@ msgid "automatic index generation"
 msgstr "automatisk indeks-dannelse"
 
 #: ../IkiWiki/Plugin/blogspam.pm:108
-msgid "Sorry, but that looks like spam to blogspam: "
-msgstr "Beklager, men det ligner spam til blogspam: "
+msgid ""
+"Sorry, but that looks like spam to blogspam: "
+msgstr ""
+"Beklager, men det ligner spam til blogspam: "
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:33
-#: ../IkiWiki/Plugin/editpage.pm:233
-#: ../IkiWiki/Plugin/inline.pm:368
-#: ../IkiWiki/Plugin/opendiscussion.pm:26
-#: ../IkiWiki/Plugin/orphans.pm:37
-#: ../IkiWiki/Render.pm:79
+#: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233
+#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26
+#: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79
 #: ../IkiWiki/Render.pm:149
 msgid "discussion"
 msgstr "diskussion"
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:49
+#: ../IkiWiki/Plugin/brokenlinks.pm:48
 #, perl-format
 msgid "%s from %s"
 msgstr "%s fra %s"
 
-#: ../IkiWiki/Plugin/brokenlinks.pm:56
+#: ../IkiWiki/Plugin/brokenlinks.pm:55
 msgid "There are no broken links!"
 msgstr "Ingen henvisninger der ikker fungerer!"
 
-#: ../IkiWiki/Plugin/comments.pm:122
-#: ../IkiWiki/Plugin/format.pm:23
+#: ../IkiWiki/Plugin/comments.pm:122 ../IkiWiki/Plugin/format.pm:23
 #, perl-format
 msgid "unsupported page format %s"
 msgstr "Ikke-understøttet sideformat %s"
@@ -219,64 +219,60 @@ msgstr "kommentar skal have indhold"
 msgid "Anonymous"
 msgstr "Anonym"
 
-#: ../IkiWiki/Plugin/comments.pm:326
-#: ../IkiWiki/Plugin/editpage.pm:97
+#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97
 msgid "bad page name"
 msgstr "dårligt sidenavn"
 
-#: ../IkiWiki/Plugin/comments.pm:331
+#: ../IkiWiki/Plugin/comments.pm:338
 #, perl-format
 msgid "commenting on %s"
 msgstr "kommenterer på %s"
 
-#: ../IkiWiki/Plugin/comments.pm:349
+#: ../IkiWiki/Plugin/comments.pm:356
 #, perl-format
 msgid "page '%s' doesn't exist, so you can't comment"
 msgstr "siden '%s' eksisterer ikke, så du kan ikke kommentere"
 
-#: ../IkiWiki/Plugin/comments.pm:356
+#: ../IkiWiki/Plugin/comments.pm:363
 #, perl-format
 msgid "comments on page '%s' are closed"
 msgstr "kommentarer på side '%s' er lukket"
 
-#: ../IkiWiki/Plugin/comments.pm:450
+#: ../IkiWiki/Plugin/comments.pm:457
 msgid "comment stored for moderation"
 msgstr "kommentar gemt for moderering"
 
-#: ../IkiWiki/Plugin/comments.pm:452
+#: ../IkiWiki/Plugin/comments.pm:459
 msgid "Your comment will be posted after moderator review"
 msgstr "Din kommentar vil blive tilføjet efter moderatorgenemsyn"
 
-#: ../IkiWiki/Plugin/comments.pm:465
+#: ../IkiWiki/Plugin/comments.pm:472
 msgid "Added a comment"
 msgstr "Tilføjede en kommentar"
 
-#: ../IkiWiki/Plugin/comments.pm:469
+#: ../IkiWiki/Plugin/comments.pm:476
 #, perl-format
 msgid "Added a comment: %s"
 msgstr "Tilføjede en kommentar: %s"
 
-#: ../IkiWiki/Plugin/comments.pm:511
-#: ../IkiWiki/Plugin/websetup.pm:236
+#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236
 msgid "you are not logged in as an admin"
 msgstr "du er ikke logget på som en administrator"
 
-#: ../IkiWiki/Plugin/comments.pm:562
+#: ../IkiWiki/Plugin/comments.pm:569
 msgid "Comment moderation"
 msgstr "Kommentarmoderering"
 
-#: ../IkiWiki/Plugin/comments.pm:601
+#: ../IkiWiki/Plugin/comments.pm:608
 msgid "comment moderation"
 msgstr "kommentarkoderering"
 
-#: ../IkiWiki/Plugin/comments.pm:752
+#: ../IkiWiki/Plugin/comments.pm:759
 msgid "Comments"
 msgstr "Kommentarer"
 
-#: ../IkiWiki/Plugin/conditional.pm:27
-#: ../IkiWiki/Plugin/cutpaste.pm:30
-#: ../IkiWiki/Plugin/cutpaste.pm:45
-#: ../IkiWiki/Plugin/cutpaste.pm:61
+#: ../IkiWiki/Plugin/conditional.pm:27 ../IkiWiki/Plugin/cutpaste.pm:30
+#: ../IkiWiki/Plugin/cutpaste.pm:45 ../IkiWiki/Plugin/cutpaste.pm:61
 #: ../IkiWiki/Plugin/testpagespec.pm:26
 #, perl-format
 msgid "%s parameter is required"
@@ -306,10 +302,8 @@ msgstr "%s er ikke en redigérbar side"
 msgid "creating %s"
 msgstr "opretter %s"
 
-#: ../IkiWiki/Plugin/editpage.pm:307
-#: ../IkiWiki/Plugin/editpage.pm:326
-#: ../IkiWiki/Plugin/editpage.pm:336
-#: ../IkiWiki/Plugin/editpage.pm:380
+#: ../IkiWiki/Plugin/editpage.pm:307 ../IkiWiki/Plugin/editpage.pm:326
+#: ../IkiWiki/Plugin/editpage.pm:336 ../IkiWiki/Plugin/editpage.pm:380
 #: ../IkiWiki/Plugin/editpage.pm:419
 #, perl-format
 msgid "editing %s"
@@ -340,8 +334,7 @@ msgstr "skal angive format og tekst"
 msgid "fortune failed"
 msgstr "spådom (fortune) fejlede"
 
-#: ../IkiWiki/Plugin/git.pm:626
-#: ../IkiWiki/Plugin/git.pm:644
+#: ../IkiWiki/Plugin/git.pm:626 ../IkiWiki/Plugin/git.pm:644
 #: ../IkiWiki/Receive.pm:129
 #, perl-format
 msgid "you are not allowed to change %s"
@@ -391,8 +384,7 @@ msgstr "Image::Magick ikke installeret"
 msgid "bad size \"%s\""
 msgstr "forkert størrelse \"%s\""
 
-#: ../IkiWiki/Plugin/img.pm:80
-#: ../IkiWiki/Plugin/img.pm:84
+#: ../IkiWiki/Plugin/img.pm:80 ../IkiWiki/Plugin/img.pm:84
 #: ../IkiWiki/Plugin/img.pm:101
 #, perl-format
 msgid "failed to read %s: %s"
@@ -420,35 +412,29 @@ msgstr "sideredigering er ikke tilladt"
 msgid "missing pages parameter"
 msgstr "mangler pages-parametren"
 
-#: ../IkiWiki/Plugin/inline.pm:198
-#, perl-format
-msgid "cannot match pages: %s"
-msgstr "kan ikke få sider til at passe sammen: %s"
-
-#: ../IkiWiki/Plugin/inline.pm:207
+#: ../IkiWiki/Plugin/inline.pm:196
 msgid "Sort::Naturally needed for title_natural sort"
 msgstr "Sort::Naturally krævet for title_natural sortering"
 
-#: ../IkiWiki/Plugin/inline.pm:218
+#: ../IkiWiki/Plugin/inline.pm:207
 #, perl-format
 msgid "unknown sort type %s"
 msgstr "ukendt sorteringsform %s"
 
-#: ../IkiWiki/Plugin/inline.pm:321
+#: ../IkiWiki/Plugin/inline.pm:310
 msgid "Add a new post titled:"
 msgstr "Tilføj nyt indlæg med følgende titel:"
 
-#: ../IkiWiki/Plugin/inline.pm:341
+#: ../IkiWiki/Plugin/inline.pm:330
 #, perl-format
 msgid "nonexistant template %s"
 msgstr "ikke-eksisterende skabelon: %s"
 
-#: ../IkiWiki/Plugin/inline.pm:376
-#: ../IkiWiki/Render.pm:83
+#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83
 msgid "Discussion"
 msgstr "Diskussion"
 
-#: ../IkiWiki/Plugin/inline.pm:607
+#: ../IkiWiki/Plugin/inline.pm:596
 msgid "RPC::XML::Client not found, not pinging"
 msgstr "RPC::XML::Client ikke fundet, pinger ikke"
 
@@ -463,12 +449,15 @@ msgstr "%s er låst og kan ikke redigeres"
 
 #: ../IkiWiki/Plugin/mdwn.pm:44
 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed"
-msgstr "multimarkdown er aktiveret, men Text::MultiMarkdown er ikke installeret"
+msgstr ""
+"multimarkdown er aktiveret, men Text::MultiMarkdown er ikke installeret"
 
 #: ../IkiWiki/Plugin/mdwn.pm:67
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
-msgstr "Indlæsning af perl-modulet Markdown.pm (%s) eller /usr/bin/markdown (%s) mislykkedes"
+msgstr ""
+"Indlæsning af perl-modulet Markdown.pm (%s) eller /usr/bin/markdown (%s) "
+"mislykkedes"
 
 #: ../IkiWiki/Plugin/meta.pm:158
 msgid "stylesheet not found"
@@ -506,7 +495,7 @@ msgstr "Log på med"
 msgid "Get an OpenID"
 msgstr "Skaf en OpenID"
 
-#: ../IkiWiki/Plugin/orphans.pm:51
+#: ../IkiWiki/Plugin/orphans.pm:52
 msgid "All pages are linked to by other pages."
 msgstr "Alle sider henvises til fra andre sider."
 
@@ -524,7 +513,8 @@ msgstr "Fejl ved kontooprettelse."
 
 #: ../IkiWiki/Plugin/passwordauth.pm:257
 msgid "No email address, so cannot email password reset instructions."
-msgstr "Ingen emailadresse, så kan ikke sende adgangskodenulstillingsinstruktioner."
+msgstr ""
+"Ingen emailadresse, så kan ikke sende adgangskodenulstillingsinstruktioner."
 
 #: ../IkiWiki/Plugin/passwordauth.pm:291
 msgid "Failed to send mail"
@@ -665,8 +655,7 @@ msgstr "Kræver enten parametre `percent` eller `totalpages og `donepages`"
 msgid "(Diff truncated)"
 msgstr "(Diff trunkeret)"
 
-#: ../IkiWiki/Plugin/remove.pm:31
-#: ../IkiWiki/Plugin/rename.pm:36
+#: ../IkiWiki/Plugin/remove.pm:31 ../IkiWiki/Plugin/rename.pm:36
 #, perl-format
 msgid "%s does not exist"
 msgstr "%s eksisterer ikke"
@@ -676,8 +665,7 @@ msgstr "%s eksisterer ikke"
 msgid "%s is not in the srcdir, so it cannot be deleted"
 msgstr "%s er ikke i srcdir, så kan ikke blive slettet"
 
-#: ../IkiWiki/Plugin/remove.pm:41
-#: ../IkiWiki/Plugin/rename.pm:45
+#: ../IkiWiki/Plugin/remove.pm:41 ../IkiWiki/Plugin/rename.pm:45
 #, perl-format
 msgid "%s is not a file"
 msgstr "%s er ikke en fil"
@@ -881,12 +869,19 @@ msgid "plugins"
 msgstr "udvidelser"
 
 #: ../IkiWiki/Plugin/websetup.pm:395
-msgid "The configuration changes shown below require a wiki rebuild to take effect."
-msgstr "Opsætningsændringerne vist nedenfor kræver wiki-genopbygning for at træde i kraft."
+msgid ""
+"The configuration changes shown below require a wiki rebuild to take effect."
+msgstr ""
+"Opsætningsændringerne vist nedenfor kræver wiki-genopbygning for at træde i "
+"kraft."
 
 #: ../IkiWiki/Plugin/websetup.pm:399
-msgid "For the configuration changes shown below to fully take effect, you may need to rebuild the wiki."
-msgstr "For at opsætningsændringerne vist nedenfor træder fuldt ud i kraft, skal du muligvis genopbygge wikien."
+msgid ""
+"For the configuration changes shown below to fully take effect, you may need "
+"to rebuild the wiki."
+msgstr ""
+"For at opsætningsændringerne vist nedenfor træder fuldt ud i kraft, skal du "
+"muligvis genopbygge wikien."
 
 #: ../IkiWiki/Plugin/websetup.pm:436
 #, perl-format
@@ -905,11 +900,14 @@ msgstr "dårligt filnavn %s"
 
 #: ../IkiWiki/Render.pm:253
 #, perl-format
-msgid "symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to allow this"
-msgstr "symbolsk lænke fundet i srcdir-sti (%s) -- sæt allow_symlinks_before_srcdir for at tillade dette"
+msgid ""
+"symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to "
+"allow this"
+msgstr ""
+"symbolsk lænke fundet i srcdir-sti (%s) -- sæt allow_symlinks_before_srcdir "
+"for at tillade dette"
 
-#: ../IkiWiki/Render.pm:277
-#: ../IkiWiki/Render.pm:302
+#: ../IkiWiki/Render.pm:277 ../IkiWiki/Render.pm:302
 #, perl-format
 msgid "skipping bad filename %s"
 msgstr "udelader forkert filnavn %s"
@@ -1039,7 +1037,8 @@ msgstr "kan ikke bruge flere samtidige RCS-udvidelser"
 #: ../IkiWiki.pm:555
 #, perl-format
 msgid "failed to load external plugin needed for %s plugin: %s"
-msgstr "indlæsning af ekstern udvidelse krævet af udvidelsen %s mislykkedes: %s"
+msgstr ""
+"indlæsning af ekstern udvidelse krævet af udvidelsen %s mislykkedes: %s"
 
 #: ../IkiWiki.pm:1194
 #, perl-format
@@ -1050,6 +1049,11 @@ msgstr "forudberegningssløkke fundet på %s ved dybde %i"
 msgid "yes"
 msgstr "ja"
 
+#: ../IkiWiki.pm:1860
+#, perl-format
+msgid "cannot match pages: %s"
+msgstr "kan ikke få sider til at passe sammen: %s"
+
 #: ../auto.setup:16
 msgid "What will the wiki be named?"
 msgstr "Hvad skal wikien hedde?"
@@ -1072,10 +1076,12 @@ msgstr "Hvad er domænenavnet på webserveren?"
 
 #~ msgid "

Error: %s exited nonzero (%s)" #~ msgstr "

Fejl: %s sluttede med fejl (%s)" + #~ msgid "failed to write %s: %s" #~ msgstr "skrivning ad %s mislykkedes: %s" + #~ msgid "failed to find url in html" #~ msgstr "lokalisering af url i html mislykkedes" + #~ msgid "processed ok at %s" #~ msgstr "korrekt dannet ved %s" - diff --git a/po/de.po b/po/de.po index 3a05f46a8..73105ed6e 100644 --- a/po/de.po +++ b/po/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.06\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2009-03-02 15:39+0100\n" "Last-Translator: Kai Wasserbäch \n" "Language-Team: German \n" @@ -187,18 +187,18 @@ msgstr "" "als Spam ein: " #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "%s von %s" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "Es gibt keine ungültigen Links!" @@ -215,58 +215,58 @@ msgstr "Kommentare dürfen nicht leer sein." msgid "Anonymous" msgstr "Anonymer Benutzer" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "fehlerhafter Seitenname" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, perl-format msgid "commenting on %s" msgstr "kommentiere %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" "Die Seite »%s« existiert nicht, deshalb können Sie sie nicht kommentieren." -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" "Es können keine weiteren Kommentare für die Seite »%s« abgegeben werden." -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "Kommentar wurde gespeichert und erwartet Freischaltung." -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" "Ihr Kommentar wird freigegeben, nachdem ein Moderator ihn überprüft hat." -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "Kommentar hinzugefügt." -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "Kommentar hinzugefügt: %s" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "Sie sind nicht als Administrator angemeldet" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "Kommentarmoderation" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "Kommentarmoderation" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "Kommentare" @@ -415,34 +415,29 @@ msgstr "Seitenbearbeitungen sind nicht erlaubt" msgid "missing pages parameter" msgstr "Fehlender Seitenparameter" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "kann %s nicht lesen: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "Unbekannter Sortierungstyp %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "Füge einen neuen Beitrag hinzu. Titel:" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "nicht-vorhandene Vorlage %s" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client nicht gefunden, führe Ping nicht aus" @@ -503,7 +498,7 @@ msgstr "Anmelden mit" msgid "Get an OpenID" msgstr "Eine OpenID anfordern" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Alle Seiten sind von anderen Seiten aus verlinkt." @@ -1065,6 +1060,11 @@ msgstr "Präprozessorschleife auf %s in Tiefe %i erkannt" msgid "yes" msgstr "ja" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "kann %s nicht lesen: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "Wie soll das Wiki heißen?" diff --git a/po/es.po b/po/es.po index 1d6c23cb9..91a08feaf 100644 --- a/po/es.po +++ b/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2009-04-27 09:32+0200\n" "Last-Translator: Víctor Moral \n" "Language-Team: spanish \n" @@ -34,7 +34,8 @@ msgstr "" #: ../IkiWiki/CGI.pm:149 msgid "login failed, perhaps you need to turn on cookies?" -msgstr "registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" +msgstr "" +"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?" #: ../IkiWiki/CGI.pm:168 ../IkiWiki/CGI.pm:299 msgid "Your login session has expired." @@ -70,7 +71,8 @@ msgstr "Contenido añadido activado vía web." #: ../IkiWiki/Plugin/aggregate.pm:93 msgid "Nothing to do right now, all feeds are up-to-date!" -msgstr "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" +msgstr "" +"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" #: ../IkiWiki/Plugin/aggregate.pm:220 #, perl-format @@ -192,18 +194,18 @@ msgstr "" "dice que el texto puede ser spam." #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "comentarios" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "%s desde la página %s" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "¡ No hay enlaces rotos !" @@ -220,55 +222,55 @@ msgstr "Un comentario debe tener algún contenido" msgid "Anonymous" msgstr "Anónimo" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "nombre de página erróneo" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, perl-format msgid "commenting on %s" msgstr "creando comentarios en la página %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "la página '%s' no existe, así que no se puede comentar sobre ella" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "los comentarios para la página '%s' están cerrados" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "comentario guardado a la espera de aprobación" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "Su comentario será publicado después de que el moderador lo revise" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "Añadir un comentario" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "Comentario añadido: %s" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "No está registrado como un administrador" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "Aprobación de comentarios" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "aprobación de comentarios" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "Comentarios" @@ -359,7 +361,8 @@ msgstr "" #: ../IkiWiki/Plugin/google.pm:31 msgid "Failed to parse url, cannot determine domain name" -msgstr "Error en el análisis del URL, no puedo determinar el nombre del dominio" +msgstr "" +"Error en el análisis del URL, no puedo determinar el nombre del dominio" #: ../IkiWiki/Plugin/goto.pm:49 msgid "missing page" @@ -417,36 +420,31 @@ msgstr "no está permitida la modificación de páginas" msgid "missing pages parameter" msgstr "falta el parámetro pages" -#: ../IkiWiki/Plugin/inline.pm:198 -#, perl-format -msgid "cannot match pages: %s" -msgstr "no encuentro páginas coincidentes: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" "Se necesita el módulo Sort::Naturally para el tipo de ordenación " "title_natural" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "no conozco este tipo de ordenación %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "Añadir una entrada nueva titulada:" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "la plantilla %s no existe " -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Comentarios" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna" @@ -461,7 +459,8 @@ msgstr "La página %s está bloqueada y no puede modificarse" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" +msgstr "" +"el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format @@ -506,7 +505,7 @@ msgstr "Identificarse mediante " msgid "Get an OpenID" msgstr "Consiga un identificador OpenID" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Todas las páginas están referenciadas entre sí." @@ -883,7 +882,8 @@ msgid "plugins" msgstr "complementos" #: ../IkiWiki/Plugin/websetup.pm:395 -msgid "The configuration changes shown below require a wiki rebuild to take effect." +msgid "" +"The configuration changes shown below require a wiki rebuild to take effect." msgstr "" "Los cambios en la configuración que se muestran más abajo precisan una " "reconstrucción del wiki para tener efecto." @@ -899,7 +899,9 @@ msgstr "" #: ../IkiWiki/Plugin/websetup.pm:436 #, perl-format msgid "Error: %s exited nonzero (%s). Discarding setup changes." -msgstr "Error: el programa %s finaliza con un código mayor que cero (%s). Descarto los cambios en la configuración." +msgstr "" +"Error: el programa %s finaliza con un código mayor que cero (%s). Descarto " +"los cambios en la configuración." #: ../IkiWiki/Receive.pm:35 #, perl-format @@ -999,7 +1001,8 @@ msgstr "el programa %s no parece ser ejecutable" #: ../IkiWiki/Wrapper.pm:20 msgid "cannot create a wrapper that uses a setup file" -msgstr "no puedo crear un programa envoltorio que utiliza un archivo de configuración" +msgstr "" +"no puedo crear un programa envoltorio que utiliza un archivo de configuración" #: ../IkiWiki/Wrapper.pm:24 msgid "wrapper filename not specified" @@ -1067,6 +1070,11 @@ msgstr "" msgid "yes" msgstr "si" +#: ../IkiWiki.pm:1860 +#, perl-format +msgid "cannot match pages: %s" +msgstr "no encuentro páginas coincidentes: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "¿ Qué nombre tendrá el wiki ?" @@ -1088,4 +1096,3 @@ msgstr "" #: ../auto.setup:23 msgid "What is the domain name of the web server?" msgstr "¿ Cuál es el dominio para el servidor web ?" - diff --git a/po/fr.po b/po/fr.po index 8845f5068..065a01f2b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 3.04\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2009-03-15 16:10+0100\n" "Last-Translator: Philippe Batailler \n" "Language-Team: French \n" @@ -189,18 +189,18 @@ msgstr "" "blogspam.net/\">blogspam: " #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "Discussion" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "%s sur %s" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "Aucun lien cassé !" @@ -217,55 +217,55 @@ msgstr "Un commentaire doit avoir un contenu." msgid "Anonymous" msgstr "Anonyme" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "Nom de page incorrect" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, perl-format msgid "commenting on %s" msgstr "Faire un commentaire sur %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "La page '%s' n'existe pas, commentaire impossible." -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "Le commentaire pour la page '%s' est terminé." -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "Le commentaire a été enregistré en attente de modération" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "Votre commentaire sera publié après que le modérateur l'ait vérifié" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "Commentaire ajouté" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "Commentaire ajouté : %s" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "Vous n'êtes pas authentifié comme administrateur" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "Modération du commentaire" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "modération du commentaire" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "Commentaires" @@ -412,34 +412,29 @@ msgstr "Modification de page interdite" msgid "missing pages parameter" msgstr "Paramètre « pages » manquant" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "Lecture impossible de %s : %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "Type de tri %s inconnu" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "Ajouter un nouvel article dont le titre est :" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "Le modèle de page %s n'existe pas" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Discussion" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client introuvable, pas de réponse au ping" @@ -499,7 +494,7 @@ msgstr "S'identifier en tant que" msgid "Get an OpenID" msgstr "Obtenir un compte OpenID" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Toutes les pages sont liées à d'autres pages." @@ -1061,6 +1056,11 @@ msgstr "Une boucle de pré traitement a été détectée sur %s à hauteur de %i msgid "yes" msgstr "oui" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "Lecture impossible de %s : %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "Nom du wiki :" diff --git a/po/gu.po b/po/gu.po index a1bda2a15..e33287228 100644 --- a/po/gu.po +++ b/po/gu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki-gu\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2007-01-11 16:05+0530\n" "Last-Translator: Kartik Mistry \n" "Language-Team: Gujarati \n" @@ -186,18 +186,18 @@ msgid "" msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "ચર્ચા" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "અહીં કોઇ તૂટેલ કડી નથી!" @@ -214,55 +214,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, fuzzy, perl-format msgid "commenting on %s" msgstr "%s બનાવે છે" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "" @@ -414,34 +414,29 @@ msgstr "ફીડ મળ્યું નહી" msgid "missing pages parameter" msgstr "ખોવાયેલ %s વિકલ્પ" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "વાંચી શકાતી નથી %s: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "અજાણ્યો ગોઠવણી પ્રકાર %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "આ શિર્ષકથી નવું પોસ્ટ ઉમેરો:" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "અસ્તિત્વમાં ન હોય તેવું ટેમ્પલેટ %s" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "ચર્ચા" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client મળ્યું નહી, પિંગ કરવામાં આવતું નથી" @@ -501,7 +496,7 @@ msgstr "" msgid "Get an OpenID" msgstr "ઓપનઆઇડી મેળવો" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "બધા પાનાંઓ બીજા પાનાંઓ વડે જોડાયેલ છે." @@ -1053,6 +1048,11 @@ msgstr "%s પર શોધાયેલ લુપ %s પર ચલાવે છ msgid "yes" msgstr "" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "વાંચી શકાતી નથી %s: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "" diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 254bf83be..5fccea2c6 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: 2009-04-23 14:43-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -184,18 +184,18 @@ msgid "" msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "" @@ -212,55 +212,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:336 +#: ../IkiWiki/Plugin/comments.pm:338 #, perl-format msgid "commenting on %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:354 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:361 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:455 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:457 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:470 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:474 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:516 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:567 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:606 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:757 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "" @@ -405,34 +405,29 @@ msgstr "" msgid "missing pages parameter" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:198 -#, perl-format -msgid "cannot match pages: %s" -msgstr "" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "" @@ -490,7 +485,7 @@ msgstr "" msgid "Get an OpenID" msgstr "" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "" @@ -1036,6 +1031,11 @@ msgstr "" msgid "yes" msgstr "" +#: ../IkiWiki.pm:1860 +#, perl-format +msgid "cannot match pages: %s" +msgstr "" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "" diff --git a/po/pl.po b/po/pl.po index fc9313364..534aaa7ff 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki 1.51\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2007-04-27 22:05+0200\n" "Last-Translator: Pawel Tecza \n" "Language-Team: Debian L10n Polish \n" @@ -190,18 +190,18 @@ msgid "" msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "dyskusja" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "Wszystkie odnośniki są aktualne!" @@ -218,55 +218,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, fuzzy, perl-format msgid "commenting on %s" msgstr "tworzenie %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "" @@ -421,34 +421,29 @@ msgstr "nieznaleziony kanał RSS" msgid "missing pages parameter" msgstr "brakujący parametr %s" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "awaria w trakcie odczytu %s: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "nieznany sposób sortowania %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "Tytuł nowego wpisu" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "brakujący szablon %s" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Dyskusja" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "Nieznaleziony moduł RPC::XML::Client, brak możliwości pingowania" @@ -514,7 +509,7 @@ msgstr "" msgid "Get an OpenID" msgstr "Pobierz OpenID" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Dla każdej strony istnieje odnośnik z innej strony" @@ -1079,6 +1074,11 @@ msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i" msgid "yes" msgstr "" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "awaria w trakcie odczytu %s: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "" diff --git a/po/sv.po b/po/sv.po index fc7af3830..f50800ff0 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2007-01-10 23:47+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -187,18 +187,18 @@ msgid "" msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "diskussion" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "Det finns inga trasiga länkar!" @@ -215,55 +215,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, fuzzy, perl-format msgid "commenting on %s" msgstr "skapar %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "" @@ -416,34 +416,29 @@ msgstr "mallen %s hittades inte" msgid "missing pages parameter" msgstr "mall saknar id-parameter" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "kan inte läsa %s: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "okänd sorteringstyp %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Diskussion" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "RPC::XML::Client hittades inte, pingar inte" @@ -507,7 +502,7 @@ msgstr "" msgid "Get an OpenID" msgstr "Skaffa ett OpenID" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Alla sidor länkas till av andra sidor." @@ -1066,6 +1061,11 @@ msgstr "%s förbehandlingsslinga detekterades på %s, djup %i" msgid "yes" msgstr "" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "kan inte läsa %s: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "" diff --git a/po/vi.po b/po/vi.po index 212acbe58..32cd4827d 100644 --- a/po/vi.po +++ b/po/vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ikiwiki\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-04-23 14:02-0400\n" +"POT-Creation-Date: 2009-05-06 12:58-0400\n" "PO-Revision-Date: 2007-01-13 15:31+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -188,18 +188,18 @@ msgid "" msgstr "" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:233 -#: ../IkiWiki/Plugin/inline.pm:368 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:357 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" msgstr "thảo luận" -#: ../IkiWiki/Plugin/brokenlinks.pm:49 +#: ../IkiWiki/Plugin/brokenlinks.pm:48 #, perl-format msgid "%s from %s" msgstr "" -#: ../IkiWiki/Plugin/brokenlinks.pm:56 +#: ../IkiWiki/Plugin/brokenlinks.pm:55 msgid "There are no broken links!" msgstr "Không có liên kết bị ngắt nào." @@ -216,55 +216,55 @@ msgstr "" msgid "Anonymous" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:326 ../IkiWiki/Plugin/editpage.pm:97 +#: ../IkiWiki/Plugin/comments.pm:333 ../IkiWiki/Plugin/editpage.pm:97 msgid "bad page name" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:331 +#: ../IkiWiki/Plugin/comments.pm:338 #, fuzzy, perl-format msgid "commenting on %s" msgstr "đang tạo %s" -#: ../IkiWiki/Plugin/comments.pm:349 +#: ../IkiWiki/Plugin/comments.pm:356 #, perl-format msgid "page '%s' doesn't exist, so you can't comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:356 +#: ../IkiWiki/Plugin/comments.pm:363 #, perl-format msgid "comments on page '%s' are closed" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:450 +#: ../IkiWiki/Plugin/comments.pm:457 msgid "comment stored for moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:452 +#: ../IkiWiki/Plugin/comments.pm:459 msgid "Your comment will be posted after moderator review" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:465 +#: ../IkiWiki/Plugin/comments.pm:472 msgid "Added a comment" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:469 +#: ../IkiWiki/Plugin/comments.pm:476 #, perl-format msgid "Added a comment: %s" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:511 ../IkiWiki/Plugin/websetup.pm:236 +#: ../IkiWiki/Plugin/comments.pm:518 ../IkiWiki/Plugin/websetup.pm:236 msgid "you are not logged in as an admin" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:562 +#: ../IkiWiki/Plugin/comments.pm:569 msgid "Comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:601 +#: ../IkiWiki/Plugin/comments.pm:608 msgid "comment moderation" msgstr "" -#: ../IkiWiki/Plugin/comments.pm:752 +#: ../IkiWiki/Plugin/comments.pm:759 msgid "Comments" msgstr "" @@ -419,34 +419,29 @@ msgstr "không tìm thấy mẫu %s" msgid "missing pages parameter" msgstr "mẫu thiếu tham số id" -#: ../IkiWiki/Plugin/inline.pm:198 -#, fuzzy, perl-format -msgid "cannot match pages: %s" -msgstr "không thể đọc %s: %s" - -#: ../IkiWiki/Plugin/inline.pm:207 +#: ../IkiWiki/Plugin/inline.pm:196 msgid "Sort::Naturally needed for title_natural sort" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:218 +#: ../IkiWiki/Plugin/inline.pm:207 #, perl-format msgid "unknown sort type %s" msgstr "kiểu sắp xếp không rõ %s" -#: ../IkiWiki/Plugin/inline.pm:321 +#: ../IkiWiki/Plugin/inline.pm:310 msgid "Add a new post titled:" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:341 +#: ../IkiWiki/Plugin/inline.pm:330 #, perl-format msgid "nonexistant template %s" msgstr "" -#: ../IkiWiki/Plugin/inline.pm:376 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:365 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Thảo luận" -#: ../IkiWiki/Plugin/inline.pm:607 +#: ../IkiWiki/Plugin/inline.pm:596 msgid "RPC::XML::Client not found, not pinging" msgstr "Không tìm thấy RPC::XML::Client nên không gửi gói tin ping" @@ -508,7 +503,7 @@ msgstr "" msgid "Get an OpenID" msgstr "Lấy OpenID" -#: ../IkiWiki/Plugin/orphans.pm:51 +#: ../IkiWiki/Plugin/orphans.pm:52 msgid "All pages are linked to by other pages." msgstr "Mọi trang được liên kết với trang khác." @@ -1067,6 +1062,11 @@ msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ msgid "yes" msgstr "" +#: ../IkiWiki.pm:1860 +#, fuzzy, perl-format +msgid "cannot match pages: %s" +msgstr "không thể đọc %s: %s" + #: ../auto.setup:16 msgid "What will the wiki be named?" msgstr "" From d83a7f52596b89dd43e49f156154f91ae1d5fb2a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 6 May 2009 13:16:29 -0400 Subject: [PATCH 084/206] remove old news pages --- doc/news/version_2.68.mdwn | 44 -------------------------------------- doc/news/version_2.69.mdwn | 24 --------------------- doc/news/version_2.70.mdwn | 3 --- doc/news/version_2.71.mdwn | 28 ------------------------ doc/news/version_2.72.mdwn | 9 -------- 5 files changed, 108 deletions(-) delete mode 100644 doc/news/version_2.68.mdwn delete mode 100644 doc/news/version_2.69.mdwn delete mode 100644 doc/news/version_2.70.mdwn delete mode 100644 doc/news/version_2.71.mdwn delete mode 100644 doc/news/version_2.72.mdwn diff --git a/doc/news/version_2.68.mdwn b/doc/news/version_2.68.mdwn deleted file mode 100644 index b7e625026..000000000 --- a/doc/news/version_2.68.mdwn +++ /dev/null @@ -1,44 +0,0 @@ -ikiwiki 2.68 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Add support for checking pushes from untrusted git committers. This can be - used to set up anonymous git pushes, and other similar things. - * format: New plugin, allows embedding differently formatted text inside a - page (ie, otl inside a mdwn page, or syntax highlighted code inside a - page). - * relativedate: New javascript-alicious plugin that makes all dates display - relative, in a very nice way, if I say so myself. - * Optimise the no-op post-commit hook, to speed up web edits by a fraction - of a second. - * git: Allow [[sha1\_commit]] to be used in the diffurl, to support cgit. - * shortcut: Fix display of shortcuts while previewing. - * Plugins that used to override displaytime should instead override - formattime. displaytime will call that, and may wrap markup around the - formatted time. - * Add an underlay for javascript, and add ikiwiki.js containing some utility - code. - * toggle: Stop embedding the full toggle code on each page using it, and - move it to toggle.js in the javascript underlay. - * recentchanges: Make feed links point back to anchors on the recentchanges - page. (JasonBlevins) - * Fix issue with utf-8 in wikiname breaking session cookies, by - entity-encoding the wikiname in the session cookie. - * Use the pure perl Data::Dumper when generating setup files to ensure that - utf-8 characters are written out as such, and not as the encoded perl - strings the C Data::Dumper produces. - * inline: Only the last feed link was put on the page, fix this to include - all feed links. So rss will be included along with atom, and pages with - multiple feeds will get links added for all feeds. - * tag: When tagpage is set, force the links created by tagging to point at - the toplevel tagpage, and not closer subpages. The html links already went - there, but internally the links were not recorded as absolute, which could - cause confusing backlinks etc. - * Add an inject function, that can be used by plugins that want to - replace one of ikiwiki's functions with their own version. - (This is a scary thing that grubs through the symbol table, and replaces - all exported occurances of a function with the injected version.) - * external: RPC functions can be injected to replace exported functions. - * Updated French translation. Closes: #[502694](http://bugs.debian.org/502694) - * Updated Spanish translation from the ever vigilant Victor Moral. - * Updated Danish translation from Jonas Smedegaard. Closes: #[503117](http://bugs.debian.org/503117) - * Preserve syslog setting when doing `ikiwiki -setup foo -dumpsetup bar` - * Several fixes to --render mode."""]] \ No newline at end of file diff --git a/doc/news/version_2.69.mdwn b/doc/news/version_2.69.mdwn deleted file mode 100644 index a277541fe..000000000 --- a/doc/news/version_2.69.mdwn +++ /dev/null @@ -1,24 +0,0 @@ -ikiwiki 2.69 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Avoid multiple ikiwiki cgi processes piling up, eating all memory, - and thrashing, by making the cgi wrapper wait on a cgilock. - If you had to set apache's MaxClients low to avoid ikiwiki thrashing your - server, you can now turn it up to a high value. - * Stop busy-waiting in lockwiki, as this could delay ikiwiki from waking up - for up to one second. The bailout code is no longer needed after above - change. - * Remove support for unused optional wait parameter from lockwiki. - * aggregate: Try to query XML::Feed for the base url when derelevatising - links. Since this needs the just released XML::Feed 0.3, as well - as a not yet released XML::RSS, it will fall back to the old method - if no xml:base info is available. - * meta: Plugin is now enabled by default since the basewiki uses it. - * txt: Do not encode quotes when filtering the txt, as that broke - later parsing of any directives on the page. - * Fix the link() pagespec to match links that are internally recorded as - absolute. - * Add rel=nofollow to recentchanges\_links for the same (weak) reasons it - was earlier added to edit links. - * tag: Normalize tagbase so leading/trailing slashes in it don't break - things. - * bzr: Fix dates for recentchanges."""]] \ No newline at end of file diff --git a/doc/news/version_2.70.mdwn b/doc/news/version_2.70.mdwn deleted file mode 100644 index f0830efa1..000000000 --- a/doc/news/version_2.70.mdwn +++ /dev/null @@ -1,3 +0,0 @@ -ikiwiki 2.70 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Avoid crash on malformed utf-8 discovered by intrigeri."""]] \ No newline at end of file diff --git a/doc/news/version_2.71.mdwn b/doc/news/version_2.71.mdwn deleted file mode 100644 index 2c8609988..000000000 --- a/doc/news/version_2.71.mdwn +++ /dev/null @@ -1,28 +0,0 @@ -ikiwiki 2.71 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * comments: Blog-style comment support, contributed by Simon McVittie. - * htmlbalance: New plugin contributed by Simon McVittie. - * Change deb dependencies to list Text::Markdown before markdown (really - this time). - * Improve escaping of wikilinks and preprocessor directives in content - produced by aggregate and recentchanges. - * French translation update from Philippe Batailler. Closes: #[506250](http://bugs.debian.org/506250) - * Spanish translation update from Victor Moral. - * Fix handling of wrappergroup option. - * Correct --dumpsetup to include the srcdir in the setup file. - * German translation update from Kai Wasserbäch. Closes: #[507056](http://bugs.debian.org/507056) - * inline: Support emptyfeeds=no option to skip generating empty feeds. - * inline: Support feedfile option to change the filename of the feed - generated. - * meta: Pass info to htmlscrubber so htmlscrubber\_skip can take effect. - * htmlbalance: don't compact whitespace, and set misc other options (smcv) - * rename: Fix double-escaping of page name in edit box. - * monotone: When getting the log, tell monotone how many entries - we want, rather than closing the pipe, which it dislikes. (thm) - * Coding style change: Remove explcit vim folding markers. - * aggregate: If a feed fails to be downloaded, try again immediatly - next time aggregation is run, even if the usual time has not passed. - Closes: #[508622](http://bugs.debian.org/508622) (Michael Gold) - * meta: Process meta date during scan pass so that the date will always - affect sorting in inlines. - * Improve display of some openids (smcv)"""]] \ No newline at end of file diff --git a/doc/news/version_2.72.mdwn b/doc/news/version_2.72.mdwn deleted file mode 100644 index 26274a3c8..000000000 --- a/doc/news/version_2.72.mdwn +++ /dev/null @@ -1,9 +0,0 @@ -ikiwiki 2.72 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Avoid comments in recentchanges being broken links (smcv) - * Add deprecation warning for GlobLists, which will stop working in 3.0. - * camelcase: Add camelcase\_ignore setting. - * googlecalendar: Add runtime deprecation warning. - * comments: Deal with users entering unqualified or partial urls. - * inline: Run format hook first, to ensure other format hooks can affect - inlined content. Closes: #[509710](http://bugs.debian.org/509710)"""]] \ No newline at end of file From fdfaa1b515b68573d4adfaf358284ec77fbff24a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 6 May 2009 13:17:01 -0400 Subject: [PATCH 085/206] add NEWS --- doc/news/version_3.11.mdwn | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/news/version_3.11.mdwn b/doc/news/version_3.11.mdwn index 9cef6f671..2ef1b8c12 100644 --- a/doc/news/version_3.11.mdwn +++ b/doc/news/version_3.11.mdwn @@ -1,3 +1,8 @@ +You may want to run `ikiwiki-transition deduplinks /path/to/srcdir` +after upgrading to this version of ikiwiki. This command will +optimise your wiki's saved state, removing duplicate information +that can slow ikiwiki down. + ikiwiki 3.11 released with [[!toggle text="these changes"]] [[!toggleable text=""" * Avoid using python-support. Closes: #[525086](http://bugs.debian.org/525086) @@ -20,4 +25,4 @@ ikiwiki 3.11 released with [[!toggle text="these changes"]] if they wish to, if the configuration makes signin optional for commenting. * Updated Danish translation from Jonas Smedegaard. Closes: #[525751](http://bugs.debian.org/525751) - * translation.mdwn: Typo fixes. Closes: #[525753](http://bugs.debian.org/525753)"""]] \ No newline at end of file + * translation.mdwn: Typo fixes. Closes: #[525753](http://bugs.debian.org/525753)"""]] From 9f5f5543bf74362cacaa7eec10d9116b41b8179d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 6 May 2009 20:46:26 -0400 Subject: [PATCH 086/206] ikiwiki-transition: If passed a nonexistant srcdir, or one not containing .ikiwiki, abort with an error rather than creating it. --- debian/changelog | 7 +++++++ ikiwiki-transition | 36 +++++++++++++++++++++--------------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/debian/changelog b/debian/changelog index d4fe91b88..36f4c16fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +ikiwiki (3.13) UNRELEASED; urgency=low + + * ikiwiki-transition: If passed a nonexistant srcdir, or one not + containing .ikiwiki, abort with an error rather than creating it. + + -- Joey Hess Wed, 06 May 2009 20:45:44 -0400 + ikiwiki (3.12) unstable; urgency=low * Re-enable python-support and add python:Depends to control file. diff --git a/ikiwiki-transition b/ikiwiki-transition index f17868d73..ce1807309 100755 --- a/ikiwiki-transition +++ b/ikiwiki-transition @@ -73,11 +73,7 @@ sub prefix_directives { } sub indexdb { - my $dir=shift; - if (! defined $dir) { - usage(); - } - $config{wikistatedir}=$dir."/.ikiwiki"; + setstatedir(shift); # Note: No lockwiki here because ikiwiki already locks it # before calling this. @@ -96,11 +92,7 @@ sub indexdb { } sub hashpassword { - my $dir=shift; - if (! defined $dir) { - usage(); - } - $config{wikistatedir}=$dir."/.ikiwiki"; + setstatedir(shift); eval q{use IkiWiki::UserInfo}; eval q{use Authen::Passphrase::BlowfishCrypt}; @@ -221,11 +213,7 @@ sub moveprefs { } sub deduplinks { - my $dir=shift; - if (! defined $dir) { - usage(); - } - $config{wikistatedir}=$dir."/.ikiwiki"; + setstatdir(shift); IkiWiki::loadindex(); foreach my $page (keys %links) { my %l; @@ -235,6 +223,24 @@ sub deduplinks { IkiWiki::saveindex(); } +sub setstatedir { + my $dir=shift; + + if (! defined $dir) { + usage(); + } + + if (! -d $dir) { + error("ikiwiki-transition: $dir does not exist"); + } + + $config{wikistatedir}=$dir."/.ikiwiki"; + + if (! -d $config{wikistatedir}) { + error("ikiwiki-transition: $config{wikistatedir} does not exist"); + } +} + sub usage { print STDERR "Usage: ikiwiki-transition type ...\n"; print STDERR "Currently supported transition subcommands:\n"; From 4291f2e3d7d1eb160427764e622d247145652e81 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 7 May 2009 14:02:52 -0400 Subject: [PATCH 087/206] Allow underlaydir to be overridden without messing up inclusion of other underlays via add_underlay. --- IkiWiki.pm | 9 ++++++++- debian/changelog | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index e6efe1889..6233d2ead 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -157,6 +157,13 @@ sub getsetup () { safe => 0, # path rebuild => 0, }, + underlaydirbase => { + type => "internal", + default => "$installdir/share/ikiwiki", + description => "parent directory containing additional underlays", + safe => 0, + rebuild => 0, + }, wrappers => { type => "internal", default => [], @@ -715,7 +722,7 @@ sub add_underlay ($) { my $dir=shift; if ($dir !~ /^\//) { - $dir="$config{underlaydir}/../$dir"; + $dir="$config{underlaydirbase}/$dir"; } if (! grep { $_ eq $dir } @{$config{underlaydirs}}) { diff --git a/debian/changelog b/debian/changelog index 36f4c16fd..d8c67b5a6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ ikiwiki (3.13) UNRELEASED; urgency=low * ikiwiki-transition: If passed a nonexistant srcdir, or one not containing .ikiwiki, abort with an error rather than creating it. + * Allow underlaydir to be overridden without messing up inclusion + of other underlays via add_underlay. -- Joey Hess Wed, 06 May 2009 20:45:44 -0400 From 6a7a279b18b0dc5ba13c0d89973ee16e36d15a45 Mon Sep 17 00:00:00 2001 From: mgpfxfgaqo Date: Fri, 8 May 2009 13:43:07 -0400 Subject: [PATCH 088/206] edit form: no fixed size for textarea --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn diff --git a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn new file mode 100644 index 000000000..ae03021b1 --- /dev/null +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -0,0 +1,3 @@ +At the moment the text area in the edit form has a fixed size of 20 rows. + +On longer pages its not very comfortable to edit pages with such a small box. The whole screen size should be used instead([example](http://img3.imagebanana.com/img/bl10u9mb/editingtodo_1241804460828.png)). From 6d0498658a01dc9cec6cc243ee0de98ff980b60a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 8 May 2009 15:30:35 -0400 Subject: [PATCH 089/206] response --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 ae03021b1..ccacebdb5 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -1,3 +1,13 @@ At the moment the text area in the edit form has a fixed size of 20 rows. On longer pages its not very comfortable to edit pages with such a small box. The whole screen size should be used instead([example](http://img3.imagebanana.com/img/bl10u9mb/editingtodo_1241804460828.png)). + +> The whole screen width is used, via the following +> from style.css: +> +> { +> width: 100%; +> } +> +> Perhaps you have replaced it with a modified style sheet that does not +> include that? --[[Joey]] [[!tag done]] From e17f925cf40a1032fbee6fbe5df711af1645da39 Mon Sep 17 00:00:00 2001 From: tschwinge Date: Fri, 8 May 2009 16:20:59 -0400 Subject: [PATCH 090/206] Usage information. --- ..._42__copyright__42___and___42__license__42__.mdwn | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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 adb414ffb..5e3db3d7c 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 @@ -6,8 +6,11 @@ Someone was just asking for it and I had written these two plugins already some months ago, so I'm now publishing them here. - - +[`copyright.pm`](http://www.schwinge.homeip.net/~thomas/tmp/copyright.pm) +and +[`license.pm`](http://www.schwinge.homeip.net/~thomas/tmp/license.pm) + +Usage instructions are found inside the two plugin files. --[[tschwinge]] @@ -28,6 +31,11 @@ those plugins with a current ikiwiki release, i.e. 2.61, but they appeared to do nothing, really. Also, those example pages don't seem to use those plugins, even; they set "copyright" and "license" properties using ordinary [[meta]] tags. Maybe I'm missing something terribly obvious? --Peter + > Only obvious if you read the source :-). You need to put a file named "copyright.html" >(respectively "license.html") in your wiki. Everything underneath that (in the wikilink sense) will use that >content for the license or copyright. Saves putting \[[meta license="foo"]] in every page [[DavidBremner]] + +By the way: these need not be *HTML* files; `copyright.mdwn`, +respectively `license.mdwn`, or every other format supported +by ikiwiki are likewise fine. --[[tschwinge]] From 6dd8812344bb1dc1c16b85cb8a4975d94bb0f988 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 8 May 2009 22:30:36 +0200 Subject: [PATCH 091/206] The GNU Hurd pages have long been converted to ikiwiki. --- doc/ikiwikiusers.mdwn | 1 + doc/users/tschwinge.mdwn | 16 +++++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index a5a7a628d..76ecff920 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -45,6 +45,7 @@ Projects & Organizations * [Pigro Network](http://www.pigro.net) is running a hg based ikiwiki. (And provides ikiwiki hosting for $10/m.) * [Cosin Homepage](http://cosin.ch) uses an Ikiwiki with a subversion repository. * [Bosco Free Orienteering Software](http://bosco.durcheinandertal.ch) +* The [GNU Hurd](http://www.gnu.org/software/hurd/)'s web pages Personal sites and blogs ======================== diff --git a/doc/users/tschwinge.mdwn b/doc/users/tschwinge.mdwn index 4d2204f8a..bb5cef6a6 100644 --- a/doc/users/tschwinge.mdwn +++ b/doc/users/tschwinge.mdwn @@ -4,14 +4,8 @@ - -With respect to *[[ikiwiki]]* I'm currently working on... - -* setting it up for the [GNU Hurd's web pages](http://www.gnu.org/software/hurd/); -* setting it up as a replacement for the GNU Hurd's previous wiki (TWiki): ; - -... and all that while trying to preserve the previous content's history, -which is stored in a CVS repository for the web pages and a RCS repository -for the wiki. - -Read [About the TWiki to ikiwiki conversion](http://www.bddebian.com/~wiki/about_the_twiki_to_ikiwiki_conversion/). +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 +preserving the previous content's history, which was stored in a CVS repository +for the HTML web pages and a TWiki RCS repository for the wiki; see +. From 7402dc48b77ddc7f36d8dada53bc5dead70e09c9 Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 9 May 2009 15:21:30 -0400 Subject: [PATCH 092/206] --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index d17008fe1..effce6c60 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -33,3 +33,8 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >>> Sounds like [[!debbug 380212]]? >>> If so, the fix is to use Text::Markdown, or markdown 1.0.2 instead of buggy >>> old markdown 1.0.1. --[[Joey]] + +>> `ii libtext-markdown-perl 1.0.21-1 Markdown and MultiMarkdown markup languages library` +>> +>> I'm using `Text::Markdown` due to its "multi-markdown" support. +>> Maybe update it from CPAN + dh-make-perl (if there's a new one, that is) From 866dbb314352f10edabbd977de48729cf23123cb Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 9 May 2009 15:38:53 -0400 Subject: [PATCH 093/206] --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index effce6c60..5170c775e 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -36,5 +36,6 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >> `ii libtext-markdown-perl 1.0.21-1 Markdown and MultiMarkdown markup languages library` >> ->> I'm using `Text::Markdown` due to its "multi-markdown" support. ->> Maybe update it from CPAN + dh-make-perl (if there's a new one, that is) +>> I'm using `Text::Markdown` due to its "multi-markdown" support. Yes, it does seem exactly like [[!debbug 380212]] . +>> Maybe update it from CPAN + dh-make-perl (if there's a new one, that is) --[[simonraven]] +>> I've just built and installed `libtext-markdown-perl 1.0.21-1` from dh-make-perl & CPAN, and regenerated that page.. let's see what happens... From 13ea4d6b45860190875db6f79db63fc06ba4972c Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 9 May 2009 15:47:17 -0400 Subject: [PATCH 094/206] --- doc/tips/add_chatterbox_to_blog/discussion.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/tips/add_chatterbox_to_blog/discussion.mdwn b/doc/tips/add_chatterbox_to_blog/discussion.mdwn index 5170c775e..a3d686409 100644 --- a/doc/tips/add_chatterbox_to_blog/discussion.mdwn +++ b/doc/tips/add_chatterbox_to_blog/discussion.mdwn @@ -38,4 +38,6 @@ On the [[/ikiwiki/pagespec]] page, it says "internal" pages aren't "first-class" >> >> I'm using `Text::Markdown` due to its "multi-markdown" support. Yes, it does seem exactly like [[!debbug 380212]] . >> Maybe update it from CPAN + dh-make-perl (if there's a new one, that is) --[[simonraven]] ->> I've just built and installed `libtext-markdown-perl 1.0.21-1` from dh-make-perl & CPAN, and regenerated that page.. let's see what happens... +>> I've just built and installed `libtext-markdown-perl 1.0.21-1` from dh-make-perl & CPAN, and regenerated that page.. let's see what happens... no hashes, but nothing else either: +>> +>> "kijkaqawej: last checked 10 minutes ago (25 posts)" -- inside of a box, no display of posts. From 929ac1361d0b34324fa5c44cbedc111ef9ed0e61 Mon Sep 17 00:00:00 2001 From: mgpfxfgaqo Date: Sun, 10 May 2009 17:03:42 -0400 Subject: [PATCH 095/206] problem is the height --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 2 ++ 1 file changed, 2 insertions(+) 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 ccacebdb5..2adef079d 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -11,3 +11,5 @@ On longer pages its not very comfortable to edit pages with such a small box. Th > > Perhaps you have replaced it with a modified style sheet that does not > include that? --[[Joey]] [[!tag done]] + +>> The screen shot was made with http://ikiwiki.info/ where i didn't change anything. The width is optimally used. The problem is the height. From 359d6234d9ce811bd2f5ff4ae662d66e9b93bd98 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Mon, 11 May 2009 02:30:16 -0400 Subject: [PATCH 096/206] --- ...rap_HTML_container_around_a_set_of_inlined_pages.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/bugs/no_easy_way_to_wrap_HTML_container_around_a_set_of_inlined_pages.mdwn diff --git a/doc/bugs/no_easy_way_to_wrap_HTML_container_around_a_set_of_inlined_pages.mdwn b/doc/bugs/no_easy_way_to_wrap_HTML_container_around_a_set_of_inlined_pages.mdwn new file mode 100644 index 000000000..85c2d0c6c --- /dev/null +++ b/doc/bugs/no_easy_way_to_wrap_HTML_container_around_a_set_of_inlined_pages.mdwn @@ -0,0 +1,9 @@ +The [[ikiwiki/directive/inline]] directive applies a template to each page-to-be-inlined, but the loop over the pages is in the Perl, not the template itself. This means if I want to wrap a container `

` or a `` or whatever around the entire set of inlined pages, I can't do it by just editing the template. In fact, I think the only way to do it without hacking any Perl is with a wrapper template directive, e.g. + + \[[!template id="wrapinline" pages="..."]] + +with a template definition like + +
\[[!inline ... pages=""]]
+ +It would be much more convenient if the loop over pages happened in the template, allowing me to just stick whatever markup I want around the loop. From 691c0a1af914ff9b49aa11cd9432146073e268c1 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Tue, 12 May 2009 01:36:06 -0400 Subject: [PATCH 097/206] --- ...t_preview_resolves_links_differently_from_commit.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn index c83086951..eea909578 100644 --- a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn +++ b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn @@ -8,3 +8,12 @@ a bug. --liw > discussion link and on preview it went to the page's discussion page. I > don't normally have a toplevel /discussion page, but I also tried adding > one, and the link still doesn't link to it. Testcase? --[[Joey]] + +>> I can reproduce this on : +>> if I edit the page, then preview (no changes made), the "discussion" link at the bottom +>> of the page points in the preview +>> to , +>> whereas the saved page has it pointing to +>> . +>> I'll arrange so that you can edit the page to test this. +>> --liw From 513502b3b18699e3ffac7950e619119d5e169a33 Mon Sep 17 00:00:00 2001 From: "http://ptecza.myopenid.com/" Date: Tue, 12 May 2009 07:17:18 -0400 Subject: [PATCH 098/206] * Ikiwiki 3.12 --- doc/news/discussion.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/news/discussion.mdwn b/doc/news/discussion.mdwn index c3674a92d..351e39c62 100644 --- a/doc/news/discussion.mdwn +++ b/doc/news/discussion.mdwn @@ -1,3 +1,12 @@ +## Ikiwiki 3.12 + +Joey, what about news for Ikiwiki 3.12? The changelog says is has been released +6 days ago... :) --[[Paweł|ptecza]] + +--- + +## Ikiwiki 2.14 + Hi Joey! Where can I find the source package for ikiwiki 2.14? I rather prefer `wget` than `git` to download it :) I've just checked [Debian page of ikiwiki source package](http://packages.debian.org/unstable/source/ikiwiki) From 72e074d8958e36b4859f28f0996bed42c71d9cb0 Mon Sep 17 00:00:00 2001 From: PaulePanter Date: Tue, 12 May 2009 10:13:07 -0400 Subject: [PATCH 099/206] question or bug regarding toggle and list item --- doc/plugins/toggle/discussion.mdwn | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/doc/plugins/toggle/discussion.mdwn b/doc/plugins/toggle/discussion.mdwn index 5426a62fc..ac22e7eb6 100644 --- a/doc/plugins/toggle/discussion.mdwn +++ b/doc/plugins/toggle/discussion.mdwn @@ -15,3 +15,29 @@ but no success. How can I do it? ## [[bugs/Bug_when_toggling_in_a_preview_page]] + +---- + +## Using toggle directives in a list item## +Take this code snippet. + + * [[!toggle id="test" text="test"]] + [[!toggleable id="test text="""toggle"""]] + +In the HTML-output the `ul` and `div` overlap. + +
+ + +

toggle

+ +
+ + + +Fixing this manually the Javascript seems not to be working and `toggle` is shown unconditionally. + +I do not know if this is due to [[shortcomming with nested preprocessor directives|todo/nested_preprocessor_directives]] you mentioned in the beginning of this page. Maybe a note could be added to the main page of the plugin. --Paul From 9a5b1c0f32caeea9aae589923f8abe311b3f7438 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 12 May 2009 13:30:44 -0400 Subject: [PATCH 100/206] add news item for ikiwiki 3.13 --- doc/news/version_3.13.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 doc/news/version_3.13.mdwn diff --git a/doc/news/version_3.13.mdwn b/doc/news/version_3.13.mdwn new file mode 100644 index 000000000..fad417faa --- /dev/null +++ b/doc/news/version_3.13.mdwn @@ -0,0 +1,6 @@ +ikiwiki 3.13 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * ikiwiki-transition: If passed a nonexistant srcdir, or one not + containing .ikiwiki, abort with an error rather than creating it. + * Allow underlaydir to be overridden without messing up inclusion + of other underlays via add\_underlay."""]] \ No newline at end of file From 6d95b447f249b327011bd04700b355705db02d75 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 12 May 2009 13:31:58 -0400 Subject: [PATCH 101/206] remove, wrong version --- doc/news/version_3.13.mdwn | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 doc/news/version_3.13.mdwn diff --git a/doc/news/version_3.13.mdwn b/doc/news/version_3.13.mdwn deleted file mode 100644 index fad417faa..000000000 --- a/doc/news/version_3.13.mdwn +++ /dev/null @@ -1,6 +0,0 @@ -ikiwiki 3.13 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * ikiwiki-transition: If passed a nonexistant srcdir, or one not - containing .ikiwiki, abort with an error rather than creating it. - * Allow underlaydir to be overridden without messing up inclusion - of other underlays via add\_underlay."""]] \ No newline at end of file From 8308ee4f422e7d5d231b5f83a8d82a54f782692a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 12 May 2009 13:33:57 -0400 Subject: [PATCH 102/206] add missing new file --- doc/news/version_3.12.mdwn | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 doc/news/version_3.12.mdwn diff --git a/doc/news/version_3.12.mdwn b/doc/news/version_3.12.mdwn new file mode 100644 index 000000000..722316233 --- /dev/null +++ b/doc/news/version_3.12.mdwn @@ -0,0 +1,19 @@ +You may want to run `ikiwiki-transition deduplinks /path/to/srcdir` +after upgrading to this version of ikiwiki. This command will +optimise your wiki's saved state, removing duplicate information +that can slow ikiwiki down. + +ikiwiki 3.12 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Re-enable python-support and add python:Depends to control file. + * ikiwiki-makerepo: Avoid using abs_path, as it apparently + fails on nonexistant directories with some broken perl + versions. + * inline: Minor optimisation. + * add_link: New function, which plugins should use rather than + modifying %links directly, to avoid it accumulating duplicates. + * ikiwiki-transition: Add a deduplinks action, that can be used + to remove duplicate links and optimise a wiki w/o rebuilding it. + * external: Fix pagespec_match and pagespec_match_list. + Closes: #527281 +"""]] From 83961e4668bc62d8d19dd5dfa17437b64d940998 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 12 May 2009 14:15:34 -0400 Subject: [PATCH 103/206] response --- doc/news/version_3.11.mdwn | 5 ----- .../edit_form:_no_fixed_size_for_textarea.mdwn | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/doc/news/version_3.11.mdwn b/doc/news/version_3.11.mdwn index 2ef1b8c12..2d1dc7063 100644 --- a/doc/news/version_3.11.mdwn +++ b/doc/news/version_3.11.mdwn @@ -1,8 +1,3 @@ -You may want to run `ikiwiki-transition deduplinks /path/to/srcdir` -after upgrading to this version of ikiwiki. This command will -optimise your wiki's saved state, removing duplicate information -that can slow ikiwiki down. - ikiwiki 3.11 released with [[!toggle text="these changes"]] [[!toggleable text=""" * Avoid using python-support. Closes: #[525086](http://bugs.debian.org/525086) 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 2adef079d..526523dcd 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -13,3 +13,20 @@ On longer pages its not very comfortable to edit pages with such a small box. Th > include that? --[[Joey]] [[!tag done]] >> The screen shot was made with http://ikiwiki.info/ where i didn't change anything. The width is optimally used. The problem is the height. + +>>> You confused me by talking about rows... +>>> I don't know how to allow CSS to resize a textarea +>>> to the full browser height. The obvious `height: 75%;` +>>> does not work, at least in firefox and epiphany. +>>> +>>> Ah, of course, if it did work, it'd make it be 75% of +>>> the full *page* height, and not the browser window height. +>>> +>>> According to +>>> [this page](http://stackoverflow.com/questions/632983/css-height-if-textarea-as-a-percentage-of-the-viewport-height): +>>>>>50% of what? Parent says ‘auto’, which means base it on the height of the child content. Which depends on the height on the parent. Argh! etc. +>>>>> +>>>>>So you have to give its parent a percentage height. And the parent's parent, all the way up to the root. +>>> So, other than a javascript-based resizer, some very tricky and invasive CSS +>>> seems to be needed. Please someone let me know if you succeed in doing that. +>>> --[[Joey]] From 191ec0561b4815021958de04871b0b49699254a6 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Wed, 13 May 2009 02:24:11 -0400 Subject: [PATCH 104/206] --- .../edit_preview_resolves_links_differently_from_commit.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn index eea909578..cb243babc 100644 --- a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn +++ b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn @@ -17,3 +17,7 @@ a bug. --liw >> . >> I'll arrange so that you can edit the page to test this. >> --liw + +>> Joey suggested my wiki might be missing the FORCEBASEURL snippet from the misc.tmpl +>> template, and he's right. Mea culpa: I had not diffed the various templates when upgrading +>> and had missed that updated. --liw From 815ed1edec3022749f71c33d05d1b07a662e72e4 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Wed, 13 May 2009 02:26:05 -0400 Subject: [PATCH 105/206] --- .../edit_preview_resolves_links_differently_from_commit.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn index cb243babc..320eca626 100644 --- a/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn +++ b/doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn @@ -20,4 +20,4 @@ a bug. --liw >> Joey suggested my wiki might be missing the FORCEBASEURL snippet from the misc.tmpl >> template, and he's right. Mea culpa: I had not diffed the various templates when upgrading ->> and had missed that updated. --liw +>> and had missed that updated. [[done]] --liw From f11d67ebd02ee8dfe8f47bc54c98f59e12be2cf2 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 19:44:27 -0400 Subject: [PATCH 106/206] Q&A: using a local wiki to preview changes: an srcdir needed? --- doc/rcs/git/discussion.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/rcs/git/discussion.mdwn b/doc/rcs/git/discussion.mdwn index e56978631..a8c1ad200 100644 --- a/doc/rcs/git/discussion.mdwn +++ b/doc/rcs/git/discussion.mdwn @@ -95,3 +95,8 @@ Does that mean that apache:apache should just own everything, and I should only > Ikiwiki is designed so that you don't have to worry about this kind of permissions issue. > Instead you can just configure the ikiwiki.cgi, in the setup file, to be suid to your > user. Then there's no need to let the web server's user modify files at all. --[[Joey]] + + +## using a local wiki to preview changes: an srcdir needed? +I have read the hints about using a local wiki to preview changes, but I haven't understood: is it assumed that I should also have a separate "srcdir" for this local preview-wiki (as it is done for the main wiki site), or I could point the local ikiwiki's "srcdir" to the working dir? Can something bad happen if I do this? I guess no, because--as I see it--the reason to have 2 repos for the main site was only enabling pushing to it, so it's a peculiarity of git, and not a requirement for a clean functioning of ikiwiki. +Ok, probably, I have answered my question myself, but I'll let this comment stay here, if someone else will be tinking about the same issue. --Ivan Z. From 0c52e5920879fff74c1ce1487470bf84b2df20cd Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 19:46:05 -0400 Subject: [PATCH 107/206] minor formatting --- doc/rcs/git/discussion.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/rcs/git/discussion.mdwn b/doc/rcs/git/discussion.mdwn index a8c1ad200..92f630fc7 100644 --- a/doc/rcs/git/discussion.mdwn +++ b/doc/rcs/git/discussion.mdwn @@ -99,4 +99,5 @@ Does that mean that apache:apache should just own everything, and I should only ## using a local wiki to preview changes: an srcdir needed? I have read the hints about using a local wiki to preview changes, but I haven't understood: is it assumed that I should also have a separate "srcdir" for this local preview-wiki (as it is done for the main wiki site), or I could point the local ikiwiki's "srcdir" to the working dir? Can something bad happen if I do this? I guess no, because--as I see it--the reason to have 2 repos for the main site was only enabling pushing to it, so it's a peculiarity of git, and not a requirement for a clean functioning of ikiwiki. + Ok, probably, I have answered my question myself, but I'll let this comment stay here, if someone else will be tinking about the same issue. --Ivan Z. From 19cb93507bf650f307cd7b8c26b0b02a0733ed26 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 21:51:55 -0400 Subject: [PATCH 108/206] tagging (to find this page easier when studying ikiwiki) --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 ab9263556..5d3f96c88 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 @@ -1,4 +1,6 @@ -It would be great if I could tell ikiwiki to automatically instantiate pages for each tag, according to a template, especially when `$tagbase` is set. +[[!tag tags]] + +It would be great if I could tell ikiwiki to automatically instantiate pages for each [[tag|directive/tag]], according to a template, especially when `$tagbase` is set. Tags are mainly specific to the object to which they’re stuck. However, I often use them the other way around, too: as concepts. And sometimes I’d like to see all pages related to a given concept (“tagged with a given tag”). The only way to do this with ikiwiki is to instantiate a page for each tag and slap a map on it. This is quite tedious and I’d really love to see Ikiwiki do so by default for all tags. @@ -10,7 +12,7 @@ I would love to see this as well. -- dato --- -I have create a patch to tag.pm for add the option for auto create tag pages. +I have create a patch to [[tag.pm|plugins/tag]] for add the option for auto create tag pages. A new setting is used to enable or disable auto-create tag pages, `tag_autocreate`. The new tag file is created during the preprocess phase. The new tag file is then complied during the change phase. From 21ae50ffeb619a09a53a436a3049f7b71fe0e507 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 21:54:37 -0400 Subject: [PATCH 109/206] tagging --- doc/todo/tags.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/todo/tags.mdwn b/doc/todo/tags.mdwn index 682acfa1f..7a7fdccde 100644 --- a/doc/todo/tags.mdwn +++ b/doc/todo/tags.mdwn @@ -1,4 +1,5 @@ -Stuff still needing to be done with tags: +[[!tag /tags]] +Stuff still needing to be done with [[tag|ikiwiki/directive/tag]]s: * It's unfortunate that the rss category (tag) support doesn't include a domain="" attribute in the category elements. That would let readers From d5a97dde270051c179acb27bae81f5459f684d33 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 21:57:25 -0400 Subject: [PATCH 110/206] better link targets --- doc/todo/tags.mdwn | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/todo/tags.mdwn b/doc/todo/tags.mdwn index 7a7fdccde..686f21341 100644 --- a/doc/todo/tags.mdwn +++ b/doc/todo/tags.mdwn @@ -1,5 +1,4 @@ -[[!tag /tags]] -Stuff still needing to be done with [[tag|ikiwiki/directive/tag]]s: +Stuff still needing to be done with [[tags]]: * It's unfortunate that the rss category (tag) support doesn't include a domain="" attribute in the category elements. That would let readers From 24857352b195db24b9a477d430f3fd58f0b20a1c Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 21:58:19 -0400 Subject: [PATCH 111/206] fix the prev.edit: only abs.path will work --- doc/todo/tags.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/tags.mdwn b/doc/todo/tags.mdwn index 686f21341..ee9151116 100644 --- a/doc/todo/tags.mdwn +++ b/doc/todo/tags.mdwn @@ -1,4 +1,4 @@ -Stuff still needing to be done with [[tags]]: +Stuff still needing to be done with [[/tags]]: * It's unfortunate that the rss category (tag) support doesn't include a domain="" attribute in the category elements. That would let readers From cb3cb16d9cfa8480051b03fdf61cb22b964afdbd Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Wed, 13 May 2009 22:00:16 -0400 Subject: [PATCH 112/206] better targets for link in the prev.edit --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 5d3f96c88..4e3bda54d 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 @@ -1,6 +1,4 @@ -[[!tag tags]] - -It would be great if I could tell ikiwiki to automatically instantiate pages for each [[tag|directive/tag]], according to a template, especially when `$tagbase` is set. +It would be great if I could tell ikiwiki to automatically instantiate pages for each [[tag|/tags]], according to a template, especially when `$tagbase` is set. Tags are mainly specific to the object to which they’re stuck. However, I often use them the other way around, too: as concepts. And sometimes I’d like to see all pages related to a given concept (“tagged with a given tag”). The only way to do this with ikiwiki is to instantiate a page for each tag and slap a map on it. This is quite tedious and I’d really love to see Ikiwiki do so by default for all tags. From e29d35f40198e47c0ecab1f4c2a2b60e107d8276 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Thu, 14 May 2009 06:30:08 -0400 Subject: [PATCH 113/206] Wikilinked a "term". --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4e3bda54d..30a217413 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 @@ -96,7 +96,7 @@ _tag.pm from version 3.01_ + -This uses a template called `autotagpage.tmpl`, here is my template file: +This uses a [[template|wikitemplates]] called `autotagpage.tmpl`, here is my template file: \[[!inline pages="link()" archive="yes"]] From d04a37be965d7525df88d916e18891bd445e1294 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Thu, 14 May 2009 06:38:42 -0400 Subject: [PATCH 114/206] Q: Place for local templates --- doc/wikitemplates/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 doc/wikitemplates/discussion.mdwn diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn new file mode 100644 index 000000000..64b376679 --- /dev/null +++ b/doc/wikitemplates/discussion.mdwn @@ -0,0 +1,2 @@ +## Place for local templates +Where does one put any locally modified templates for an individual ikiwiki? --Ivan Z. From b67bd17a0326d16d9e0962b0e98a2b5704f4bd73 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Thu, 14 May 2009 08:31:18 -0400 Subject: [PATCH 115/206] javascript rough approach --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 2 ++ 1 file changed, 2 insertions(+) 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 526523dcd..4ca07c633 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -30,3 +30,5 @@ On longer pages its not very comfortable to edit pages with such a small box. Th >>> So, other than a javascript-based resizer, some very tricky and invasive CSS >>> seems to be needed. Please someone let me know if you succeed in doing that. >>> --[[Joey]] + +>>>> the javascript approach would need to work something like this: you need to know about the "bottom-most" item on the edit page, and get a handle for that object in the DOM. You can then obtain the absolute position height-wise of this element and the absolute position of the bottom of the window to determine the pixel-difference. Then, you set the height of the textarea to (current height in px) + determined-value. This needs to be re-triggered on various resize events, at least for the window and probably for other elements too. I may have a stab at this at some point. -- [[Jon]] From facee6e83e0ed9e398179344a6a9c620c956e7f0 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Thu, 14 May 2009 08:34:23 -0400 Subject: [PATCH 116/206] quote depth --- doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4ca07c633..4c9c2352a 100644 --- a/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn +++ b/doc/todo/edit_form:_no_fixed_size_for_textarea.mdwn @@ -31,4 +31,4 @@ On longer pages its not very comfortable to edit pages with such a small box. Th >>> seems to be needed. Please someone let me know if you succeed in doing that. >>> --[[Joey]] ->>>> the javascript approach would need to work something like this: you need to know about the "bottom-most" item on the edit page, and get a handle for that object in the DOM. You can then obtain the absolute position height-wise of this element and the absolute position of the bottom of the window to determine the pixel-difference. Then, you set the height of the textarea to (current height in px) + determined-value. This needs to be re-triggered on various resize events, at least for the window and probably for other elements too. I may have a stab at this at some point. -- [[Jon]] +>>>>>> the javascript approach would need to work something like this: you need to know about the "bottom-most" item on the edit page, and get a handle for that object in the DOM. You can then obtain the absolute position height-wise of this element and the absolute position of the bottom of the window to determine the pixel-difference. Then, you set the height of the textarea to (current height in px) + determined-value. This needs to be re-triggered on various resize events, at least for the window and probably for other elements too. I may have a stab at this at some point. -- [[Jon]] From 4bafe93e32a8984139cafca95ba651bdfac493ef Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Thu, 14 May 2009 14:56:27 +0100 Subject: [PATCH 117/206] remove plugin and vcs rm failure reporting --- doc/bugs/remove_plugin_and_untracked_files.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 doc/bugs/remove_plugin_and_untracked_files.mdwn diff --git a/doc/bugs/remove_plugin_and_untracked_files.mdwn b/doc/bugs/remove_plugin_and_untracked_files.mdwn new file mode 100644 index 000000000..07408c3bc --- /dev/null +++ b/doc/bugs/remove_plugin_and_untracked_files.mdwn @@ -0,0 +1,6 @@ +The [[plugins/remove]] plugin does not report an error if git rm fails. (It +probably doesn't if other VCS backends fail too). This can happen for example +if a page in your source directory is not a tracked file for whatever reason +(in my case, due to renaming the files and forgetting to commit that change). + + -- [[Jon]] From 8e7b0113847eb0975fa5dc13e9654a52ea0494d1 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Thu, 14 May 2009 11:06:49 -0400 Subject: [PATCH 118/206] Comment: this patch doesn't work correctly. --- ...reate_tag_pages_according_to_a_template.mdwn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 30a217413..87b30891e 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 @@ -106,3 +106,20 @@ I am not sure if that is the best way to handle it. [[!tag patch]] -- Jeremy Schultz + +No, this doesn't help: + + + # This refresh/saveindex is to fix the Tags link + + # With out this additional refresh/saveindex the tag link displays ?tag + + IkiWiki::refresh(); + + IkiWiki::saveindex(); + +On the second extra pass, it doesn't notice that it has to update the "?"-link. If I run ikiwiki once more, it is updated. I don't know yet how this should be fixed, because I don't know the internals of ikiwiki good enough. Something inhibits detecting the need to update in refresh() in Render.pm; perhaps, this condition: + + if (! $pagemtime{$page}) { + ... + push @add, $file; + ... + } + +is not satisfied for the newly created tag page. I shall put debug msgs into Render.pm to find out better how it works. --Ivan Z. From e31a9c4d0916397773882be259d7fbf33411e418 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Thu, 14 May 2009 11:07:55 -0400 Subject: [PATCH 119/206] minor: style. --- doc/todo/auto-create_tag_pages_according_to_a_template.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 87b30891e..f60fc3d6e 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 @@ -114,7 +114,7 @@ No, this doesn't help: + IkiWiki::refresh(); + IkiWiki::saveindex(); -On the second extra pass, it doesn't notice that it has to update the "?"-link. If I run ikiwiki once more, it is updated. I don't know yet how this should be fixed, because I don't know the internals of ikiwiki good enough. Something inhibits detecting the need to update in refresh() in Render.pm; perhaps, this condition: +On the second extra pass, it doesn't notice that it has to update the "?"-link. If I run ikiwiki once more, it is updated. I don't know yet how this should be fixed, because I don't know the internals of ikiwiki well enough. Something inhibits detecting the need to update in refresh() in Render.pm; perhaps, this condition: if (! $pagemtime{$page}) { ... From 8a654449907d52d00f0a20107778b8841af75c96 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 14 May 2009 14:52:50 -0400 Subject: [PATCH 120/206] response --- doc/wikitemplates/discussion.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index 64b376679..e2d74baf9 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -1,2 +1,5 @@ ## Place for local templates Where does one put any locally modified templates for an individual ikiwiki? --Ivan Z. + +> You can put them whereever you like; the `templatedir` controls +> where ikiwiki looks for them. --[[Joey]] From 571dad3eb555c72bcc6e17f7bc4a51c64516bd88 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 01:29:40 -0400 Subject: [PATCH 121/206] --- ...nal_links_inside_headings_don__39__t_work.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/bugs/external_links_inside_headings_don__39__t_work.mdwn diff --git a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn new file mode 100644 index 000000000..c8e574477 --- /dev/null +++ b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn @@ -0,0 +1,15 @@ +The standalone 'markdown' utility is perfectly happy with an external link inside a `

`, e.g.: + + # Review of [Dwarf Fortress][] + ... + [Dwarf Fortress]: http://www.bay12games.com/dwarves/ + +produces + +

Review of Dwarf Fortress

+ +but when I try to use this construct in an ikiwiki page, I get + +

Review of [Dwarf Fortress][]

+ +It works fine with h2 and deeper. The square brackets also appear in the output of an [[directive/inline]] directive in archive mode, I haven't tried non-archive mode. From 3557955adae0957ec0023c0fce000e94030045a9 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 01:31:05 -0400 Subject: [PATCH 122/206] --- doc/bugs/external_links_inside_headings_don__39__t_work.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn index c8e574477..f6e35ec0e 100644 --- a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn +++ b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn @@ -12,4 +12,4 @@ but when I try to use this construct in an ikiwiki page, I get

Review of [Dwarf Fortress][]

-It works fine with h2 and deeper. The square brackets also appear in the output of an [[directive/inline]] directive in archive mode, I haven't tried non-archive mode. +It works fine with h2 and deeper. The square brackets also appear in the output of an [[ikiwiki/directive/inline]] directive in archive mode, I haven't tried non-archive mode. From f9244f06b672d7502d511ef5278a092352f54c40 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 12:47:47 -0400 Subject: [PATCH 123/206] --- doc/ikiwiki/directive/map/discussion.mdwn | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/doc/ikiwiki/directive/map/discussion.mdwn b/doc/ikiwiki/directive/map/discussion.mdwn index 808930fa4..e82b3f71b 100644 --- a/doc/ikiwiki/directive/map/discussion.mdwn +++ b/doc/ikiwiki/directive/map/discussion.mdwn @@ -11,3 +11,32 @@ Question: Is there a way to generate a listing that shows *both* title and descr Is that possible? --Peter + +---- + +The site I'm trying to set up right now (not really a wiki - no public editing) is divided into topics. Topics are pages that have `\[[!meta link="/topic"]]`. Topic pages contain an index of their subpages (done with `\[[!inline]]`); the subpages are the real content. I want a map in the sidebar that lists: + + * all of the topics; + * all of the first-level subpages of the *current topic only*. + +That is, if the current page is "Topic A" or "Topic A/Page 1", then the map should look like + + Topic A + Page 1 + Page 2 + Page 3 + Topic B + Topic C + +but if the current page is "Topic B" or one of its subpages, then the map should look like + + Topic A + Topic B + Page 1 + Page 2 + Page 3 + Topic C + +Is there any way to do that? I don't mind mucking around with `[[!meta]]` on every page if that's what it takes. + +-- Zack From 9224fd47340e46c3f0838f3f95a15688855197bc Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 12:50:48 -0400 Subject: [PATCH 124/206] --- doc/ikiwiki/directive/map/discussion.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/ikiwiki/directive/map/discussion.mdwn b/doc/ikiwiki/directive/map/discussion.mdwn index e82b3f71b..d0809188f 100644 --- a/doc/ikiwiki/directive/map/discussion.mdwn +++ b/doc/ikiwiki/directive/map/discussion.mdwn @@ -37,6 +37,8 @@ but if the current page is "Topic B" or one of its subpages, then the map should Page 3 Topic C -Is there any way to do that? I don't mind mucking around with `[[!meta]]` on every page if that's what it takes. +On the top-level index page, or on any other page that is neither a topic nor a subpage of a topic, the map should list only the topics. + +Is there any way to do that? I don't mind mucking around with `\[[!meta]]` on every page if that's what it takes. -- Zack From 8439d20684421388ddee7d7521e64b7257291996 Mon Sep 17 00:00:00 2001 From: "http://joey.kitenet.net/" Date: Fri, 15 May 2009 16:25:57 -0400 Subject: [PATCH 125/206] closing, user error --- .../external_links_inside_headings_don__39__t_work.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn index f6e35ec0e..0deea4d11 100644 --- a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn +++ b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn @@ -13,3 +13,10 @@ but when I try to use this construct in an ikiwiki page, I get

Review of [Dwarf Fortress][]

It works fine with h2 and deeper. The square brackets also appear in the output of an [[ikiwiki/directive/inline]] directive in archive mode, I haven't tried non-archive mode. + +> I think you were confused by markdown's slightly wacky mix of square brackets and parens. +> The url in a markdown link goes in parens, not square brackets. For example: + +# [Google](http://google.com/) + +> [[done]] --[[Joey]] From 2612595a0c2fef24de733a175e55c9e30455f350 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 15 May 2009 16:42:19 -0400 Subject: [PATCH 126/206] response --- doc/ikiwiki/directive/map/discussion.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/doc/ikiwiki/directive/map/discussion.mdwn b/doc/ikiwiki/directive/map/discussion.mdwn index d0809188f..6d44733ac 100644 --- a/doc/ikiwiki/directive/map/discussion.mdwn +++ b/doc/ikiwiki/directive/map/discussion.mdwn @@ -42,3 +42,23 @@ On the top-level index page, or on any other page that is neither a topic nor a Is there any way to do that? I don't mind mucking around with `\[[!meta]]` on every page if that's what it takes. -- Zack + +> I think that you're looking for this: +> +> pages="((Topic*/* or Topic*) and ./*) or (Topic* and ! Topic*/*)" +> +> Let's pull that [[PageSpec]] apart. +> +> * `(Topic*/* or Topic*)` matches all pages that are underneath a Topic +> page or are a topic page themselves. +> * `and ./*` further adds the limitation that the pages have to be +> in the same directory as the page that is displaying the map. So, +> for `Topic_A/Page_1`, it will match `Topic_A/*`; for `Topic_A`, +> it will match `Topic_*` but not subpages. +> * Finally, `Topic* and ! Topic*/*` matches all the toplevel topic pages, +> since we always want those to show up. +> +> I haven't tested that this works or displays, but I hope it gets you +> on the right track. PS, be aware of +> [[this_sidebar_issue|todo/Post-compilation_inclusion_of_the_sidebar]]! +> --[[Joey]] From bff3b68034c4f55ad64890ed5534875dc77f2767 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 17:22:46 -0400 Subject: [PATCH 127/206] not so done --- doc/bugs/external_links_inside_headings_don__39__t_work.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn index 0deea4d11..5bab283fd 100644 --- a/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn +++ b/doc/bugs/external_links_inside_headings_don__39__t_work.mdwn @@ -20,3 +20,5 @@ It works fine with h2 and deeper. The square brackets also appear in the output # [Google](http://google.com/) > [[done]] --[[Joey]] + +>> It works here but it definitely does *not* work on my wiki; but on further experimentation, I believe my problem is being caused by JasonBlevins' [h1title](http://code.jblevins.org/ikiwiki/plugins.git/plain/h1title.pm) plugin. From ad6be8137daf79ec3fef870b6b00230ae37985eb Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 17:30:14 -0400 Subject: [PATCH 128/206] --- doc/ikiwiki/directive/map/discussion.mdwn | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/ikiwiki/directive/map/discussion.mdwn b/doc/ikiwiki/directive/map/discussion.mdwn index 6d44733ac..095c5d8d0 100644 --- a/doc/ikiwiki/directive/map/discussion.mdwn +++ b/doc/ikiwiki/directive/map/discussion.mdwn @@ -45,7 +45,7 @@ Is there any way to do that? I don't mind mucking around with `\[[!meta]]` on e > I think that you're looking for this: > -> pages="((Topic*/* or Topic*) and ./*) or (Topic* and ! Topic*/*)" +> `pages="((Topic*/* or Topic*) and ./*) or (Topic* and ! Topic*/*)"` > > Let's pull that [[PageSpec]] apart. > @@ -62,3 +62,9 @@ Is there any way to do that? I don't mind mucking around with `\[[!meta]]` on e > on the right track. PS, be aware of > [[this_sidebar_issue|todo/Post-compilation_inclusion_of_the_sidebar]]! > --[[Joey]] + +>> Thanks, but this assumes that topic pages are named `Topic`. +>> They aren't. They are tagged with `\[[!meta link="/topic"]]`, and as +>> far as I can tell there is no [[PageSpec]] notation for "subpages of a +>> page that satisfies link(foo)"... +>> -- Zack From af3b457b80d9cd7fa85514e1f1dd583e2f165ba3 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 18:51:13 -0400 Subject: [PATCH 129/206] Q: warning: lighttpd only or both? --- doc/tips/dot_cgi/discussion.mdwn | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/tips/dot_cgi/discussion.mdwn diff --git a/doc/tips/dot_cgi/discussion.mdwn b/doc/tips/dot_cgi/discussion.mdwn new file mode 100644 index 000000000..982621295 --- /dev/null +++ b/doc/tips/dot_cgi/discussion.mdwn @@ -0,0 +1,5 @@ +## warning: lighttpd only or both? + +Is your warning at the bottom (you don't know how secure it is) only about lighttpd or it's about apache2 configuration as well? + +I'm asking this because right now I want to setup an httpd solely for the public use of ikiwiki on a general puprpose computer (there are other things there), and so I need to choose the more secure solution. --Ivan Z. From 5d8fa0de2736b615b62f6c5df4c015ee868fe703 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 19:03:24 -0400 Subject: [PATCH 130/206] More my thoughts about making a secure public wiki -- perhaps someone will find them useful --- doc/tips/dot_cgi/discussion.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/tips/dot_cgi/discussion.mdwn b/doc/tips/dot_cgi/discussion.mdwn index 982621295..50e6fd9d5 100644 --- a/doc/tips/dot_cgi/discussion.mdwn +++ b/doc/tips/dot_cgi/discussion.mdwn @@ -2,4 +2,6 @@ Is your warning at the bottom (you don't know how secure it is) only about lighttpd or it's about apache2 configuration as well? -I'm asking this because right now I want to setup an httpd solely for the public use of ikiwiki on a general puprpose computer (there are other things there), and so I need to choose the more secure solution. --Ivan Z. +I'm asking this because right now I want to setup an httpd solely for the public use of ikiwiki on a general purpose computer (there are other things there), and so I need to choose the more secure solution. --Ivan Z. +> AFAIU, my main simplest security measure should be running the public ikiwiki's cgi under a special user, but then: how do I push to the repo owned by that other user? I see, probably I should setup the public wiki under the special user (so that it was able to create the cgi-script with the desired permission), and then give my personal user the required permissions to make a git-push by, say, creating a special Unix group for this. +> Shouldn't there be a page here which would document a secure public and multi-user installation of ikiwiki (by "multi-user" I mean writable by a group of local Unix users)? If there isn't such yet, I started writing it with this discussion.--Ivan Z. From 99018a65e5f4cb7378b4e78d2357d3f07f39691a Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 19:04:21 -0400 Subject: [PATCH 131/206] minor: formatting --- doc/tips/dot_cgi/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tips/dot_cgi/discussion.mdwn b/doc/tips/dot_cgi/discussion.mdwn index 50e6fd9d5..8bca5ef5a 100644 --- a/doc/tips/dot_cgi/discussion.mdwn +++ b/doc/tips/dot_cgi/discussion.mdwn @@ -3,5 +3,7 @@ Is your warning at the bottom (you don't know how secure it is) only about lighttpd or it's about apache2 configuration as well? I'm asking this because right now I want to setup an httpd solely for the public use of ikiwiki on a general purpose computer (there are other things there), and so I need to choose the more secure solution. --Ivan Z. + > AFAIU, my main simplest security measure should be running the public ikiwiki's cgi under a special user, but then: how do I push to the repo owned by that other user? I see, probably I should setup the public wiki under the special user (so that it was able to create the cgi-script with the desired permission), and then give my personal user the required permissions to make a git-push by, say, creating a special Unix group for this. + > Shouldn't there be a page here which would document a secure public and multi-user installation of ikiwiki (by "multi-user" I mean writable by a group of local Unix users)? If there isn't such yet, I started writing it with this discussion.--Ivan Z. From aa57ab2e4ca7618079df8d05db9f65db25993b8f Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 19:15:19 -0400 Subject: [PATCH 132/206] describing my case --- doc/wikitemplates/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index e2d74baf9..ebef5d1c7 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -3,3 +3,5 @@ Where does one put any locally modified templates for an individual ikiwiki? --I > You can put them whereever you like; the `templatedir` controls > where ikiwiki looks for them. --[[Joey]] + +Thank you for your response! My question arose out of my intention to make custom templates for a wiki--specifically suited for the kind of content it will have--so, that would mean I would want to distribute them through git together with other content of the wiki. So, for this case the separation of conceptually ONE thing (the content, the templates, and the config option which orders to use these templates) into THREE separate files/repos (the main content repo, the repo with templates, and the config file) is not convenient: instead of distributing a single repo, I have to tell people to take three things if they want to replicate this wiki. How would you solve this inconvenience? Perhaps, a default location of the templates *inside* the source repo would do?--Ivan Z. From 1f185c5d408e1136a2c53537ef48cbce5652e8cf Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 19:21:25 -0400 Subject: [PATCH 133/206] a simplification to my previous hint about a trivial setup --- doc/tips/dot_cgi/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tips/dot_cgi/discussion.mdwn b/doc/tips/dot_cgi/discussion.mdwn index 8bca5ef5a..4bb0007bd 100644 --- a/doc/tips/dot_cgi/discussion.mdwn +++ b/doc/tips/dot_cgi/discussion.mdwn @@ -7,3 +7,5 @@ I'm asking this because right now I want to setup an httpd solely for the public > AFAIU, my main simplest security measure should be running the public ikiwiki's cgi under a special user, but then: how do I push to the repo owned by that other user? I see, probably I should setup the public wiki under the special user (so that it was able to create the cgi-script with the desired permission), and then give my personal user the required permissions to make a git-push by, say, creating a special Unix group for this. > Shouldn't there be a page here which would document a secure public and multi-user installation of ikiwiki (by "multi-user" I mean writable by a group of local Unix users)? If there isn't such yet, I started writing it with this discussion.--Ivan Z. + +> I see, perhaps a simpler setup would not make use of a Unix group, but simply allow pushing to the public wiki (kept under a special user) through git+ssh. --Ivan Z. From 84ce21f85d730507952301046b1f4fa8773f5dda Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 15 May 2009 21:40:59 -0400 Subject: [PATCH 134/206] response --- doc/wikitemplates/discussion.mdwn | 37 ++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index ebef5d1c7..bc64ef939 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -4,4 +4,39 @@ Where does one put any locally modified templates for an individual ikiwiki? --I > You can put them whereever you like; the `templatedir` controls > where ikiwiki looks for them. --[[Joey]] -Thank you for your response! My question arose out of my intention to make custom templates for a wiki--specifically suited for the kind of content it will have--so, that would mean I would want to distribute them through git together with other content of the wiki. So, for this case the separation of conceptually ONE thing (the content, the templates, and the config option which orders to use these templates) into THREE separate files/repos (the main content repo, the repo with templates, and the config file) is not convenient: instead of distributing a single repo, I have to tell people to take three things if they want to replicate this wiki. How would you solve this inconvenience? Perhaps, a default location of the templates *inside* the source repo would do?--Ivan Z. +Thank you for your response! My question arose out of my intention to make +custom templates for a wiki--specifically suited for the kind of content +it will have--so, that would mean I would want to distribute them through +git together with other content of the wiki. So, for this case the +separation of conceptually ONE thing (the content, the templates, and the +config option which orders to use these templates) into THREE separate +files/repos (the main content repo, the repo with templates, and the config +file) is not convenient: instead of distributing a single repo, I have to +tell people to take three things if they want to replicate this wiki. How +would you solve this inconvenience? Perhaps, a default location of the +templates *inside* the source repo would do?--Ivan Z. + +> I would avoid putting the templates in a subdirectory of the ikiwiki srcdir. +> (I'd also avoid putting the ikiwiki setup file there.) +> While it's safe to do either in some cases, there are configurations where +> it's unsafe. For example, a malicious user could use attachment handling to +> replace those files with their own, bad versions. +> +> So, two ideas for where to put the templatedir and ikiwiki setup. + +> * The easiest option is to put your wiki content in a subdirectory +> ("wiki", say) and point `srcdir` at that. +> then you can have another subdirectory for the wikitemplates, +> and put the setup file at the top. +> * Another option if using git would be to have a separate branch, +> in the same git repository, that holds wikitemplates and the setup file. +> Then you check out the repository once to make the `srcdir` available, +> and have a second checkout, of the other branch, to make the other stuff +> available. +> +> Note that with either of these methods, you have to watch out if +> giving other direct commit access to the repository. They could +> still edit the setup file and templates, so only trusted users should +> be given access. (It is, however, perfectly safe to let people edit +> the wiki via the web, and is even safe to configure +> [[tips/untrusted_git_push]] to such a repository.) --[[Joey]] From df112ed89e2e8fc5c4c449758968ccd21a10ad30 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 15 May 2009 21:47:55 -0400 Subject: [PATCH 135/206] response --- doc/tips/dot_cgi.mdwn | 6 +++--- doc/tips/dot_cgi/discussion.mdwn | 35 +++++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/doc/tips/dot_cgi.mdwn b/doc/tips/dot_cgi.mdwn index 04d7a9721..64d7a0757 100644 --- a/doc/tips/dot_cgi.mdwn +++ b/doc/tips/dot_cgi.mdwn @@ -52,6 +52,6 @@ Note that the first part enables cgi server wide but depending on default configuration, it may be not enough. The second part creates a specific rule that allow `ikiwiki.cgi` to be executed. -**Warning:** I only use this on my development server (offline). I am not -sure of how secure this approach is. If you have any thought about it, feel -free to let me know. +**Warning:** I only use this lighttpd configuration on my development +server (offline). I am not sure of how secure this approach is. +If you have any thought about it, feel free to let me know. diff --git a/doc/tips/dot_cgi/discussion.mdwn b/doc/tips/dot_cgi/discussion.mdwn index 4bb0007bd..124b9edff 100644 --- a/doc/tips/dot_cgi/discussion.mdwn +++ b/doc/tips/dot_cgi/discussion.mdwn @@ -1,11 +1,36 @@ ## warning: lighttpd only or both? -Is your warning at the bottom (you don't know how secure it is) only about lighttpd or it's about apache2 configuration as well? +Is your warning at the bottom (you don't know how secure it is) only about +lighttpd or it's about apache2 configuration as well? -I'm asking this because right now I want to setup an httpd solely for the public use of ikiwiki on a general purpose computer (there are other things there), and so I need to choose the more secure solution. --Ivan Z. +> The latter. (Although I don't know why using lighttpd would lead +> to any additional security exposure anyway.) --[[Joey]] -> AFAIU, my main simplest security measure should be running the public ikiwiki's cgi under a special user, but then: how do I push to the repo owned by that other user? I see, probably I should setup the public wiki under the special user (so that it was able to create the cgi-script with the desired permission), and then give my personal user the required permissions to make a git-push by, say, creating a special Unix group for this. +I'm asking this because right now I want to setup an httpd solely for the +public use of ikiwiki on a general purpose computer (there are other things +there), and so I need to choose the more secure solution. --Ivan Z. -> Shouldn't there be a page here which would document a secure public and multi-user installation of ikiwiki (by "multi-user" I mean writable by a group of local Unix users)? If there isn't such yet, I started writing it with this discussion.--Ivan Z. +> AFAIU, my main simplest security measure should be running the public +> ikiwiki's cgi under a special user, but then: how do I push to the repo +> owned by that other user? I see, probably I should setup the public wiki +> under the special user (so that it was able to create the cgi-script with +> the desired permission), and then give my personal user the required +> permissions to make a git-push by, say, creating a special Unix group for +> this. -> I see, perhaps a simpler setup would not make use of a Unix group, but simply allow pushing to the public wiki (kept under a special user) through git+ssh. --Ivan Z. +> Shouldn't there be a page here which would document a secure public and +> multi-user installation of ikiwiki (by "multi-user" I mean writable by a +> group of local Unix users)? If there isn't such yet, I started writing it +> with this discussion.--Ivan Z. + +> I see, perhaps a simpler setup would not make use of a Unix group, but +> simply allow pushing to the public wiki (kept under a special user) through +> git+ssh. --Ivan Z. + +>> Yes, it's certianly possible to configure git (and svn, etc) repositories so that +>> two users can both push to them. There should be plenty of docs out there +>> about doing that. +>> +>> The easiest way though is probably +>> to add your ssh key to the special user's `.ssh/authorized_keys` +>> and push that way. --[[Joey]] From ec17dbce17aa296bee0b22aed2940b1ad23a4858 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 22:05:49 -0400 Subject: [PATCH 136/206] poll vote (Accept only OpenID for logins) --- doc/news/openid.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn index c2a871f0a..a15bb2105 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 61 "Accept only OpenID for logins" 18 "Accept only password logins" 36 "Accept both"]] +[[!poll 62 "Accept only OpenID for logins" 18 "Accept only password logins" 36 "Accept both"]] From d65a29b144e022879d055e4a21b1a7f4e24c9507 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 23:31:04 -0400 Subject: [PATCH 137/206] bug: OpenID 2.0 --- doc/plugins/openid/discussion.mdwn | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/plugins/openid/discussion.mdwn b/doc/plugins/openid/discussion.mdwn index 66c431868..2c6901a4c 100644 --- a/doc/plugins/openid/discussion.mdwn +++ b/doc/plugins/openid/discussion.mdwn @@ -6,4 +6,12 @@ It is scheduled for 2007-12-20 18:00 UTC. See for the complete program and for information about how to join. ---[[tschwinge]] \ No newline at end of file +--[[tschwinge]] + +---- +[[!tag bugs]] + +It looks like OpenID 2.0 (the only supported by Yahoo) is not supported in ikiwiki. :( I signed up at http://openid.yahoo.com/ , and tried to login to my ikiwiki with the new ID (of the form: https://me.yahoo.com/a-username), but Yahoo told me: + +> Sorry! You will not be able to login to this website as it is using an older version of the the OpenID technology. Yahoo! only supports OpenID 2.0 because it is more secure. For more information, check out the OpenID documentation at [Yahoo! Developer Network](http://developer.yahoo.com/openid/). +-- Ivan Z. From 18c5a44e1ab9d2e8fb9a539778b8a4d199a80a1b Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 23:38:43 -0400 Subject: [PATCH 138/206] Added a link to a FAQ on this issue. --- doc/plugins/openid/discussion.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/plugins/openid/discussion.mdwn b/doc/plugins/openid/discussion.mdwn index 2c6901a4c..e96c7886d 100644 --- a/doc/plugins/openid/discussion.mdwn +++ b/doc/plugins/openid/discussion.mdwn @@ -14,4 +14,7 @@ and for information about how to join. It looks like OpenID 2.0 (the only supported by Yahoo) is not supported in ikiwiki. :( I signed up at http://openid.yahoo.com/ , and tried to login to my ikiwiki with the new ID (of the form: https://me.yahoo.com/a-username), but Yahoo told me: > Sorry! You will not be able to login to this website as it is using an older version of the the OpenID technology. Yahoo! only supports OpenID 2.0 because it is more secure. For more information, check out the OpenID documentation at [Yahoo! Developer Network](http://developer.yahoo.com/openid/). + -- Ivan Z. + +They have more on OpenID 2.0 in [their FAQ](http://developer.yahoo.com/openid/faq.html). --Ivan Z. From 9a9af5938d6151caf21752e7d56a1216c69b9370 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 23:46:30 -0400 Subject: [PATCH 139/206] minor: added an anchor (for referring). --- doc/plugins/openid/discussion.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/plugins/openid/discussion.mdwn b/doc/plugins/openid/discussion.mdwn index e96c7886d..39e947b82 100644 --- a/doc/plugins/openid/discussion.mdwn +++ b/doc/plugins/openid/discussion.mdwn @@ -9,6 +9,7 @@ and for information about how to join. --[[tschwinge]] ---- + [[!tag bugs]] It looks like OpenID 2.0 (the only supported by Yahoo) is not supported in ikiwiki. :( I signed up at http://openid.yahoo.com/ , and tried to login to my ikiwiki with the new ID (of the form: https://me.yahoo.com/a-username), but Yahoo told me: From e1264a4d22c7905c31f16f4199b9201093d4a44a Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Fri, 15 May 2009 23:50:05 -0400 Subject: [PATCH 140/206] Added a note that Yahoo is not yet supported. --- doc/ikiwiki/openid.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ikiwiki/openid.mdwn b/doc/ikiwiki/openid.mdwn index dd851e549..5c91dfb58 100644 --- a/doc/ikiwiki/openid.mdwn +++ b/doc/ikiwiki/openid.mdwn @@ -16,7 +16,7 @@ To sign up for an OpenID, visit one of the following identity providers: * [Videntity](http://videntity.org/) * [LiveJournal](http://www.livejournal.com/openid/) * [TrustBearer](https://openid.trustbearer.com/) -* or any of the [many others out there](http://openiddirectory.com/openid-providers-c-1.html). +* or any of the [many others out there](http://openiddirectory.com/openid-providers-c-1.html) (but not [Yahoo](http://openid.yahoo.com) [[yet|plugins/openid/discussion/#Yahoo_unsupported]]). Your OpenID is the URL that you are given when you sign up. [[!if test="enabled(openid)" then=""" From 9476c95e0aa4448c93f95c6952ead09abd3ba14a Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 04:40:56 -0400 Subject: [PATCH 141/206] observed indeed the mentioned confusing behavior --- doc/todo/tag_pagespec_function.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/todo/tag_pagespec_function.mdwn b/doc/todo/tag_pagespec_function.mdwn index 681a1f661..5548cfd8d 100644 --- a/doc/todo/tag_pagespec_function.mdwn +++ b/doc/todo/tag_pagespec_function.mdwn @@ -12,6 +12,9 @@ match tagged pages independent of whatever the tagbase is set to. > > The only problem I see is it could be confusing if `tag(foo)` matched > a page that just linked to the tag via a wikilink, w/o actually tagging it. + +>> Yes, this is confusing and not nice. I observed this misbehavior, because I wanted to match two different lists of pages (only tagged or linked in any way), but it didn't work. Would this feature require a complex patch? --Ivan Z. + > > One other thing, perhaps it should be called `tagged()`? --[[Joey]] From 36b1aa8af357e3f987ff6a4b350665297d663a76 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sat, 16 May 2009 07:43:53 -0400 Subject: [PATCH 142/206] a different tag plugin? --- doc/todo/tag_pagespec_function.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/todo/tag_pagespec_function.mdwn b/doc/todo/tag_pagespec_function.mdwn index 5548cfd8d..71f3e81bc 100644 --- a/doc/todo/tag_pagespec_function.mdwn +++ b/doc/todo/tag_pagespec_function.mdwn @@ -15,6 +15,8 @@ match tagged pages independent of whatever the tagbase is set to. >> Yes, this is confusing and not nice. I observed this misbehavior, because I wanted to match two different lists of pages (only tagged or linked in any way), but it didn't work. Would this feature require a complex patch? --Ivan Z. +>>> If you link to a page 'foo' which happens to be a tag then the page you link from will turn up in the set of pages returned by tagged(foo). The only way to avoid this would be for the tag plugin to not use wikilinks as an implementation method. That itself would not be too hard to do, but there might be people relying on the older behaviour. A better alternative might be to have a "tag2" plugin (or a better name) which implements tagging entirely separately. -- [[Jon]] + > > One other thing, perhaps it should be called `tagged()`? --[[Joey]] From ae2071622b3497cf10220a7edf4f11ca8ebcec4a Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sat, 16 May 2009 08:53:14 -0400 Subject: [PATCH 143/206] add my github fork --- doc/git.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/git.mdwn b/doc/git.mdwn index 87b1aaae6..8aa7250a7 100644 --- a/doc/git.mdwn +++ b/doc/git.mdwn @@ -38,6 +38,7 @@ into [[Joey]]'s working tree. This is recommended. :-) * [[gmcmanus]] `git://github.com/gmcmanus/ikiwiki.git` * [[jelmer]] `git://git.samba.org/jelmer/ikiwiki.git` * [[hendry]] `git://webconverger.org/git/ikiwiki` +* [[jon]] `git://github.com/jmtd/ikiwiki.git` ## branches From 30248df40a19dc03c0d8c07e136105f3c2299191 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 13:56:25 +0100 Subject: [PATCH 144/206] check for longname for each syntax plugin We build an array of [ plugin name, long name ] pairs, where long name is an optional argument to hook(). So, a syntax plugin could define long "friendly" name, such as "Markdown" instead of mdwn, and we would then pass this array to formbuilder to populate the drop-down on the edit page. --- IkiWiki/Plugin/editpage.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index 0068a6b11..eb6a7bbcb 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -276,8 +276,14 @@ sub cgi_editpage ($$) { my @page_types; if (exists $hooks{htmlize}) { - @page_types=grep { !/^_/ } - keys %{$hooks{htmlize}}; + foreach my $key (grep { !/^_/ } keys %{$hooks{htmlize}}) { + my $pluginref = ${$hooks{htmlize}}{$key}; + if(${$pluginref}{'longname'}) { + push @page_types, [$key, ${$pluginref}{'longname'}]; + } else { + push @page_types, [$key, $key]; + } + } } $form->tmpl_param("page_select", 1); From 79510950f09ace7906e149799ffda5aa26decbf6 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 13:59:27 +0100 Subject: [PATCH 145/206] add a long name for mdwn ("Markdown") --- IkiWiki/Plugin/mdwn.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm index 0e134c822..c62780cb8 100644 --- a/IkiWiki/Plugin/mdwn.pm +++ b/IkiWiki/Plugin/mdwn.pm @@ -8,7 +8,7 @@ use IkiWiki 3.00; sub import { hook(type => "getsetup", id => "mdwn", call => \&getsetup); - hook(type => "htmlize", id => "mdwn", call => \&htmlize); + hook(type => "htmlize", id => "mdwn", call => \&htmlize, longname => "Markdown"); } sub getsetup () { From 83e3fc3af031abfd0321fadf0a64bbf6ecee5886 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 13:59:36 +0100 Subject: [PATCH 146/206] add a long name for textile/txtl ("Textile") --- IkiWiki/Plugin/textile.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IkiWiki/Plugin/textile.pm b/IkiWiki/Plugin/textile.pm index b604aa3c5..8cc5a7951 100644 --- a/IkiWiki/Plugin/textile.pm +++ b/IkiWiki/Plugin/textile.pm @@ -11,7 +11,7 @@ use Encode; sub import { hook(type => "getsetup", id => "textile", call => \&getsetup); - hook(type => "htmlize", id => "txtl", call => \&htmlize); + hook(type => "htmlize", id => "txtl", call => \&htmlize, longname => "Textile"); } sub getsetup () { From 335462c05d22defe020941d2d32b2f18e975d80c Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 14:01:12 +0100 Subject: [PATCH 147/206] document longname parameter --- doc/plugins/write.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 28da243d5..d0f6a09e1 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -198,6 +198,9 @@ value, then the id parameter specifies not a filename extension, but a whole filename that can be htmlized. This is useful for files like `Makefile` that have no extension. +If `hook` is passed an optional "longname" parameter, this value is used +when prompting a user to choose a page type on the edit page form. + ### pagetemplate hook(type => "pagetemplate", id => "foo", call => \&pagetemplate); From ce23a29bff8acb02f025c96aa7b1fb4466d60cbb Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 14:05:11 +0100 Subject: [PATCH 148/206] friendly markup names for UI: e.g. 'Markdown' not 'mdwn' (patch) --- doc/todo/friendly_markup_names.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 doc/todo/friendly_markup_names.mdwn diff --git a/doc/todo/friendly_markup_names.mdwn b/doc/todo/friendly_markup_names.mdwn new file mode 100644 index 000000000..2b54cabab --- /dev/null +++ b/doc/todo/friendly_markup_names.mdwn @@ -0,0 +1,10 @@ +On the edit form when you are creating a new page, you are given an option of +page types that can be used. The string presented to the user here is not +particularly friendly: e.g., mdwn, txtl... it would be nice if the drop-down +contents were "Markdown", "Textile", etc. (the values in the option tags can +remain the same). + +I've written a first-take set of patches for this. They are in +git://github.com/jmtd/ikiwiki.git in the branch "friendly_markup_names". + +-- [[Jon]] From d96bedef6b65d61f05c2e204292f67b68279e7b3 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 14:08:23 +0100 Subject: [PATCH 149/206] tag patch --- doc/todo/friendly_markup_names.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/friendly_markup_names.mdwn b/doc/todo/friendly_markup_names.mdwn index 2b54cabab..f2789ea28 100644 --- a/doc/todo/friendly_markup_names.mdwn +++ b/doc/todo/friendly_markup_names.mdwn @@ -5,6 +5,6 @@ contents were "Markdown", "Textile", etc. (the values in the option tags can remain the same). I've written a first-take set of patches for this. They are in -git://github.com/jmtd/ikiwiki.git in the branch "friendly_markup_names". +git://github.com/jmtd/ikiwiki.git in the branch "friendly_markup_names". [[!tag patch]] -- [[Jon]] From eba9b862b2f7d346dfffcd5576cd96fce9dd239d Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Sat, 16 May 2009 14:44:23 +0100 Subject: [PATCH 150/206] tidy up new page_types code --- IkiWiki/Plugin/editpage.pm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index eb6a7bbcb..af42097ba 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -277,12 +277,7 @@ sub cgi_editpage ($$) { my @page_types; if (exists $hooks{htmlize}) { foreach my $key (grep { !/^_/ } keys %{$hooks{htmlize}}) { - my $pluginref = ${$hooks{htmlize}}{$key}; - if(${$pluginref}{'longname'}) { - push @page_types, [$key, ${$pluginref}{'longname'}]; - } else { - push @page_types, [$key, $key]; - } + push @page_types, [$key, $hooks{htmlize}{$key}{longname} || $key]; } } From c177ede3031306799555403490de56436fde95ea Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 10:39:52 -0400 Subject: [PATCH 151/206] More friendly display of markdown, textile in edit form selector (jmtd) --- debian/changelog | 2 ++ doc/todo/friendly_markup_names.mdwn | 3 +++ 2 files changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index d8c67b5a6..c2819d0c5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ ikiwiki (3.13) UNRELEASED; urgency=low containing .ikiwiki, abort with an error rather than creating it. * Allow underlaydir to be overridden without messing up inclusion of other underlays via add_underlay. + * More friendly display of markdown, textile in edit form selector + (jmtd) -- Joey Hess Wed, 06 May 2009 20:45:44 -0400 diff --git a/doc/todo/friendly_markup_names.mdwn b/doc/todo/friendly_markup_names.mdwn index f2789ea28..f88e3c1c7 100644 --- a/doc/todo/friendly_markup_names.mdwn +++ b/doc/todo/friendly_markup_names.mdwn @@ -8,3 +8,6 @@ I've written a first-take set of patches for this. They are in git://github.com/jmtd/ikiwiki.git in the branch "friendly_markup_names". [[!tag patch]] -- [[Jon]] + +[[merged|done]], TFTP! (I have not checked if any other format plugins +would benefit from a longer name) --[[Joey]] From 28f8d1d6cabf8ac2440663e615b17c547071b7fd Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 15:32:15 -0400 Subject: [PATCH 152/206] Added wikilinks for faster navigating through the available info. --- doc/todo/hidden_links__47__tags.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/todo/hidden_links__47__tags.mdwn b/doc/todo/hidden_links__47__tags.mdwn index 43d7a8797..2a4749394 100644 --- a/doc/todo/hidden_links__47__tags.mdwn +++ b/doc/todo/hidden_links__47__tags.mdwn @@ -5,9 +5,9 @@ Using the tag functionality I could group some news items for including them int The tagged items should not differ from the items, that are not tagged. I didn't find any way to hide the tag list or links and I don't want to have to create a "hidden" page containing links to the pages and then using the backlink functionality, because this is more prone to errors. It's easier to forget adding a link on a second page than forgetting to add a needed tag to a new newsitem. -> I found out, that using the meta plugin it is possible to create the hidden link, that I wanted. +> I found out, that using the [[meta plugin|plugins/meta]] it is possible to create the hidden link, that I wanted. -- [[users/Enno]] ->> Yes, meta link will not show up as a visible link on the page, while +>> Yes, [[meta link|ikiwiki/directive/meta]] will not show up as a visible link on the page, while >> also not showing up in the list of tags of a page, so it seems what you >> want. [[done]] --[[Joey]] From 751618c4883f9740aeaf069e73f35b4fe06b5028 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 15:49:06 -0400 Subject: [PATCH 153/206] Added an anchor for referring to this place. --- doc/todo/structured_page_data.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/todo/structured_page_data.mdwn b/doc/todo/structured_page_data.mdwn index 22f67cc0a..d9133b4aa 100644 --- a/doc/todo/structured_page_data.mdwn +++ b/doc/todo/structured_page_data.mdwn @@ -82,6 +82,7 @@ See also: > rather than all pages linked from a given page. > >The first use case is handled by having a template in the page creation. You could + >have some type of form to edit the data, but that's just sugar on top of the template. >If you were going to have a web form to edit the data, I can imagine a few ways to do it: > @@ -243,7 +244,7 @@ in a large number of other cases. > would match `data_eq(Depends on,6)`, `data_link(Depends on,bugs/bugA)`, `data_link(Depends on,bugs/bugB)` > or, if you applied the patch in [[todo/tracking_bugs_with_dependencies]] then you can use 'defined pagespecs' -> such as `data_link(Depends on,~openBugs)`. The ability to label links like this allows separation of +> such as `data_link(Depends on,~openBugs)`. The ability to label links like this allows separation of > dependencies between bugs from arbitrary links. ---- From c2dbf0d618d0ab115ab5f3b1c28dd8e17c1b013b Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:05:03 -0400 Subject: [PATCH 154/206] Referred to some work that could give such a feature (disitinguishing kinds of links). --- doc/todo/tag_pagespec_function.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/todo/tag_pagespec_function.mdwn b/doc/todo/tag_pagespec_function.mdwn index 71f3e81bc..0f2d306af 100644 --- a/doc/todo/tag_pagespec_function.mdwn +++ b/doc/todo/tag_pagespec_function.mdwn @@ -13,11 +13,11 @@ match tagged pages independent of whatever the tagbase is set to. > The only problem I see is it could be confusing if `tag(foo)` matched > a page that just linked to the tag via a wikilink, w/o actually tagging it. ->> Yes, this is confusing and not nice. I observed this misbehavior, because I wanted to match two different lists of pages (only tagged or linked in any way), but it didn't work. Would this feature require a complex patch? --Ivan Z. +>> (My [[!taglink wishlist]].) Yes, this is confusing and not nice. I observed this misbehavior, because I wanted to match two different lists of pages (only tagged or linked in any way), but it didn't work. Would this feature require a complex patch? --Ivan Z. >>> If you link to a page 'foo' which happens to be a tag then the page you link from will turn up in the set of pages returned by tagged(foo). The only way to avoid this would be for the tag plugin to not use wikilinks as an implementation method. That itself would not be too hard to do, but there might be people relying on the older behaviour. A better alternative might be to have a "tag2" plugin (or a better name) which implements tagging entirely separately. -- [[Jon]] +>>>> I see; at least, your response is encouraging (that it's not hard). I could even find some work that can give similar features: [[structured page data#another_kind_of_links]] -- they envisage a pagespec like `data_link(Depends on,bugs/bugA)`, thus a "separation of dependencies between bugs from arbitrary links". Indeed, having many relations that can be used in the formulas defining classes of objects (like pagespecs here) is a common thing, so this would be a nice feature. (I'll be trying out the patches there first, probably.) In general, extending the language of pagespecs to something more powerful (like [[!wikipedia description logics]]) seems to be a nice possible feature. I saw a discussion of similar ideas about the extension of the pagespec language somewhere here. --Ivan Z. -> > One other thing, perhaps it should be called `tagged()`? --[[Joey]] [[!tag patch done]] From fc87038ca228189070e5af4277c45b6d65a3649e Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:07:36 -0400 Subject: [PATCH 155/206] Added a wikilink (for easing reading of the info). --- doc/shortcuts.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/shortcuts.mdwn b/doc/shortcuts.mdwn index 14cd5ff2b..855b6948a 100644 --- a/doc/shortcuts.mdwn +++ b/doc/shortcuts.mdwn @@ -60,7 +60,7 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=man url="http://linux.die.net/man/%s"]] * [[!shortcut name=ohloh url="http://www.ohloh.net/projects/%s"]] -To add a new shortcut, use the `shortcut` +To add a new shortcut, use the `[[shortcut|ikiwiki/directive/shortcut]]` [[ikiwiki/directive]]. In the url, "%s" is replaced with the text passed to the named shortcut, after url-encoding it, and '%S' is replaced with the raw, non-encoded text. The optional `desc` parameter From 0d0df508bf634f23bfb3a57bc66e9cbbac37dd85 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 16:10:27 -0400 Subject: [PATCH 156/206] response --- doc/ikiwiki/directive/map/discussion.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/ikiwiki/directive/map/discussion.mdwn b/doc/ikiwiki/directive/map/discussion.mdwn index 095c5d8d0..062b4267a 100644 --- a/doc/ikiwiki/directive/map/discussion.mdwn +++ b/doc/ikiwiki/directive/map/discussion.mdwn @@ -68,3 +68,7 @@ Is there any way to do that? I don't mind mucking around with `\[[!meta]]` on e >> far as I can tell there is no [[PageSpec]] notation for "subpages of a >> page that satisfies link(foo)"... >> -- Zack + +>>> I think that the ideas and code in +>>> [[todo/tracking_bugs_with_dependencies]] might also handle this case. +>>> --[[Joey]] From c2d3fa435273e7ccad5c2404debdfdab04168b39 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:10:40 -0400 Subject: [PATCH 157/206] minor: Fixed the wikicode in my prev.edit. --- doc/shortcuts.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/shortcuts.mdwn b/doc/shortcuts.mdwn index 855b6948a..c352f2452 100644 --- a/doc/shortcuts.mdwn +++ b/doc/shortcuts.mdwn @@ -60,7 +60,7 @@ This page controls what shortcut links the wiki supports. * [[!shortcut name=man url="http://linux.die.net/man/%s"]] * [[!shortcut name=ohloh url="http://www.ohloh.net/projects/%s"]] -To add a new shortcut, use the `[[shortcut|ikiwiki/directive/shortcut]]` +To add a new shortcut, use the [[`shortcut`|ikiwiki/directive/shortcut]] [[ikiwiki/directive]]. In the url, "%s" is replaced with the text passed to the named shortcut, after url-encoding it, and '%S' is replaced with the raw, non-encoded text. The optional `desc` parameter From 48457b6ce3a783b68549ea4fa63b222d28663fe5 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:33:14 -0400 Subject: [PATCH 158/206] Referred to related things. --- doc/todo/tracking_bugs_with_dependencies.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 2832e37aa..b8c5b8f20 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -11,6 +11,8 @@ I like the idea of [[tips/integrated_issue_tracking_with_ikiwiki]], and I do so > >> I thought about this briefly, and got about that far.. glad you got >> further. :-) --[[Joey]] + +>> Or, one could also refer to the language of [[!wikipedia description logics]]: their formulas actually define classes of objects through quantified relations to other classes. --Ivan Z. > > Another option would be go with a more functional syntax. The concept here would > be to allow a pagespec to appear in a 'pagespec function' anywhere a page can. e.g. @@ -67,13 +69,15 @@ I like the idea of [[tips/integrated_issue_tracking_with_ikiwiki]], and I do so >>>> Yeah, guess that'd work. :-) -> One quick further thought. All the above discussion assumes that 'dependency' is the +> One quick further thought. All the above discussion assumes that 'dependency' is the > same as 'links to', which is not really true. For example, you'd like to be able to say > "This bug does not depend upon [ [ link to other bug ] ]" and not have a dependency. > Without having different types of links, I don't see how this would be possible. > > -- [[Will]] +>> I saw that this issue is targeted at by the work on [[structured page data#another_kind_of_links]]. --Ivan Z. + Okie - I've had a quick attempt at this. Initial patch attached. This one doesn't quite work. And there is still a lot of debugging stuff in there. From 5ea5f6546ea828ef45fa9e380899e8ce291e6dcb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 16:36:48 -0400 Subject: [PATCH 159/206] long-delayed code review This patch requires some fortitude to fully understand, but is worth it! --- doc/todo/tracking_bugs_with_dependencies.mdwn | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 2832e37aa..ba653fdcc 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -188,6 +188,43 @@ The following three inlines work for me with this patch: I've lost track of the indent level, so I'm going back to not indented - I think this is a working [[patch]] taking into account all comments above (which doesn't mean it is above reproach :) ). --[[Will]] +> Very belated code review of last version of the patch: +> +> * `is_globlist` is no longer needed +> * `pagespec_translate` is already memoized, so the explicit call +> to memoize when handling a define seems unnecessary? +> * I don't understand why the pagespec match regexp is changed +> from having flags `igx` to `ixgs`. Don't see why you +> want `.` to match '\n` in it, and don't see any `.` in the regexp +> anyway? +> * Some changes of `@_` to `%params` in `pagespec_makeperl` do not +> make sense to me. I don't see where \%params is defined and populated, +> except with `\$params{specFunc}`. +> * Seems that the only reason `match_glob` has to check for `~` is +> because when a named spec appears in a pagespec, it is translated +> to `match_glob("~foo")`. If, instead, `pagespec_makeperl` checked +> for named specs, it could convert them into `check_named_spec("foo")` +> and avoid that ugliness. +> * The changes to `match_link` seem either unecessary, or incomplete. +> Shouldn't it check for named specs and call +> `check_named_spec_existential`? +> * Generally, the need to modify `match_*` functions so that they +> check for and handle named pagespecs seems suboptimal, if +> only because there might be others people may want to use named +> pagespecs with. It would be possible to move this check +> to `pagespec_makeperl`, by having it check if the parameter +> passed to a pagespec function looked like a named pagespec. +> The only issue is that some pagespec functions take a parameter +> that is not a page name at all, and it could be weird +> if such a parameter were accidentially interpreted as a named +> pagespec. (But, that seems unlikely to happen.) +> * I need to check if your trick to avoid infinite recursion +> works if there are two named specs that recursively +> call one-another. I suspect it does, but will test this +> myself.. +> +> --[[Joey]] + ---- diff --git a/IkiWiki.pm b/IkiWiki.pm From d25ddda9246935849dbd3860d3848acde495ef11 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:37:53 -0400 Subject: [PATCH 160/206] Referred to related discussions. --- doc/todo/structured_page_data.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/todo/structured_page_data.mdwn b/doc/todo/structured_page_data.mdwn index d9133b4aa..faeb7192a 100644 --- a/doc/todo/structured_page_data.mdwn +++ b/doc/todo/structured_page_data.mdwn @@ -83,6 +83,7 @@ See also: > >The first use case is handled by having a template in the page creation. You could + >have some type of form to edit the data, but that's just sugar on top of the template. >If you were going to have a web form to edit the data, I can imagine a few ways to do it: > @@ -246,7 +247,7 @@ in a large number of other cases. > or, if you applied the patch in [[todo/tracking_bugs_with_dependencies]] then you can use 'defined pagespecs' > such as `data_link(Depends on,~openBugs)`. The ability to label links like this allows separation of > dependencies between bugs from arbitrary links. - +>> This is issue (the need for distinguished kinds of links) has also been brought up in other discussions: [[tracking_bugs_with_dependencies#another_kind_of_links]] (deps vs. links) and [[tag_pagespec_function]] (tags vs. links). --Ivan Z. ---- #!/usr/bin/perl From b859373d67edbc5818295fbbe8ac2c8e74e8d76e Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 16:41:01 -0400 Subject: [PATCH 161/206] minor: Fixing the crazy formatting in the prev.edit. --- doc/todo/structured_page_data.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/todo/structured_page_data.mdwn b/doc/todo/structured_page_data.mdwn index faeb7192a..72bfd8dea 100644 --- a/doc/todo/structured_page_data.mdwn +++ b/doc/todo/structured_page_data.mdwn @@ -84,6 +84,8 @@ See also: >The first use case is handled by having a template in the page creation. You could + + >have some type of form to edit the data, but that's just sugar on top of the template. >If you were going to have a web form to edit the data, I can imagine a few ways to do it: > @@ -247,7 +249,8 @@ in a large number of other cases. > or, if you applied the patch in [[todo/tracking_bugs_with_dependencies]] then you can use 'defined pagespecs' > such as `data_link(Depends on,~openBugs)`. The ability to label links like this allows separation of > dependencies between bugs from arbitrary links. ->> This is issue (the need for distinguished kinds of links) has also been brought up in other discussions: [[tracking_bugs_with_dependencies#another_kind_of_links]] (deps vs. links) and [[tag_pagespec_function]] (tags vs. links). --Ivan Z. +>> This issue (the need for distinguished kinds of links) has also been brought up in other discussions: [[tracking_bugs_with_dependencies#another_kind_of_links]] (deps vs. links) and [[tag_pagespec_function]] (tags vs. links). --Ivan Z. + ---- #!/usr/bin/perl From aca5479a3a1a0cfee1285f176f7015a53ed6cf2b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 16:45:11 -0400 Subject: [PATCH 162/206] remove bad item --- doc/todo/tracking_bugs_with_dependencies.mdwn | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 3043cd9f2..974bf8dbb 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -195,8 +195,6 @@ account all comments above (which doesn't mean it is above reproach :) ). --[[W > Very belated code review of last version of the patch: > > * `is_globlist` is no longer needed -> * `pagespec_translate` is already memoized, so the explicit call -> to memoize when handling a define seems unnecessary? > * I don't understand why the pagespec match regexp is changed > from having flags `igx` to `ixgs`. Don't see why you > want `.` to match '\n` in it, and don't see any `.` in the regexp From 6f8d8ca1e8a0ad52b1febff3bc70bb907a2a2d72 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 17:12:12 -0400 Subject: [PATCH 163/206] Referred to a related thing: description logics again. --- doc/todo/pagespec_relative_to_a_target.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/todo/pagespec_relative_to_a_target.mdwn b/doc/todo/pagespec_relative_to_a_target.mdwn index 4757988e0..00030cce6 100644 --- a/doc/todo/pagespec_relative_to_a_target.mdwn +++ b/doc/todo/pagespec_relative_to_a_target.mdwn @@ -90,8 +90,12 @@ diff -urNX ignorepats ikiwiki/IkiWiki/Plugin/relative.pm ikidev/IkiWiki/Plugin/r [[!tag patch]] -> This looks really interesting. It reminds me of XPath and its conditionals. +> This looks really interesting. It reminds me of [[!wikipedia XPath]] and its conditionals. > Those might actually work well adapted to pagespecs. For instance, to write > "match any page with a child blah", you could just write *[blah] , or if you > don't want to use relative-by-default in the conditionals, *[./blah]. > -- [[JoshTriplett]] + +> And it [[!taglink also_reminds_me|pagespec_in_DL_style]] of [[!wikipedia description logics]]: of course, given the relation `subpage` one could write a description-logic-style formula which would define the class of pages that are ("existentially") in a given relation (`subpage` or `inverse(subpage)*subpage`) to a certain other class of pages (e.g., named "blah") ("existentially" means there must exist a page, e.g., named "blah", which is in the given relation to the candidate). + +> Probably the model behind XPath is similar (although I don't know enough to say this definitely).--Ivan Z. From 92da3c40b04d2f37f7602846949773a33ec05109 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 17:15:43 -0400 Subject: [PATCH 164/206] tagging description-logic-related ideas (at least, for myself) --- doc/todo/tracking_bugs_with_dependencies.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 974bf8dbb..990d39a93 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -12,7 +12,7 @@ I like the idea of [[tips/integrated_issue_tracking_with_ikiwiki]], and I do so >> I thought about this briefly, and got about that far.. glad you got >> further. :-) --[[Joey]] ->> Or, one could also refer to the language of [[!wikipedia description logics]]: their formulas actually define classes of objects through quantified relations to other classes. --Ivan Z. +>> Or, one [[!taglink could also refer|pagespec_in_DL_style]] to the language of [[!wikipedia description logics]]: their formulas actually define classes of objects through quantified relations to other classes. --Ivan Z. > > Another option would be go with a more functional syntax. The concept here would > be to allow a pagespec to appear in a 'pagespec function' anywhere a page can. e.g. From 362524e2d44df917591c1d6ba6829613773777f7 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 17:20:29 -0400 Subject: [PATCH 165/206] tagging description-logic-related ideas (at least, for myself) --- doc/todo/tag_pagespec_function.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/todo/tag_pagespec_function.mdwn b/doc/todo/tag_pagespec_function.mdwn index 0f2d306af..3604a83d9 100644 --- a/doc/todo/tag_pagespec_function.mdwn +++ b/doc/todo/tag_pagespec_function.mdwn @@ -16,7 +16,9 @@ match tagged pages independent of whatever the tagbase is set to. >> (My [[!taglink wishlist]].) Yes, this is confusing and not nice. I observed this misbehavior, because I wanted to match two different lists of pages (only tagged or linked in any way), but it didn't work. Would this feature require a complex patch? --Ivan Z. >>> If you link to a page 'foo' which happens to be a tag then the page you link from will turn up in the set of pages returned by tagged(foo). The only way to avoid this would be for the tag plugin to not use wikilinks as an implementation method. That itself would not be too hard to do, but there might be people relying on the older behaviour. A better alternative might be to have a "tag2" plugin (or a better name) which implements tagging entirely separately. -- [[Jon]] ->>>> I see; at least, your response is encouraging (that it's not hard). I could even find some work that can give similar features: [[structured page data#another_kind_of_links]] -- they envisage a pagespec like `data_link(Depends on,bugs/bugA)`, thus a "separation of dependencies between bugs from arbitrary links". Indeed, having many relations that can be used in the formulas defining classes of objects (like pagespecs here) is a common thing, so this would be a nice feature. (I'll be trying out the patches there first, probably.) In general, extending the language of pagespecs to something more powerful (like [[!wikipedia description logics]]) seems to be a nice possible feature. I saw a discussion of similar ideas about the extension of the pagespec language somewhere here. --Ivan Z. +>>>> I see; at least, your response is encouraging (that it's not hard). I could even find some work that can give similar features: [[structured page data#another_kind_of_links]] -- they envisage a pagespec like `data_link(Depends on,bugs/bugA)`, thus a "separation of dependencies between bugs from arbitrary links". + +>>>> Indeed, having many relations that can be used in the formulas defining classes of objects (like pagespecs here) is a commonly imagined thing, so this would be a nice feature. (I'll be trying out the patches there first, probably.) In general, extending the language of pagespecs to something more powerful (like [[!wikipedia description logics]]) seems to be a nice possible feature. I saw more discussions of ideas [[!taglink about_the_extension_of_the_pagespec_language_in_the_direction_similar_to_description_logics|pagespec_in_DL_style]] somewhere else here. --Ivan Z. > One other thing, perhaps it should be called `tagged()`? --[[Joey]] From f827a2af9dfc2519d85ae328b3dca3c752e1bd80 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 17:23:39 -0400 Subject: [PATCH 166/206] minor: Fixed the wikicode in my prev.edit. --- doc/todo/tracking_bugs_with_dependencies.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/todo/tracking_bugs_with_dependencies.mdwn b/doc/todo/tracking_bugs_with_dependencies.mdwn index 990d39a93..8b36f1e59 100644 --- a/doc/todo/tracking_bugs_with_dependencies.mdwn +++ b/doc/todo/tracking_bugs_with_dependencies.mdwn @@ -12,7 +12,7 @@ I like the idea of [[tips/integrated_issue_tracking_with_ikiwiki]], and I do so >> I thought about this briefly, and got about that far.. glad you got >> further. :-) --[[Joey]] ->> Or, one [[!taglink could also refer|pagespec_in_DL_style]] to the language of [[!wikipedia description logics]]: their formulas actually define classes of objects through quantified relations to other classes. --Ivan Z. +>> Or, one [[!taglink could_also_refer|pagespec_in_DL_style]] to the language of [[!wikipedia description logics]]: their formulas actually define classes of objects through quantified relations to other classes. --Ivan Z. > > Another option would be go with a more functional syntax. The concept here would > be to allow a pagespec to appear in a 'pagespec function' anywhere a page can. e.g. @@ -60,6 +60,7 @@ I like the idea of [[tips/integrated_issue_tracking_with_ikiwiki]], and I do so >> So, equivilant example: `define(bugs, bugs/* and !*/Discussion) and define(openbugs, bugs and !link(done)) and openbugs and !link(openbugs)` >> + >> Re recursion, it is avoided.. but building a pagespec that is O(N^X) where N is the >> number of pages in the wiki is not avoided. Probably need to add DOS prevention. >> --[[Joey]] From 748b99b392a25cbe7e556da40bfbdc6b0bb4b068 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 17:52:09 -0400 Subject: [PATCH 167/206] thoughts --- doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn index 17d53cd80..415e6af91 100644 --- a/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn +++ b/doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn @@ -28,3 +28,16 @@ page, you might move your mouse pointer to the scrollbar in order to move further down the list, but of course then you are outside the hover region. -- [[Jon]] + +> I agree, browser handling of this CSS is often not good. +> +> A toggle would be the perfect UI, but the heaviness of needing +> to include 30 lines of javascript to do it, plus then it only working +> with javascript enabled, is also not optimal. +> +> Another idea would be to make the "..." a link to the ikiwiki cgi. +> The cgi could then have a mode that displays all the backlinks of a page +> in a list. +> +> Yet another idea: Find some more refined CSS for handling a variable +> size popup.. --[[Joey]] From 4aa6983bea21928760d47d0373e15a9dd0bbd075 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sat, 16 May 2009 17:54:41 -0400 Subject: [PATCH 168/206] thanks. --- doc/wikitemplates/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index bc64ef939..d63f0e374 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -40,3 +40,5 @@ templates *inside* the source repo would do?--Ivan Z. > be given access. (It is, however, perfectly safe to let people edit > the wiki via the web, and is even safe to configure > [[tips/untrusted_git_push]] to such a repository.) --[[Joey]] + +Thanks, that's a nice and simple idea: to have a subdirectory! I'll try it. --Ivan Z. From aa8d40e9417e37d6f1969f5c27062df38957d0b2 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 11:09:37 -0400 Subject: [PATCH 169/206] minor: wikilinks for better navigation. --- doc/plugins/toggle/discussion.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/plugins/toggle/discussion.mdwn b/doc/plugins/toggle/discussion.mdwn index ac22e7eb6..e48eef5ba 100644 --- a/doc/plugins/toggle/discussion.mdwn +++ b/doc/plugins/toggle/discussion.mdwn @@ -1,7 +1,7 @@ ## Nested plugins Is it possible to use another plugin into your toggle plugin? For example, -I want to have toggleable table and try to use Victor Moral's table plugin, +I want to have toggleable table and try to use [[Victor Moral|users/victormoral]]'s [[table plugin|plugins/table]], but no success. How can I do it? --PTecza From c8fcacc4969f75bea03aad038f209a725ddc2aa0 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 11:37:54 -0400 Subject: [PATCH 170/206] A wish about ikiwiki looking for its local setup. --- doc/wikitemplates/discussion.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index d63f0e374..f97444e5f 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -42,3 +42,5 @@ templates *inside* the source repo would do?--Ivan Z. > [[tips/untrusted_git_push]] to such a repository.) --[[Joey]] Thanks, that's a nice and simple idea: to have a subdirectory! I'll try it. --Ivan Z. + +A [[!taglink wish|wishlist]]: the ikiwiki program could be improved so that it follows the same logic as git in looking for its config: it could ascend directories until it finds an `.ikiwiki/` directory with `.ikiwiki/setup` and then uses that configuration. Now I'm tired to always type `ikiwiki --setup path/to/the/setup --refresh` when working in my working clone of the sources; I'd like to simply type `ikiwiki` instead, and let it find the setup file. The default location to look for templates could also be made to be a sibling of the setup file: `.ikiwiki/templates/`. --Ivan Z. From 7c5bbfda8b50ab7e787e9b74e5d20bff6d38db45 Mon Sep 17 00:00:00 2001 From: "83.11.68.73" <83.11.68.73@web> Date: Sun, 17 May 2009 12:29:56 -0400 Subject: [PATCH 171/206] poll vote (Accept only password logins) --- doc/news/openid.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/news/openid.mdwn b/doc/news/openid.mdwn index a15bb2105..cc13a6548 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 62 "Accept only OpenID for logins" 18 "Accept only password logins" 36 "Accept both"]] +[[!poll 62 "Accept only OpenID for logins" 19 "Accept only password logins" 36 "Accept both"]] From 340be7fb570be3be71d8e05ea6605db84fe70b19 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:14:43 -0400 Subject: [PATCH 172/206] About to post a bug. --- doc/ikiwiki/wikilink/discussion.mdwn | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/ikiwiki/wikilink/discussion.mdwn b/doc/ikiwiki/wikilink/discussion.mdwn index 0677ff7de..58a5df18b 100644 --- a/doc/ikiwiki/wikilink/discussion.mdwn +++ b/doc/ikiwiki/wikilink/discussion.mdwn @@ -79,3 +79,6 @@ Is it possible to refer to a page, say \[[foobar]], such that the link text is t > Not yet. :-) Any suggestion for a syntax for it? Maybe something like \[[|foobar]] ? --[[Joey]] I like your suggestion because it's short and conscise. However, it would be nice to be able to refer to more or less arbitrary meta tags in links, not just "title". To do that, the link needs two parameters: the page name and the tag name, i.e. \[[pagename!metatag]]. Any sufficiently weird separater can be used instead of '!', of course. I like \[[pagename->metatag]], too, because it reminds me of accessing a data member of a structure (which is what referencing a meta tag is, really). --Peter + +# Bug +* [[bugs/Pipe-symbol in wikilink target]] From b71228ad602781dcf0713db3c0af49106d76a2e2 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:19:11 -0400 Subject: [PATCH 173/206] New report. --- doc/bugs/pipe-symbol_in_wikilink_target.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 doc/bugs/pipe-symbol_in_wikilink_target.mdwn diff --git a/doc/bugs/pipe-symbol_in_wikilink_target.mdwn b/doc/bugs/pipe-symbol_in_wikilink_target.mdwn new file mode 100644 index 000000000..56dc61386 --- /dev/null +++ b/doc/bugs/pipe-symbol_in_wikilink_target.mdwn @@ -0,0 +1,11 @@ +[[!tag bugs wishlist]] + +Escaping pipe-symbol in wikilink targets doesn't work as I wanted: + +[[a link to smth with a pipe|about the \|-symbol]] + +[[!taglink smth_with_a_pipe|about_the_\|-symbol]] + +But in pagespecs it works: + +[[!map pages="tagged(about the \|-symbol)"]] From 3e715191235d02fb630c41f711387fcaf2b663a8 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:27:05 -0400 Subject: [PATCH 174/206] rename bugs/pipe-symbol_in_wikilink_target.mdwn to bugs/pipe-symbol_in_taglink_target.mdwn --- ...in_wikilink_target.mdwn => pipe-symbol_in_taglink_target.mdwn} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/bugs/{pipe-symbol_in_wikilink_target.mdwn => pipe-symbol_in_taglink_target.mdwn} (100%) diff --git a/doc/bugs/pipe-symbol_in_wikilink_target.mdwn b/doc/bugs/pipe-symbol_in_taglink_target.mdwn similarity index 100% rename from doc/bugs/pipe-symbol_in_wikilink_target.mdwn rename to doc/bugs/pipe-symbol_in_taglink_target.mdwn From 14c940fc9d5ece3b4edc730e18fa9fea822d7f34 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:27:09 -0400 Subject: [PATCH 175/206] update for rename of bugs/pipe-symbol_in_wikilink_target.mdwn to bugs/pipe-symbol_in_taglink_target.mdwn --- doc/ikiwiki/wikilink/discussion.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ikiwiki/wikilink/discussion.mdwn b/doc/ikiwiki/wikilink/discussion.mdwn index 58a5df18b..274c8aaf1 100644 --- a/doc/ikiwiki/wikilink/discussion.mdwn +++ b/doc/ikiwiki/wikilink/discussion.mdwn @@ -81,4 +81,4 @@ Is it possible to refer to a page, say \[[foobar]], such that the link text is t I like your suggestion because it's short and conscise. However, it would be nice to be able to refer to more or less arbitrary meta tags in links, not just "title". To do that, the link needs two parameters: the page name and the tag name, i.e. \[[pagename!metatag]]. Any sufficiently weird separater can be used instead of '!', of course. I like \[[pagename->metatag]], too, because it reminds me of accessing a data member of a structure (which is what referencing a meta tag is, really). --Peter # Bug -* [[bugs/Pipe-symbol in wikilink target]] +* [[bugs/Pipe-symbol_in_taglink_target]] From 2832a6bb52f4b0f3525b9c8e3f07b2fbd86b060e Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:28:27 -0400 Subject: [PATCH 176/206] More correct info. --- doc/bugs/pipe-symbol_in_taglink_target.mdwn | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/bugs/pipe-symbol_in_taglink_target.mdwn b/doc/bugs/pipe-symbol_in_taglink_target.mdwn index 56dc61386..d82fcd43f 100644 --- a/doc/bugs/pipe-symbol_in_taglink_target.mdwn +++ b/doc/bugs/pipe-symbol_in_taglink_target.mdwn @@ -1,11 +1,16 @@ [[!tag bugs wishlist]] -Escaping pipe-symbol in wikilink targets doesn't work as I wanted: - -[[a link to smth with a pipe|about the \|-symbol]] +Escaping pipe-symbol in taglink targets doesn't work as I wanted: [[!taglink smth_with_a_pipe|about_the_\|-symbol]] +[[!taglink smth_with_a_pipe|about_the_|-symbol]] -But in pagespecs it works: +as opposed to simple wikilinks: +[[a link to smth with a pipe|about the \|-symbol]] +[[a link to smth with a pipe|about the |-symbol]] + +And it works in pagespecs: + +[[!map pages="tagged(about the |-symbol)"]] [[!map pages="tagged(about the \|-symbol)"]] From 3cf85af16cd2cfbed633b6b287634cfa3a19c442 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Sun, 17 May 2009 13:33:07 -0400 Subject: [PATCH 177/206] More tests; wikilinks. --- doc/bugs/pipe-symbol_in_taglink_target.mdwn | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/bugs/pipe-symbol_in_taglink_target.mdwn b/doc/bugs/pipe-symbol_in_taglink_target.mdwn index d82fcd43f..e467959be 100644 --- a/doc/bugs/pipe-symbol_in_taglink_target.mdwn +++ b/doc/bugs/pipe-symbol_in_taglink_target.mdwn @@ -1,6 +1,6 @@ [[!tag bugs wishlist]] -Escaping pipe-symbol in taglink targets doesn't work as I wanted: +Escaping pipe-symbol in [[taglink|ikwiki/directive/taglink]] targets doesn't work as I wanted: [[!taglink smth_with_a_pipe|about_the_\|-symbol]] [[!taglink smth_with_a_pipe|about_the_|-symbol]] @@ -10,7 +10,16 @@ as opposed to simple wikilinks: [[a link to smth with a pipe|about the \|-symbol]] [[a link to smth with a pipe|about the |-symbol]] -And it works in pagespecs: +And it seems to work in pagespecs: + +tagged: [[!map pages="tagged(about the |-symbol)"]] + [[!map pages="tagged(about the \|-symbol)"]] + +link: + +[[!map pages="link(about the |-symbol)"]] + +[[!map pages="link(about the \|-symbol)"]] From 279ac3068a53175ddfa2ea112cc5f7fde2a21273 Mon Sep 17 00:00:00 2001 From: "http://hendry.iki.fi/" Date: Sun, 17 May 2009 18:02:20 -0400 Subject: [PATCH 178/206] what i've learnt from doing natalian today --- doc/bugs/html5_support.mdwn | 48 ++++++++++++++----------------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/doc/bugs/html5_support.mdwn b/doc/bugs/html5_support.mdwn index 88c4fd4e6..09ded91da 100644 --- a/doc/bugs/html5_support.mdwn +++ b/doc/bugs/html5_support.mdwn @@ -3,28 +3,8 @@ Some elements of safely supported by ikiwiki. There are [several differences between HTML4 and HTML5](http://www.w3.org/TR/html5-diff/). -> In the `origin/html` branch, there is an old work in progress to make -> ikiwiki use html 4 instead of xhtml. If that could be brought forward and -> finished then the plan has been to switch ikiwiki over to doing html 4. -> I don't think it makes sense to try to make it support both xhtml and -> html, it would complicate the code for no benefit. -> -> I think that is the best route toward supporting html 5 as well. Get -> ikiwiki doing html 4 first and the changes needed to get to 5 from there -> should be small. Probably just changing some doctypes and a few other -> small changes which could be kept in a branch, or even shipped in ikiwiki -> mainline as an alternate set of templates. Some of the changes, like -> supporting new html 5 tags in the htmlscrubber, can be done in mainline. -> (Like was already done for the html 5 video and audio tags.) -> -> This approach seems much more maintainable going foward than rolling a -> html 5 branch immediatly and trying to keep that continually up-to-date -> with mainline ikiwiki that is still using xhtml. --[[Joey]] - ->> TODO Still need to merge origin/html with my html5 branch. - * [HTML5 branch](http://git.webconverger.org/?p=ikiwiki;h=refs/heads/html5) -* [test ikiwiki instance with HTML5 templates](http://h.dabase.com/html5/) +* [ikiwiki instance with HTML5 templates](http://natalian.org) # HTML5 Validation and t/html.t @@ -38,19 +18,27 @@ In the future, hopefully ikiwiki can test for valid HTML5 using [Relax NG schema](http://syntax.whattf.org/) using a Debian package tool [rnv](http://packages.qa.debian.org/r/rnv.html). -# Issues +# HTML5 migration issues + +# [article](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-article-element) element + +This element is poorly supported by browsers. As a workaround, `style.css` needs: + + article { + display: block; + } + +Internet Explorer will display it as a block, though you can't seem to be further control the style. + +# Validator complains with no h1-h6 in header + +* [#509](http://bugzilla.validator.nu/show_bug.cgi?id=509) ## Time element The [time element](http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-time-element) ideally needs the datatime= attribute set by a template variable with what [HTML5 defines as a valid datetime string](http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#valid-global-date-and-time-string). -As a workaround I use in my setup file: +As a workaround: + au:~% grep timeformat natalian.setup timeformat => '%Y-%m-%d', - -## Header - -Many of the header ``s should be proper [header elements](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements) - > See [[todo/Option_to_make_title_an_h1__63__]] for why not. --[[Joey]] - -The [header element](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-header-element) requires a h1-h6 child, in order to [validate](http://validator.nu/). Hence in my [html5 page templates](http://git.webconverger.org/?p=ikiwiki;a=tree;f=templates;hb=refs/heads/html5), I've marked up page title with a h1. From 16c6bdb4c16d66070d3693edca44a83e03b15331 Mon Sep 17 00:00:00 2001 From: "http://hendry.iki.fi/" Date: Sun, 17 May 2009 18:04:06 -0400 Subject: [PATCH 179/206] --- doc/ikiwikiusers.mdwn | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index 76ecff920..989f05dfc 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -121,6 +121,7 @@ Personal sites and blogs * [Gaudenz Steinlin](http://gaudenz.durcheinandertal.ch) * [Simon Kjika'qawej C.](http://simonraven.kisikew.org/ikiwiki/) Please note it might change location at any time (likely wiki.k.o or under /wiki/ at simonraven.k.o). * [NeoCarz Wiki](http://www.neocarz.com/wiki/) Yes - its actually Ikiwiki behind that! I'm using Nginx and XSL to transform the ikiwiki renderings thanks to the valid XHTML output of ikiwiki. Great work Joey!! +* [Natalian - Kai Hendry's personal blog](http://natalian.org/) Please feel free to add your own ikiwiki site! From 2cf8730627737ebf0b4ff1d4a5f59645f31fa56f Mon Sep 17 00:00:00 2001 From: simonraven Date: Mon, 18 May 2009 00:03:58 -0400 Subject: [PATCH 180/206] fix up display of patch, otherwise it's less clear --- ..._are_lower-cased_when_creating_a_page.mdwn | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/doc/bugs/Titles_are_lower-cased_when_creating_a_page.mdwn b/doc/bugs/Titles_are_lower-cased_when_creating_a_page.mdwn index f2c60309b..059415819 100644 --- a/doc/bugs/Titles_are_lower-cased_when_creating_a_page.mdwn +++ b/doc/bugs/Titles_are_lower-cased_when_creating_a_page.mdwn @@ -4,17 +4,19 @@ If I click on "Czars in Russia", I'd like Ikiwiki to create "Czars\_in\_Russia.m > There's a simple patch that can do this: -> --- a/IkiWiki.pm -> +++ b/IkiWiki.pm -> @@ -584,7 +584,7 @@ sub htmllink ($$$;@) { -> return " cgiurl( -> do => "create", -> - page => pagetitle(lc($link), 1), -> + page => pagetitle($link, 1), -> from => $lpage -> ). -> "\">?$linktext" +
+-- a/IkiWiki.pm
++++ b/IkiWiki.pm
+@@ -584,7 +584,7 @@ sub htmllink ($$$;@) {
+ 			return "<span class=\"createlink\"><a href=\"".
+ 				cgiurl(
+ 					do => "create",
+-					page => pagetitle(lc($link), 1),
++					page => pagetitle($link, 1),
+ 					from => $lpage
+ 				).
+ 				"\">?</a>$linktext</span>"
+
> This is fine if you don't mind mixed or randomly cased filenames getting > created. Otoh, if the link happened to start a sentence and so had its From 897cf26ab2cf7b8fe3b2b03a096fc7e7c2d8ccb6 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 00:49:53 -0400 Subject: [PATCH 181/206] Added a link to a bugreport I'm about to post. --- doc/ikiwiki/pagespec/discussion.mdwn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/ikiwiki/pagespec/discussion.mdwn b/doc/ikiwiki/pagespec/discussion.mdwn index 4eed3722c..ac3038a22 100644 --- a/doc/ikiwiki/pagespec/discussion.mdwn +++ b/doc/ikiwiki/pagespec/discussion.mdwn @@ -92,3 +92,7 @@ does not seem suitable for this, as > \[[!map pages="./*"]] also lists the current page and all its siblings. + +---- + +I'm about to post [[bugs/pagespec can't match curly braces]]. --Ivan Z. From 0bbeb9fa231bd3135120d91cc80de49d4b4ccaa9 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 00:52:40 -0400 Subject: [PATCH 182/206] minor: Another name for the bugreport, so that it can participate in my test. --- doc/ikiwiki/pagespec/discussion.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/ikiwiki/pagespec/discussion.mdwn b/doc/ikiwiki/pagespec/discussion.mdwn index ac3038a22..f4fdd764e 100644 --- a/doc/ikiwiki/pagespec/discussion.mdwn +++ b/doc/ikiwiki/pagespec/discussion.mdwn @@ -95,4 +95,4 @@ also lists the current page and all its siblings. ---- -I'm about to post [[bugs/pagespec can't match curly braces]]. --Ivan Z. +I'm about to post [[bugs/pagespec can't match {curly} braces]]. --Ivan Z. From 81a0e378565703daa8c87078647b6dc25e84bce9 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 00:55:45 -0400 Subject: [PATCH 183/206] A misfeature report. --- ...spec_can__39__t_match___123__curly__125___braces.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn diff --git a/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn new file mode 100644 index 000000000..a2cf92df7 --- /dev/null +++ b/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -0,0 +1,9 @@ +I want match pages which have actually curly braces in the names (like this one), but this matches a lot of pages without the braces in their names :( : + +[[!map pages="{*}*"]] + +When escaped, it doesn't work at all: + +[[!map pages="\{*}*"]] + +[[!map pages="{*\}*"]] From bb0e9b7825c1de69e300fea5b440d496476abd53 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 00:57:31 -0400 Subject: [PATCH 184/206] minor: A narrower pattern, so that the example list is not that huge. --- ...agespec_can__39__t_match___123__curly__125___braces.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index a2cf92df7..263950a1d 100644 --- a/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -1,9 +1,9 @@ I want match pages which have actually curly braces in the names (like this one), but this matches a lot of pages without the braces in their names :( : -[[!map pages="{*}*"]] +[[!map pages="*_{*}_*"]] When escaped, it doesn't work at all: -[[!map pages="\{*}*"]] +[[!map pages="*_\{*}_*"]] -[[!map pages="{*\}*"]] +[[!map pages="*_{*\}_*"]] From 43013495bbc15530f7d59d7314dd54ac94419012 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:29:07 +0100 Subject: [PATCH 185/206] move bug to /bugs --- .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/{ikiwiki/pagespec => }/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn (100%) diff --git a/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn similarity index 100% rename from doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn rename to doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn From 78004c409eed7a06777696bcf6e935cdf4ee6f39 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:35:52 +0100 Subject: [PATCH 186/206] expand my user page --- doc/users/jon.mdwn | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/users/jon.mdwn b/doc/users/jon.mdwn index 1cda23999..551d4764a 100644 --- a/doc/users/jon.mdwn +++ b/doc/users/jon.mdwn @@ -16,5 +16,12 @@ of software for this task. * slides at . -I am also working on some ikiwiki hacks: an alternative approach to -[[plugins/comments]]; a system for [[forum/managing_todo_lists]]. +I am also working on some ikiwiki hacks: + +* an alternative approach to [[plugins/comments]] (see + [[todo/more flexible inline postform]] for one piece of the puzzle; + for some investigation into making the post + form more integrated) +* a system for [[forum/managing_todo_lists]] (see also + [[todo/interactive todo lists]] and for the + current WIP). From 749b0fe54dddd33058755b8f2fb60145e94656a7 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:39:36 +0100 Subject: [PATCH 187/206] make bug more concise --- ...9__t_match___123__curly__125___braces.mdwn | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index 263950a1d..0c77a2f41 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -1,9 +1,28 @@ I want match pages which have actually curly braces in the names (like this one), but this matches a lot of pages without the braces in their names :( : -[[!map pages="*_{*}_*"]] +[[!inline show="3" archive="yes" pages="*_{*}_*"]] + +(note: the inline above has been restricted to 3 matches to keep this page +concise. Hopefully it is still clear that this page is not in the output set, +and the 3 pages in the output set do not contain curly braces in their +titles). When escaped, it doesn't work at all: -[[!map pages="*_\{*}_*"]] +[[!inline show="3" archive="yes" pages="*_\{*}_*"]] -[[!map pages="*_{*\}_*"]] +[[!inline show="3" archive="yes" pages="*_{*\}_*"]] + +More tests: + +"\*{\*": + +[[!inline show="3" archive="yes" pages="*{*"]] + +"\*}\*": + +[[!inline show="3" archive="yes" pages="*}*"]] + +"\*}\* and \*{\*": + +[[!inline show="3" archive="yes" pages="*}* and *{*"]] From bca02e0ee8106cf5581d9de34c2854da63ade678 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:42:16 +0100 Subject: [PATCH 188/206] archive=no for test inlines --- ...n__39__t_match___123__curly__125___braces.mdwn | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index 0c77a2f41..3eaf38910 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -1,6 +1,6 @@ I want match pages which have actually curly braces in the names (like this one), but this matches a lot of pages without the braces in their names :( : -[[!inline show="3" archive="yes" pages="*_{*}_*"]] +[[!inline show="3" feed="no" archive="yes" pages="*_{*}_*"]] (note: the inline above has been restricted to 3 matches to keep this page concise. Hopefully it is still clear that this page is not in the output set, @@ -9,20 +9,17 @@ titles). When escaped, it doesn't work at all: -[[!inline show="3" archive="yes" pages="*_\{*}_*"]] +[[!inline show="3" feed="no" archive="yes" pages="*_\{*}_*"]] -[[!inline show="3" archive="yes" pages="*_{*\}_*"]] +[[!inline show="3" feed="no" archive="yes" pages="*_{*\}_*"]] More tests: "\*{\*": -[[!inline show="3" archive="yes" pages="*{*"]] +[[!inline show="3" feed="no" archive="yes" pages="*{*"]] -"\*}\*": +"\*\\{\*": -[[!inline show="3" archive="yes" pages="*}*"]] +[[!inline show="3" feed="no" archive="yes" pages="*\{*"]] -"\*}\* and \*{\*": - -[[!inline show="3" archive="yes" pages="*}* and *{*"]] From 8e12c8562175d2c91344a33e87e470a35573b807 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:44:07 +0100 Subject: [PATCH 189/206] s/feed/feeds/. Whoops. --- ...ec_can__39__t_match___123__curly__125___braces.mdwn | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index 3eaf38910..246cdc421 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -1,6 +1,6 @@ I want match pages which have actually curly braces in the names (like this one), but this matches a lot of pages without the braces in their names :( : -[[!inline show="3" feed="no" archive="yes" pages="*_{*}_*"]] +[[!inline show="3" feeds="no" archive="yes" pages="*_{*}_*"]] (note: the inline above has been restricted to 3 matches to keep this page concise. Hopefully it is still clear that this page is not in the output set, @@ -9,17 +9,17 @@ titles). When escaped, it doesn't work at all: -[[!inline show="3" feed="no" archive="yes" pages="*_\{*}_*"]] +[[!inline show="3" feeds="no" archive="yes" pages="*_\{*}_*"]] -[[!inline show="3" feed="no" archive="yes" pages="*_{*\}_*"]] +[[!inline show="3" feeds="no" archive="yes" pages="*_{*\}_*"]] More tests: "\*{\*": -[[!inline show="3" feed="no" archive="yes" pages="*{*"]] +[[!inline show="3" feeds="no" archive="yes" pages="*{*"]] "\*\\{\*": -[[!inline show="3" feed="no" archive="yes" pages="*\{*"]] +[[!inline show="3" feeds="no" archive="yes" pages="*\{*"]] From 8bf1b29314fa8f1d43ad87328800dff8d1f3f94b Mon Sep 17 00:00:00 2001 From: simonraven Date: Mon, 18 May 2009 14:09:38 -0400 Subject: [PATCH 190/206] --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/bugs/Insecure_dependency_in_mkdir.mdwn b/doc/bugs/Insecure_dependency_in_mkdir.mdwn index 67b30e687..bb8a291d3 100644 --- a/doc/bugs/Insecure_dependency_in_mkdir.mdwn +++ b/doc/bugs/Insecure_dependency_in_mkdir.mdwn @@ -82,3 +82,8 @@ I can't see any related entries. Any ideas? >>> Ubuntu Gutsy also has Perl 5.8.8-7, so probably it has the bug too. >>> --[[Paweł|ptecza]] + +>>>> I just got it while building my latest version of git.ikiwiki.info + my stuff. +>>>> Only thing different in my version in IkiWiki.pm is that I moved a </a> over +>>>> a word (for createlink), and disabled the lowercasing of created pages. Running +>>>> Lenny's Perl. --[[simonraven]] From 59d0c28e8fa2dd9998ee212be36875510fa04f9f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 14:52:51 -0400 Subject: [PATCH 191/206] response --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/bugs/Insecure_dependency_in_mkdir.mdwn b/doc/bugs/Insecure_dependency_in_mkdir.mdwn index bb8a291d3..72e503019 100644 --- a/doc/bugs/Insecure_dependency_in_mkdir.mdwn +++ b/doc/bugs/Insecure_dependency_in_mkdir.mdwn @@ -87,3 +87,8 @@ I can't see any related entries. Any ideas? >>>> Only thing different in my version in IkiWiki.pm is that I moved a </a> over >>>> a word (for createlink), and disabled the lowercasing of created pages. Running >>>> Lenny's Perl. --[[simonraven]] + +>>>> Simon, I'm not clear what version of ikiwiki you're using. +>>>> Since version 2.40, taint checking has been disabled by +>>>> default due to the underlying perl bug. Unless you +>>>> build ikiwiki with NOTAINT=0. --[[Joey]] From 0516ba04d014628be983dbd3e4c28a8f52a2c3e7 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:08:49 -0400 Subject: [PATCH 192/206] analysis --- ...n__39__t_match___123__curly__125___braces.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index 246cdc421..c03f82907 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -23,3 +23,18 @@ More tests: [[!inline show="3" feeds="no" archive="yes" pages="*\{*"]] +> This is due to the current handling of quoting and escaping issues +> when converting a pagespec to perl code. `safequote` is used to +> safely quote an input string as a `q{}` quote, and it strips +> curlies when doing so to avoid one being used to break out of the `q{}`. +> +> Alternative ways to handle it would be: +> * Escape curlies. But then you have to deal with backslashes +> in the user's input as they could try to defeat your escaping. +> Gets tricky. +> * Avoid exposing user input to interpolation as a string. One +> way that comes to mind is to have a local string lookup hash, +> and insert each user specified string into it, then use the hash +> to lookup the specified strings at runtime. +> +> --[[Joey]] From 23a4ee6d15dbd9b8e8c6588a829dd30a26a8de32 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:25:10 -0400 Subject: [PATCH 193/206] Allow curly braces to be used in pagespecs And avoid a whole class of potential security problems (though none that I know of actually existing..), by avoiding performing any string interpolation on user-supplied data when translating pagespecs. --- IkiWiki.pm | 16 +++++++--------- debian/changelog | 3 +++ ...__39__t_match___123__curly__125___braces.mdwn | 2 +- t/pagespec_match.t | 4 +++- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 6233d2ead..061a1c6db 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1678,12 +1678,6 @@ sub rcs_receive () { $hooks{rcs}{rcs_receive}{call}->(); } -sub safequote ($) { - my $s=shift; - $s=~s/[{}]//g; - return "q{$s}"; -} - sub add_depends ($$) { my $page=shift; my $pagespec=shift; @@ -1785,6 +1779,7 @@ sub pagespec_translate ($) { # Convert spec to perl code. my $code=""; + my @data; while ($spec=~m{ \s* # ignore whitespace ( # 1: match a single word @@ -1812,14 +1807,17 @@ sub pagespec_translate ($) { } elsif ($word =~ /^(\w+)\((.*)\)$/) { if (exists $IkiWiki::PageSpec::{"match_$1"}) { - $code.="IkiWiki::PageSpec::match_$1(\$page, ".safequote($2).", \@_)"; + push @data, $2; + $code.="IkiWiki::PageSpec::match_$1(\$page, \$data[$#data], \@_)"; } else { - $code.="IkiWiki::ErrorReason->new(".safequote(qq{unknown function in pagespec "$word"}).")"; + push @data, qq{unknown function in pagespec "$word"}; + $code.="IkiWiki::ErrorReason->new(\$data[$#data])"; } } else { - $code.=" IkiWiki::PageSpec::match_glob(\$page, ".safequote($word).", \@_)"; + push @data, $word; + $code.=" IkiWiki::PageSpec::match_glob(\$page, \$data[$#data], \@_)"; } } diff --git a/debian/changelog b/debian/changelog index c2819d0c5..7efa31cf1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ ikiwiki (3.13) UNRELEASED; urgency=low of other underlays via add_underlay. * More friendly display of markdown, textile in edit form selector (jmtd) + * Allow curly braces to be used in pagespecs, and avoid a whole class + of potential security problems, by avoiding performing any string + interpolation on user-supplied data when translating pagespecs. -- Joey Hess Wed, 06 May 2009 20:45:44 -0400 diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index c03f82907..e3146d92a 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -35,6 +35,6 @@ More tests: > * Avoid exposing user input to interpolation as a string. One > way that comes to mind is to have a local string lookup hash, > and insert each user specified string into it, then use the hash -> to lookup the specified strings at runtime. +> to lookup the specified strings at runtime. [[done]] > > --[[Joey]] diff --git a/t/pagespec_match.t b/t/pagespec_match.t index 69cf361de..4cf6fa1ff 100755 --- a/t/pagespec_match.t +++ b/t/pagespec_match.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 51; +use Test::More tests => 53; BEGIN { use_ok("IkiWiki"); } @@ -28,6 +28,8 @@ ok(pagespec_match("a/foo", "./*", "a/b"), "relative oldstyle call"); ok(pagespec_match("foo", "./*", location => "a"), "relative toplevel"); ok(pagespec_match("foo/bar", "*", location => "baz"), "absolute"); ok(! pagespec_match("foo", "foo and bar"), "foo and bar"); +ok(pagespec_match("{f}oo", "{*}*"), "curly match"); +ok(! pagespec_match("foo", "{*}*"), "curly !match"); # The link and backlink stuff needs this. $config{userdir}=""; From a4ce0468f6f562ad4ec749f156528aa5b3f2fe39 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:26:02 -0400 Subject: [PATCH 194/206] remove link to fixed bug Let's just rely on backlinks for this? --- doc/ikiwiki/pagespec/discussion.mdwn | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/ikiwiki/pagespec/discussion.mdwn b/doc/ikiwiki/pagespec/discussion.mdwn index f4fdd764e..4eed3722c 100644 --- a/doc/ikiwiki/pagespec/discussion.mdwn +++ b/doc/ikiwiki/pagespec/discussion.mdwn @@ -92,7 +92,3 @@ does not seem suitable for this, as > \[[!map pages="./*"]] also lists the current page and all its siblings. - ----- - -I'm about to post [[bugs/pagespec can't match {curly} braces]]. --Ivan Z. From 4f4666c4ae5cdf5e04ac42cc52a97d90e978adb0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:30:07 -0400 Subject: [PATCH 195/206] remove manual backlink ikiwiki has backlinks so we don't have to clutter up pages with links to pages that link to them, which this basically did --- doc/ikiwiki/wikilink/discussion.mdwn | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/ikiwiki/wikilink/discussion.mdwn b/doc/ikiwiki/wikilink/discussion.mdwn index 274c8aaf1..0677ff7de 100644 --- a/doc/ikiwiki/wikilink/discussion.mdwn +++ b/doc/ikiwiki/wikilink/discussion.mdwn @@ -79,6 +79,3 @@ Is it possible to refer to a page, say \[[foobar]], such that the link text is t > Not yet. :-) Any suggestion for a syntax for it? Maybe something like \[[|foobar]] ? --[[Joey]] I like your suggestion because it's short and conscise. However, it would be nice to be able to refer to more or less arbitrary meta tags in links, not just "title". To do that, the link needs two parameters: the page name and the tag name, i.e. \[[pagename!metatag]]. Any sufficiently weird separater can be used instead of '!', of course. I like \[[pagename->metatag]], too, because it reminds me of accessing a data member of a structure (which is what referencing a meta tag is, really). --Peter - -# Bug -* [[bugs/Pipe-symbol_in_taglink_target]] From 8f1d02decf81f9f3d1214516927a134339dc6eeb Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 15:30:27 -0400 Subject: [PATCH 196/206] minor: formatting. --- .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index e3146d92a..2f215d297 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -29,9 +29,11 @@ More tests: > curlies when doing so to avoid one being used to break out of the `q{}`. > > Alternative ways to handle it would be: +> > * Escape curlies. But then you have to deal with backslashes > in the user's input as they could try to defeat your escaping. > Gets tricky. +> > * Avoid exposing user input to interpolation as a string. One > way that comes to mind is to have a local string lookup hash, > and insert each user specified string into it, then use the hash From f001ef7498fa397850be153baa166660d5fb431c Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 15:44:28 -0400 Subject: [PATCH 197/206] Re: Let's just rely on backlinks for this? --- .../Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn diff --git a/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn b/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn new file mode 100644 index 000000000..35940cf33 --- /dev/null +++ b/doc/forum/Let__39__s_just_rely_on_backlinks_for_this__63__.mdwn @@ -0,0 +1,3 @@ +Re [Let's just rely on backlinks for this?](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/ikiwiki/pagespec/discussion.mdwn;h=4eed3722ccc744595fc8380e68e69dc9e1ad6450;hp=f4fdd764ed61c34c09af9df046a1a134b7d0ffe6;hb=a4ce0468f6f562ad4ec749f156528aa5b3f2fe39;hpb=23a4ee6d15dbd9b8e8c6588a829dd30a26a8de32) and [2](http://git.ikiwiki.info/?p=ikiwiki;a=blobdiff;f=doc/ikiwiki/wikilink/discussion.mdwn;h=0677ff7ded6a86be7d010dfd97affdb6b266832a;hp=274c8aaf1d075adbf3b76496e1945348aefe836a;hb=4f4666c4ae5cdf5e04ac42cc52a97d90e978adb0;hpb=a4ce0468f6f562ad4ec749f156528aa5b3f2fe39): + +I simply didn't notice there is an "add a new bug" form at [[bugs]], so I used the obvious way to create a page through the web-interface: to put first a wikilink pointing at the new page. --Ivan Z. From 68eb9de5015d23418dc9ad6bbc92ea4a58a59eba Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 15:46:57 -0400 Subject: [PATCH 198/206] thanks. --- .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn index 2f215d297..dee1e9891 100644 --- a/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ b/doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn @@ -40,3 +40,5 @@ More tests: > to lookup the specified strings at runtime. [[done]] > > --[[Joey]] + +Thank you! I'll try it. --Ivan Z. From f52fed88b82f585ad3a45c73cb0e567da69481d8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:49:02 -0400 Subject: [PATCH 199/206] typo --- ...to_fix___34__does_not_map_to_Unicode__34___errors__63__.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/forum/How_to_fix___34__does_not_map_to_Unicode__34___errors__63__.mdwn b/doc/forum/How_to_fix___34__does_not_map_to_Unicode__34___errors__63__.mdwn index 0b3895357..20a4ad022 100644 --- a/doc/forum/How_to_fix___34__does_not_map_to_Unicode__34___errors__63__.mdwn +++ b/doc/forum/How_to_fix___34__does_not_map_to_Unicode__34___errors__63__.mdwn @@ -15,6 +15,6 @@ Thanks > sure that page contains invalid utf-8 if the message is then printed. > > Another option is to use the `isutf8` program from -> moreutils](http://kitenet.net/~joey/code/moreutils/), +> [moreutils](http://kitenet.net/~joey/code/moreutils/), > and run it on each file, it will tell you the line number > and character position that is invalid. --[[Joey]] From 631e7e0b20d301a00a04db72d0c020afa4ec2e71 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 17:10:26 -0400 Subject: [PATCH 200/206] a development on the topic of defining classes of pages --- doc/todo/inlines_inheriting_links.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 doc/todo/inlines_inheriting_links.mdwn diff --git a/doc/todo/inlines_inheriting_links.mdwn b/doc/todo/inlines_inheriting_links.mdwn new file mode 100644 index 000000000..54249bdee --- /dev/null +++ b/doc/todo/inlines_inheriting_links.mdwn @@ -0,0 +1,16 @@ +[[!tag wishlist]] + +Continuing the ideas in [[bugs/Inline doesn't wikilink to pages]]. + +I thought of a use case for another feature: making [[directives/inline]] inherit the link relations of the included pages (optionally, say, with `inheritlinks=yes`). For example, if I want to list `elements/*` that have been linked to in any of `new_stuff/*`, I could try to write a [[ikiwiki/pagespec]] like +`elements/* and backlink(new_stuff/*)`. + +This is not yet possible, as discussed in [[todo/tracking_bugs_with_dependencies/]]. + +It would be possible to work around this limitation of pagespecs if it was possible to create a page `all_new_stuff` with `\[[!inline pages="new_stuff/*" inheritlinks=yes]]`: then the desired pagespec would be expressed as `elements/* and backlink(all_new_stuff)`. + +This is not just an ugly workaround. The availability of this feature has some reason: the classes of pages you want to refer to "recursively" (in that kind of complex pagespecs) tend to have some meaning themselves. So, I might indeed want to have a page like `all_new_stuff`, it would be useful for me. And at the same time I would like to write pagespecs like `elements/* and backlink(all_new_stuff)` -- and using the proposed feature in [[todo/tracking_bugs_with_dependencies/]] would be less clean because then I would have to enter the same information at two places: the possibly complex pagespec in the inline. And having redundant information leads to inconsistency. + +So in a sense, in some or most cases, it would indeed be cleaner to "store" the definition of a class of pages referred to in complex pagespecs as a separate object. And the most natural representation for this definition of a class of pages (adhering to the principle of wiki that what you mean is entered/stored in its most natural representation, not through some hidden disconnected code) is making a page with an inline/map/or the like, so that at the same time you store the definition and you see what it is (the set of pages is displayed to you). + +I would actually use it in my current "project" in ikiwiki: I actually edit a set of materials as a set of subpages `new_stuff/*`, and I also want to have a combined view of all of them (made through inline), and at another page, I want to list what has been linked to in `new_stuff/*` and what hasn't been linked to.--Ivan Z. From b00f5a5f522ee4e9d48dc418d70852195d0262d7 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 17:13:42 -0400 Subject: [PATCH 201/206] Fixed a wikilink target. --- doc/todo/inlines_inheriting_links.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/todo/inlines_inheriting_links.mdwn b/doc/todo/inlines_inheriting_links.mdwn index 54249bdee..5560b19c6 100644 --- a/doc/todo/inlines_inheriting_links.mdwn +++ b/doc/todo/inlines_inheriting_links.mdwn @@ -2,7 +2,7 @@ Continuing the ideas in [[bugs/Inline doesn't wikilink to pages]]. -I thought of a use case for another feature: making [[directives/inline]] inherit the link relations of the included pages (optionally, say, with `inheritlinks=yes`). For example, if I want to list `elements/*` that have been linked to in any of `new_stuff/*`, I could try to write a [[ikiwiki/pagespec]] like +I thought of a use case for another feature: making [[ikiwiki/directive/inline]] inherit the link relations of the included pages (optionally, say, with `inheritlinks=yes`). For example, if I want to list `elements/*` that have been linked to in any of `new_stuff/*`, I could try to write a [[ikiwiki/pagespec]] like `elements/* and backlink(new_stuff/*)`. This is not yet possible, as discussed in [[todo/tracking_bugs_with_dependencies/]]. From 10c82d48247989412a66fd849743ea1d98335ff1 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 17:26:32 -0400 Subject: [PATCH 202/206] A further development of the idea. --- doc/todo/inlines_inheriting_links.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/todo/inlines_inheriting_links.mdwn b/doc/todo/inlines_inheriting_links.mdwn index 5560b19c6..12531990c 100644 --- a/doc/todo/inlines_inheriting_links.mdwn +++ b/doc/todo/inlines_inheriting_links.mdwn @@ -5,10 +5,14 @@ Continuing the ideas in [[bugs/Inline doesn't wikilink to pages]]. I thought of a use case for another feature: making [[ikiwiki/directive/inline]] inherit the link relations of the included pages (optionally, say, with `inheritlinks=yes`). For example, if I want to list `elements/*` that have been linked to in any of `new_stuff/*`, I could try to write a [[ikiwiki/pagespec]] like `elements/* and backlink(new_stuff/*)`. -This is not yet possible, as discussed in [[todo/tracking_bugs_with_dependencies/]]. +This is not yet possible, as discussed in [[todo/tracking_bugs_with_dependencies]]. It would be possible to work around this limitation of pagespecs if it was possible to create a page `all_new_stuff` with `\[[!inline pages="new_stuff/*" inheritlinks=yes]]`: then the desired pagespec would be expressed as `elements/* and backlink(all_new_stuff)`. +> Or, instead of specifying whether to inherit at the place of the inline, add more relations (`inline`, `backinline`) and relation composition (say, `*`, or haskell-ish `$` in order not confuse with the glob `*`) and explicitly write in the pagespecs that you want to follow the inline relation backwards: `elements/* and backlink$backinline(all_new_stuff)` or, equivalently, if [["classes"|todo/tracking_bugs_with_dependencies]] are implemented in pagespecs: `elements/* and backlink(backinline(all_new_stuff))`. Of course, this suggestion requires the powerful extension to pagespecs, but it gives more flexibility, and the possibility to avoid redundant information: the same pagespec at two places -- the inline and the other matching construction. +> +> BTW, adding more relations -- the `inline` relation among them -- would satisfy [[the other feature request|bugs/Inline doesn't wikilink to pages]]. --Ivan Z. + This is not just an ugly workaround. The availability of this feature has some reason: the classes of pages you want to refer to "recursively" (in that kind of complex pagespecs) tend to have some meaning themselves. So, I might indeed want to have a page like `all_new_stuff`, it would be useful for me. And at the same time I would like to write pagespecs like `elements/* and backlink(all_new_stuff)` -- and using the proposed feature in [[todo/tracking_bugs_with_dependencies/]] would be less clean because then I would have to enter the same information at two places: the possibly complex pagespec in the inline. And having redundant information leads to inconsistency. So in a sense, in some or most cases, it would indeed be cleaner to "store" the definition of a class of pages referred to in complex pagespecs as a separate object. And the most natural representation for this definition of a class of pages (adhering to the principle of wiki that what you mean is entered/stored in its most natural representation, not through some hidden disconnected code) is making a page with an inline/map/or the like, so that at the same time you store the definition and you see what it is (the set of pages is displayed to you). From 0e82950125d9f6182689cf74921dbb57f1140f96 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Mon, 18 May 2009 17:47:24 -0400 Subject: [PATCH 203/206] formlating the thing with multiple kinds of links --- doc/todo/matching_different_kinds_of_links.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/todo/matching_different_kinds_of_links.mdwn diff --git a/doc/todo/matching_different_kinds_of_links.mdwn b/doc/todo/matching_different_kinds_of_links.mdwn new file mode 100644 index 000000000..d3c3a1375 --- /dev/null +++ b/doc/todo/matching_different_kinds_of_links.mdwn @@ -0,0 +1,9 @@ +[[!tag wishlist]] + +As noted in [[todo/tag_pagespec_function]], there is a "misbehavior" of a `tagged()` pagespec: it matches even pages which have plain links to the tag page. + +And in general, it would be quite useful to be able to distinguish different kinds of links: one more kind, in addition to "tag", is "bug dependency" noted in [[todo/structured_page_data#another_kind_of_links]] and [[todo/tracking_bugs_with_dependencies#another_kind_of_links]]. + +It could distinguish the links by the `rel=` attribute. ([[Tags already receive a special rel-class|todo/rel_attribute_for_links]].) This means there is a general need for a syntax to specify user-defined rel-classes on wikilink (then bug deps would simply use their special rel-class, either directly, or through a special directive like `\[[!depends ]]`), and to refer to them in pagespecs (in forward and backward direction). + +Besides pagespecs, the `rel=` attribute could be used for styles. --Ivan Z. From 9df6ef9c861bec06a2cae7ec8b8c5d6725392035 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 19 May 2009 02:19:29 -0400 Subject: [PATCH 204/206] --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/bugs/Insecure_dependency_in_mkdir.mdwn b/doc/bugs/Insecure_dependency_in_mkdir.mdwn index 72e503019..28304b3d3 100644 --- a/doc/bugs/Insecure_dependency_in_mkdir.mdwn +++ b/doc/bugs/Insecure_dependency_in_mkdir.mdwn @@ -92,3 +92,38 @@ I can't see any related entries. Any ideas? >>>> Since version 2.40, taint checking has been disabled by >>>> default due to the underlying perl bug. Unless you >>>> build ikiwiki with NOTAINT=0. --[[Joey]] + +>>>> Hi, nope not doing this. Um, sorry, v. 3.13. I've no idea why it suddenly started doing this. +>>>> It wasn't before. I've been messing around IkiWiki.pm to see if I can set +>>>> a umask for `mkdir`. + +line 775 and down: ++ umask ($config{umask} || 0022); + +>>>> I figured it *might* be the `umask`, but I'll see in a few when / if it gets past that in the build. No; I keep getting garbage during the brokenlinks test + +
+t/basewiki_brokenlinks.....Insecure dependency in mkdir while running with -T switch at IkiWiki.pm line 776.
+
+#   Failed test at t/basewiki_brokenlinks.t line 11.
+
+#   Failed test at t/basewiki_brokenlinks.t line 19.
+
+
+broken links found
+<li>shortcut from <a href="./shortcuts/">shortcuts</a></li></ul>
+
+
+
+#   Failed test at t/basewiki_brokenlinks.t line 25.
+Insecure dependency in mkdir while running with -T switch at IkiWiki.pm line 776.
+
+#   Failed test at t/basewiki_brokenlinks.t line 11.
+
+#   Failed test at t/basewiki_brokenlinks.t line 25.
+# Looks like you failed 5 tests of 12.
+dubious
+        Test returned status 5 (wstat 1280, 0x500)
+
+ +>>>> I get this over and over... I haven't touched that AFAICT, at all. --[[simonraven]] From 68b5441b4c01251a5953d2c89a12b23af918b4c5 Mon Sep 17 00:00:00 2001 From: tschwinge Date: Tue, 19 May 2009 04:46:24 -0400 Subject: [PATCH 205/206] tagged() matching wikilinks? --- .../tagged__40____41___matching_wikilinks.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/bugs/tagged__40____41___matching_wikilinks.mdwn diff --git a/doc/bugs/tagged__40____41___matching_wikilinks.mdwn b/doc/bugs/tagged__40____41___matching_wikilinks.mdwn new file mode 100644 index 000000000..fd397e28f --- /dev/null +++ b/doc/bugs/tagged__40____41___matching_wikilinks.mdwn @@ -0,0 +1,15 @@ +It may be that I'm simply misunderstanding something, but what is the rationale +for having `tagged()` also match normal wikilinks? + +The following situation. I have `tagbase => 'tag'`. On some pages, scattered +over the whole wiki, I use `\[[!tag open_issue_gdb]]` to declare that this page +contains information about an open issue with GDB. Then, I have a page +`/tag/open_issues_gdb.mdwn` that essentially contains `\[[!map +pages="tagged(open_issue_gdb)"]]`. So far, so good: this page indeed does list +all pages that are tagged like this. But now, when I add in `/gdb.mdwn` a link +to this page, like `\[[Open Issues|tag/open_issue_gdb]]`, then `/gdb.mdwn` +itself shows up in the map on `tag/open_issues_gdb.mdwn`. In my understanding +this is due to the wikilink being equal to a `\[[!tag ...]]`. What's the +rationale on this, or what am I doing wrong, and how to achieve what I want? + +--[[tschwinge]] From 4c5987d150b26f638494638f7861fb7646542a37 Mon Sep 17 00:00:00 2001 From: "http://lj.rossia.org/users/imz/" Date: Tue, 19 May 2009 05:00:51 -0400 Subject: [PATCH 206/206] Refer to the answer. --- doc/bugs/tagged__40____41___matching_wikilinks.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/bugs/tagged__40____41___matching_wikilinks.mdwn b/doc/bugs/tagged__40____41___matching_wikilinks.mdwn index fd397e28f..1bd556f50 100644 --- a/doc/bugs/tagged__40____41___matching_wikilinks.mdwn +++ b/doc/bugs/tagged__40____41___matching_wikilinks.mdwn @@ -1,6 +1,8 @@ It may be that I'm simply misunderstanding something, but what is the rationale for having `tagged()` also match normal wikilinks? +> It simply hasn't been implemented yet -- see the answer in [[todo/tag_pagespec_function]]. Tags and wikilinks share the same underlying implementation, although ab reasonable expectation is that they are kept separate. --Ivan Z. + The following situation. I have `tagbase => 'tag'`. On some pages, scattered over the whole wiki, I use `\[[!tag open_issue_gdb]]` to declare that this page contains information about an open issue with GDB. Then, I have a page