From b5b622f5b821ed5624b0ce2f29d1bddd0100bd04 Mon Sep 17 00:00:00 2001 From: claremacrae Date: Sun, 18 Aug 2013 08:57:32 +0100 Subject: [PATCH] Stop plain text // becoming an italic marker in dokuwiki writer (#386) When the original document had text containing //, this was previously included, unchanged, in the dokuwiki output, and this interacted badly with later, intended, formating text. --- src/Text/Pandoc/Writers/DokuWiki.hs | 5 ++--- tests/dokuwiki-writer.dokuwiki | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Text/Pandoc/Writers/DokuWiki.hs b/src/Text/Pandoc/Writers/DokuWiki.hs index a38a54953..4e7e79441 100644 --- a/src/Text/Pandoc/Writers/DokuWiki.hs +++ b/src/Text/Pandoc/Writers/DokuWiki.hs @@ -87,8 +87,7 @@ pandocToDokuWiki opts (Pandoc meta blocks) = do -- | Escape special characters for MediaWiki. escapeString :: String -> String --- The spaces around // are to prevent touching in URLs inside inline code blocks -escapeString str = substitute " // " " %%//%% " str +escapeString str = substitute "//" "%%//%%" str -- | Convert Pandoc block element to DokuWiki. blockToDokuWiki :: WriterOptions -- ^ Options @@ -423,7 +422,7 @@ inlineToDokuWiki _ (Code _ str) = -- any formatting inside inlined code blocks would be lost, or presented incorrectly. return $ "''%%" ++ str ++ "%%''" -inlineToDokuWiki _ (Str str) = return $ str +inlineToDokuWiki _ (Str str) = return $ escapeString str inlineToDokuWiki _ (Math _ str) = return $ "" ++ str ++ "" -- note: str should NOT be escaped diff --git a/tests/dokuwiki-writer.dokuwiki b/tests/dokuwiki-writer.dokuwiki index 44f06f777..2e5d2fc1c 100644 --- a/tests/dokuwiki-writer.dokuwiki +++ b/tests/dokuwiki-writer.dokuwiki @@ -1,3 +1,3 @@ -hello // world ** from __ me +hello %%//%% world ** from __ me ''%%hello // world ** from __ me%%''