1 | module Katla.Markdown
10 | import Libraries.Text.PrettyPrint.Prettyprinter.Render.HTML as Lib
13 | escapeMarkdown : Config -> Char -> List Char
14 | escapeMarkdown config ' ' = unpack config.space
15 | escapeMarkdown config '_' = unpack "\\_"
16 | escapeMarkdown config '*' = unpack "\\*"
17 | escapeMarkdown config '$' = unpack "$"
18 | escapeMarkdown config '\\' = unpack "\\\\"
19 | escapeMarkdown config '`' = unpack "`"
20 | escapeMarkdown config c = unpack (htmlEscape $
cast c)
23 | standalonePre : Config -> String
24 | standalonePre config = """
26 | \{styleHeader config}
29 | background-color: whitesmoke;
35 | mkDriver : Config -> Driver
36 | mkDriver config = MkDriver
37 | (\ wdth, ln => "", "<br />")
38 | (escapeMarkdown config)
40 | (Markdown.standalonePre config, "")
41 | (makeInlineMacroPre, makeInlineMacroPost)
42 | (makeMacroPre, makeMacroPost)
45 | initMarkdownCmd : Command "init"
46 | initMarkdownCmd = MkCommand
47 | { description = "Generate default configuration file"
50 | , arguments = filePath
54 | init : (ParsedCommand _ Markdown.initMarkdownCmd) -> IO ()
55 | init parsed = initExec Markdown parsed.arguments