summaryrefslogtreecommitdiff
path: root/doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn')
-rw-r--r--doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn57
1 files changed, 17 insertions, 40 deletions
diff --git a/doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn b/doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn
index f49d14f9b..608948466 100644
--- a/doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn
+++ b/doc/bugs/Toc_map_and_template_plugins_do_not_play_well_together.mdwn
@@ -1,53 +1,30 @@
-I've got a wiki page that contains :
+The following renders incorrectly:
\[[!toc ]]
-
- # header1
-
- content1
-
- # header2
-
- \[[!template id=bla]]
-
-And `templates/bla.mdwn` contains :
-
- # header3
-
- content3
-
- # header4
-
- content4
-
-If no `\[[!map]]` directive is anywhere in the template, the page is rendered as expected.
-If `\[[!map]]` is used e.g. in content4, the wiki page is rendered with
-the following elements :
-
-> Surely you mean a toc directive, not map? --[[Joey]]
-
->> No, I really mean map, but I forgot to escape the toc above (in the example wiki page content), which prevented you from understanding my point. -- intrigeri
+ # header1
-- an empty toc div
-- every markdown code before the first `\[[!map]]` directive is not
- interpreted and rendered as-is : `# header1 content1 # header2
- content2 #header3 #header4 content4_before_the_map`
-- the correctly rendered map directive result
+ content1
-If `\[[!map]]` is used in content3, the wiki page is rendered with
-the following elements :
+ # header2
-- a TOC containing only the last header (header4)
-- every markdown code before the first `\[[!map]]` directive is not
- interpreted and rendered as-is : `# header1 content1 # header2
- content2 #header3 content3_before_the_map`
-- content3 (starting at the map), header4 and content4 are all rendered as expected
+ \[[map pages="sandbox"]]
-Moving the `\[[!toc]]` directive from the page to the template gives the same results.
Removing the `\[[!toc]]` directive or moving it at the end of the page
makes the whole wiki page be rendered as expected.
Hint : in all cases, the non-interpreted markdown code is copied as-is
in the HTML output, without any leading `<p>` or any HTML formatting.
+
+> You're using the old version of `markdown`, that is known to have a broken block
+> html parser, that will get confused if markdown is present between two
+> separate html blocks, and not format the markdown.
+>
+> This is fixed in [[cpan Text::MarkDown]] 1.0.19. markdown 1.0.2 also
+> fixes the problem. Install either one. I'm going to make ikiwiki's
+> dependencies list Text::Markdown before markdown, since people keep
+> stumbling over this. (The downside is that the old broken markdown is
+> faster). --[[Joey]]
+
+[[done]]