@@ -639,7 +639,11 @@ keyValAttr = try $ do
639639 val <- enclosed (char '"') (char '"') litChar
640640 <|> enclosed (char '\'') (char '\'') litChar
641641 <|> many (escapedChar' <|> noneOf " \t\n\r}")
642− return $ \(id',cs,kvs) -> (id',cs,kvs ++ [(key,val)])
642+ return $ \(id',cs,kvs) ->
643+ case key of
644+ "id" -> (val,cs,kvs)
645+ "class" -> (id',cs ++ words val,kvs)
646+ _ -> (id',cs,kvs ++ [(key,val)])
643647
644648specialAttr :: MarkdownParser (Attr -> Attr)
645649specialAttr = do