From b42195625cfa8fe1f58c8dc7b628418a8082196e Mon Sep 17 00:00:00 2001 From: intrigeri Date: Mon, 20 Apr 2009 19:00:12 +0200 Subject: pagetitle_function_does_not_respect_meta_titles: proposal --- ...itle_function_does_not_respect_meta_titles.mdwn | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From b9b7dfa176e46841801c4fcedff2caa7cd2c0522 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:40:07 +0100 Subject: backlinks issue --- doc/bugs/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 (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From e1d0b1529b56313940d0b52ef4a4a7106d03a1fd Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Fri, 24 Apr 2009 14:41:25 +0100 Subject: another backlinks issue --- doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 4202dab92cc90d94aaddf086c44af4a16b207f7e Mon Sep 17 00:00:00 2001 From: simonraven Date: Sat, 25 Apr 2009 15:57:31 -0400 Subject: --- 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 (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 701982423a160bcedbcc34141bee4f72a9212ce9 Mon Sep 17 00:00:00 2001 From: "http://jmtd.net/" Date: Sun, 26 Apr 2009 17:08:10 -0400 Subject: htmlscrubber? --- doc/bugs/SSI_include_stripped_from_mdwn.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From a86fade7a9684d9614e13fbedf739fc0add17141 Mon Sep 17 00:00:00 2001 From: Kai Hendry Date: Mon, 4 May 2009 10:41:14 +0200 Subject: anon commit test --- doc/bugs/html5_support.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/bugs') 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 -- cgit v1.2.3 From de26854d763d05c3e126be96a9da0ad447661fca Mon Sep 17 00:00:00 2001 From: Kai Hendry Date: Mon, 4 May 2009 11:08:27 +0200 Subject: HTML5 story update --- doc/bugs/html5_support.mdwn | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 7633cc84745f59ed73fdcb55ffc8bbbff3eb70c7 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Tue, 5 May 2009 14:16:57 -0400 Subject: --- doc/bugs/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 (limited to 'doc/bugs') 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 -- cgit v1.2.3 From 7f6ebcd53e53d6b20c02047a6b3c57f8339dbca1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 5 May 2009 14:24:55 -0400 Subject: response --- .../edit_preview_resolves_links_differently_from_commit.mdwn | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 359d6234d9ce811bd2f5ff4ae662d66e9b93bd98 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Mon, 11 May 2009 02:30:16 -0400 Subject: --- ...way_to_wrap_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 (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 691c0a1af914ff9b49aa11cd9432146073e268c1 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Tue, 12 May 2009 01:36:06 -0400 Subject: --- .../edit_preview_resolves_links_differently_from_commit.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'doc/bugs') 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 -- cgit v1.2.3 From 191ec0561b4815021958de04871b0b49699254a6 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Wed, 13 May 2009 02:24:11 -0400 Subject: --- doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'doc/bugs') 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 -- cgit v1.2.3 From 815ed1edec3022749f71c33d05d1b07a662e72e4 Mon Sep 17 00:00:00 2001 From: "http://liw.fi/" Date: Wed, 13 May 2009 02:26:05 -0400 Subject: --- doc/bugs/edit_preview_resolves_links_differently_from_commit.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/bugs') 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 -- cgit v1.2.3 From 4bafe93e32a8984139cafca95ba651bdfac493ef Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Thu, 14 May 2009 14:56:27 +0100 Subject: 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 (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 571dad3eb555c72bcc6e17f7bc4a51c64516bd88 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 01:29:40 -0400 Subject: --- .../external_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 (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 3557955adae0957ec0023c0fce000e94030045a9 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 01:31:05 -0400 Subject: --- doc/bugs/external_links_inside_headings_don__39__t_work.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 8439d20684421388ddee7d7521e64b7257291996 Mon Sep 17 00:00:00 2001 From: "http://joey.kitenet.net/" Date: Fri, 15 May 2009 16:25:57 -0400 Subject: closing, user error --- doc/bugs/external_links_inside_headings_don__39__t_work.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From bff3b68034c4f55ad64890ed5534875dc77f2767 Mon Sep 17 00:00:00 2001 From: "http://zwol.livejournal.com/" Date: Fri, 15 May 2009 17:22:46 -0400 Subject: not so done --- doc/bugs/external_links_inside_headings_don__39__t_work.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 748b99b392a25cbe7e556da40bfbdc6b0bb4b068 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 16 May 2009 17:52:09 -0400 Subject: thoughts --- doc/bugs/backlinks_onhover_thing_can_go_weird.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 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: 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 (limited to 'doc/bugs') 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)"]] -- cgit v1.2.3 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: rename bugs/pipe-symbol_in_wikilink_target.mdwn to bugs/pipe-symbol_in_taglink_target.mdwn --- doc/bugs/pipe-symbol_in_taglink_target.mdwn | 11 +++++++++++ doc/bugs/pipe-symbol_in_wikilink_target.mdwn | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 doc/bugs/pipe-symbol_in_taglink_target.mdwn delete mode 100644 doc/bugs/pipe-symbol_in_wikilink_target.mdwn (limited to 'doc/bugs') diff --git a/doc/bugs/pipe-symbol_in_taglink_target.mdwn b/doc/bugs/pipe-symbol_in_taglink_target.mdwn new file mode 100644 index 000000000..56dc61386 --- /dev/null +++ b/doc/bugs/pipe-symbol_in_taglink_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)"]] diff --git a/doc/bugs/pipe-symbol_in_wikilink_target.mdwn b/doc/bugs/pipe-symbol_in_wikilink_target.mdwn deleted file mode 100644 index 56dc61386..000000000 --- a/doc/bugs/pipe-symbol_in_wikilink_target.mdwn +++ /dev/null @@ -1,11 +0,0 @@ -[[!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)"]] -- cgit v1.2.3 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: More correct info. --- doc/bugs/pipe-symbol_in_taglink_target.mdwn | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'doc/bugs') 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]] + +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]] -But in pagespecs it works: +And it works in pagespecs: +[[!map pages="tagged(about the |-symbol)"]] [[!map pages="tagged(about the \|-symbol)"]] -- cgit v1.2.3 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: More tests; wikilinks. --- doc/bugs/pipe-symbol_in_taglink_target.mdwn | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'doc/bugs') 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)"]] -- cgit v1.2.3 From 279ac3068a53175ddfa2ea112cc5f7fde2a21273 Mon Sep 17 00:00:00 2001 From: "http://hendry.iki.fi/" Date: Sun, 17 May 2009 18:02:20 -0400 Subject: what i've learnt from doing natalian today --- doc/bugs/html5_support.mdwn | 48 +++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 30 deletions(-) (limited to 'doc/bugs') 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 -## Time element +# [article](http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-article-element) 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). +This element is poorly supported by browsers. As a workaround, `style.css` needs: -As a workaround I use in my setup file: + article { + display: block; + } - timeformat => '%Y-%m-%d', +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 -## Header +* [#509](http://bugzilla.validator.nu/show_bug.cgi?id=509) -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]] +## 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). -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. +As a workaround: + + au:~% grep timeformat natalian.setup + timeformat => '%Y-%m-%d', -- cgit v1.2.3 From 2cf8730627737ebf0b4ff1d4a5f59645f31fa56f Mon Sep 17 00:00:00 2001 From: simonraven Date: Mon, 18 May 2009 00:03:58 -0400 Subject: fix up display of patch, otherwise it's less clear --- ...itles_are_lower-cased_when_creating_a_page.mdwn | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'doc/bugs') 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 -- cgit v1.2.3 From 43013495bbc15530f7d59d7314dd54ac94419012 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:29:07 +0100 Subject: move bug to /bugs --- .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 9 +++++++++ .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn delete mode 100644 doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn (limited to 'doc/bugs') 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 new file mode 100644 index 000000000..263950a1d --- /dev/null +++ b/doc/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="*_{*\}_*"]] 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 deleted file mode 100644 index 263950a1d..000000000 --- a/doc/ikiwiki/pagespec/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn +++ /dev/null @@ -1,9 +0,0 @@ -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="*_{*\}_*"]] -- cgit v1.2.3 From 749b0fe54dddd33058755b8f2fb60145e94656a7 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:39:36 +0100 Subject: make bug more concise --- ...an__39__t_match___123__curly__125___braces.mdwn | 25 +++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'doc/bugs') 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="*_\{*}_*"]] + +[[!inline show="3" archive="yes" pages="*_{*\}_*"]] + +More tests: + +"\*{\*": + +[[!inline show="3" archive="yes" pages="*{*"]] + +"\*}\*": + +[[!inline show="3" archive="yes" pages="*}*"]] + +"\*}\* and \*{\*": -[[!map pages="*_{*\}_*"]] +[[!inline show="3" archive="yes" pages="*}* and *{*"]] -- cgit v1.2.3 From bca02e0ee8106cf5581d9de34c2854da63ade678 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:42:16 +0100 Subject: archive=no for test inlines --- ...espec_can__39__t_match___123__curly__125___braces.mdwn | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'doc/bugs') 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 *{*"]] -- cgit v1.2.3 From 8e12c8562175d2c91344a33e87e470a35573b807 Mon Sep 17 00:00:00 2001 From: Jon Dowland Date: Mon, 18 May 2009 11:44:07 +0100 Subject: s/feed/feeds/. Whoops. --- .../pagespec_can__39__t_match___123__curly__125___braces.mdwn | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'doc/bugs') 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="*\{*"]] -- cgit v1.2.3 From 8bf1b29314fa8f1d43ad87328800dff8d1f3f94b Mon Sep 17 00:00:00 2001 From: simonraven Date: Mon, 18 May 2009 14:09:38 -0400 Subject: --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 59d0c28e8fa2dd9998ee212be36875510fa04f9f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 14:52:51 -0400 Subject: response --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 0516ba04d014628be983dbd3e4c28a8f52a2c3e7 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:08:49 -0400 Subject: analysis --- ...espec_can__39__t_match___123__curly__125___braces.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 23a4ee6d15dbd9b8e8c6588a829dd30a26a8de32 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 18 May 2009 15:25:10 -0400 Subject: 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 +++ ...spec_can__39__t_match___123__curly__125___braces.mdwn | 2 +- t/pagespec_match.t | 4 +++- 4 files changed, 14 insertions(+), 11 deletions(-) (limited to 'doc/bugs') 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}=""; -- cgit v1.2.3 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: minor: formatting. --- doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/bugs') 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 -- cgit v1.2.3 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: thanks. --- doc/bugs/pagespec_can__39__t_match___123__curly__125___braces.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/bugs') 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. -- cgit v1.2.3 From 9df6ef9c861bec06a2cae7ec8b8c5d6725392035 Mon Sep 17 00:00:00 2001 From: simonraven Date: Tue, 19 May 2009 02:19:29 -0400 Subject: --- doc/bugs/Insecure_dependency_in_mkdir.mdwn | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'doc/bugs') 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]] -- cgit v1.2.3 From 68b5441b4c01251a5953d2c89a12b23af918b4c5 Mon Sep 17 00:00:00 2001 From: tschwinge Date: Tue, 19 May 2009 04:46:24 -0400 Subject: tagged() matching wikilinks? --- doc/bugs/tagged__40____41___matching_wikilinks.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/bugs/tagged__40____41___matching_wikilinks.mdwn (limited to 'doc/bugs') 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]] -- cgit v1.2.3 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: Refer to the answer. --- doc/bugs/tagged__40____41___matching_wikilinks.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/bugs') 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 -- cgit v1.2.3