@@ -47,7 +47,7 @@ import Text.Pandoc.Builder (Inlines, Blocks, trimInlines, (<>))
4747import qualified Text.Pandoc.Builder as B
4848import Data.Monoid (mconcat, mempty)
4949import Data.Sequence (viewr, ViewR(..))
50−import Data.Char (toLower, isHexDigit)
50+import Data.Char (toLower, isHexDigit, isSpace)
5151
5252-- | Parse reStructuredText string and return Pandoc document.
5353readRST :: ReaderOptions -- ^ Reader options
@@ -521,7 +521,6 @@ directive = try $ do
521521-- TODO: line-block, parsed-literal, table, csv-table, list-table
522522-- date
523523-- include
524−-- class
525524-- title
526525directive' :: RSTParser Blocks
527526directive' = do
@@ -602,6 +601,13 @@ directive' = do
602601 Just t -> B.link (escapeURI $ trim t) ""
603602 $ B.image src "" alt
604603 Nothing -> B.image src "" alt
604+ "class" -> do
605+ let attrs = ("", (splitBy isSpace $ trim top), map (\(k,v) -> (k, trimr v)) fields)
606+ -- directive content or the first immediately following element
607+ children <- case body of
608+ "" -> block
609+ _ -> parseFromString parseBlocks body'
610+ return $ B.divWith attrs children
605611 _ -> return mempty
606612
607613-- TODO: