diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs index c4cea44..fe05d71 100644 --- a/src/MdToHTML.hs +++ b/src/MdToHTML.hs @@ -33,7 +33,7 @@ data MdToken | Blockquote [MdToken] | UnordList [MdToken] | OrdList [MdToken] - | Code String + | Code MdToken | Codeblock String | Link MdToken URL | Image MdToken ImgPath @@ -55,7 +55,7 @@ instance Show MdToken where show (Blockquote tokens) = "
" ++ concatMap show tokens ++ "
" show (UnordList tokens) = "" show (OrdList tokens) = "
    " ++ concatMap (prepend "
  1. " . append "
  2. " . show) tokens ++ "
" - show (Code code) = show code + show (Code code) = "" ++ show code ++ "" show (Codeblock code) = show code show (Link txt url) = "" ++ show txt ++ "" show (Image txt imgPath) = "" ++ show txt ++ "" @@ -163,6 +163,14 @@ parseStrikethrough = do string "~~" return (Strikethrough (Line inside)) +-- Parse code +parseCode :: ReadP MdToken +parseCode = do + string "`" + inside <- many1 get + string "`" + return (Code (Unit inside)) + -- Parse a link parseLink :: ReadP MdToken parseLink = do @@ -209,6 +217,7 @@ lineParsers = [ parseLinebreak, parseSingleNewline, parseEscapedChar, + parseCode, parseBold, parseItalic, parseStrikethrough,