diff --git a/src/MdToHTML.hs b/src/MdToHTML.hs index 4b3fa83..1c4bba4 100644 --- a/src/MdToHTML.hs +++ b/src/MdToHTML.hs @@ -231,6 +231,22 @@ parseSingleNewline = do [] -> return $ Unit "" _ -> return SingleNewline +parseCssClasses :: Parser [CssClass] +parseCssClasses = do + char '{' + classes <- some parseCssClass + char '}' + return classes + where + parseCssClass :: Parser CssClass + parseCssClass = do + char '.' + let firstLetterParser = char '_' <|> char '-' <|> label "letter" (satisfy isAlpha) + cssClassFirstLetter <- firstLetterParser + cssClass <- many (firstLetterParser <|> label "digit" (satisfy isDigit)) + space + return (cssClassFirstLetter : cssClass) + parseImage :: Parser MdToken parseImage = do char '!'