@@ -480,5 +480,12 @@ htmlTag f = try $ do
480480 (next : _) <- getInput >>= return . canonicalizeTags . parseTags
481481 guard $ f next
482482 -- advance the parser
483− rendered <- manyTill anyChar (char '>')
484− return (next, rendered ++ ">")
483+ case next of
484+ TagComment s -> do
485+ count (length s + 4) anyChar
486+ skipMany (satisfy (/='>'))
487+ char '>'
488+ return (next, "<!--" ++ s ++ "-->")
489+ _ -> do
490+ rendered <- manyTill anyChar (char '>')
491+ return (next, rendered ++ ">")