{-# OPTIONS_GHC -Wall #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module Main where import Prelude import Test.DocTest import Readme.Lhs import qualified Data.Map as Map -- | doctest -- >>> :set -XOverloadedStrings -- >>> import Readme.Lhs -- | The main differences between LHS and GitHubMarkdown is that GitHubMarkdown parses bird tracks as a BlockQuote. -- >>> readPandoc "test/test.md" GitHubMarkdown -- Right (Pandoc (Meta {unMeta = fromList []}) [Para [Str "haskell",Space,Str "LHS",Space,Str "style"],CodeBlock ("",["sourceCode","literate","haskell"],[]) "",Para [Str "bird-tracks"],BlockQuote [Para [Str "import",Space,Str "Readme.Lhs"]],Para [Str "code",Space,Str "block"],CodeBlock ("",[],[]) "indented\nunfenced code",Para [Str "github-style",Space,Str "fenced",Space,Str "code",Space,Str "blocks"],CodeBlock ("",["haskell"],[]) "",Para [Code ("",[],[]) "output test1"],Para [Str "php-style",Space,Str "fenced",Space,Str "code",Space,Str "blocks"],CodeBlock ("",["output","test1"],[]) ""]) -- >>> readPandoc "test/test.md" LHS -- Right (Pandoc (Meta {unMeta = fromList []}) [Para [Str "haskell",Space,Str "LHS",Space,Str "style"],CodeBlock ("",["sourceCode","literate","haskell"],[]) "",Para [Str "bird-tracks"],CodeBlock ("",["haskell","literate"],[]) "import Readme.Lhs",Para [Str "code",Space,Str "block"],CodeBlock ("",[],[]) "indented\nunfenced code",Para [Str "github-style",Space,Str "fenced",Space,Str "code",Space,Str "blocks"],CodeBlock ("",["haskell"],[]) "",Para [Code ("",[],[]) "output test1"],Para [Str "php-style",Space,Str "fenced",Space,Str "code",Space,Str "blocks"],CodeBlock ("",["output","test1"],[]) ""]) -- -- >>> (Right (Pandoc _ bs)) <- readPandoc "test/test.md" GitHubMarkdown -- >>> let p' = Pandoc mempty (mconcat $ insertOutput (Map.fromList [("test1", Replace "inserted text")]) <$> bs) -- >>> renderHtml Html p' -- Right "

haskell LHS style

\n
\n

bird-tracks

\n
\n

import Readme.Lhs

\n
\n

code block

\n
indented\nunfenced code
\n

github-style fenced code blocks

\n
\n

output test1

\n

php-style fenced code blocks

\ninserted text" main :: IO () main = doctest [ "src/Readme/Lhs.hs" -- , "other/example.hs" , "test/test.hs"]