From 0528e813c53216b842c36f8bafef13d65b734735 Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Tue, 10 Jun 2025 09:11:34 -0400 Subject: [PATCH] Parser for CSS classes --- src/MdToHTML.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 '!'