Add a patch tag
[ikiwiki.git] / doc / bugs / wiki_links_still_processed_inside_code_blocks.mdwn
index ede16a0292eec5c90033c9258ca9bf2a12538aa3..9f0a1d1022459d4a00cfbbec88dcf2c86281c0b4 100644 (file)
@@ -1,6 +1,6 @@
 In [[ikiwiki/markdown]] syntax, none of the other special characters get processed
 inside a code block.  However, in ikiwiki, [[wiki_links|ikiwiki/wikilink]] and
-[[preprocessor_directives|ikiwiki/preprocessordirective]] still get processed
+[[preprocessor_directives|ikiwiki/directive]] still get processed
 inside a code block, requiring additional escaping.  For example, `[links
 don't work](#here)`, but `a [[ikiwiki/wikilink]] becomes HTML`. --[[JoshTriplett]]
 
@@ -46,4 +46,22 @@ and have it render like:
 > there should give some strong hints how to fix this bug, though I haven't
 > tried to apply the method yet. --[[Joey]]
 
+>> As far, as I can see, smileys bug is solved by checking for code/pre. In
+>> this case, however, this is not applicable. WikiLinks/directives *should* be
+>> expanded before passing text to formatter, as their expansion may contain
+>> markup. Directives should be processed before, as they may provide *partial*
+>> markup (eg `template` ones), that have no sense except when in the page
+>> cotext. Links should be processed before, because, at least multimarkdown may
+>> try to expand them as anchor-links.
+>>
+>> For now, my partial solution is to restrict links to not have space at the
+>> start, this way in many cases escaping in code may be done in natural way
+>> and not break copypastability. For example, shell 'if \[[ condition ]];'
+>> will work fine with this.
+>>
+>> Maybe directives can also be restricted to only be allowed on the line by
+>> themselves (not separated by blank lines, however) or something similar.
+>>
+>> --[[isbear]]
+
 [[!debbug 487397]]