diff options
author | John MacFarlane <jgm@berkeley.edu> | 2020-09-25 09:05:40 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2020-09-25 09:06:15 -0700 |
commit | 188c444990f7ae70556f8bfc94b25c8dc7f77f98 (patch) | |
tree | 5e2343079bed34b1c63b241c4e5e9f0edee01a30 | |
parent | 6119125a8b54f55c7e4c9a2f62d0282a2adcfb74 (diff) | |
download | pandoc-188c444990f7ae70556f8bfc94b25c8dc7f77f98.tar.gz |
RST reader: apply `.. class::` directly to following Header.
rather than creating a surrounding Div.
Closes #6699.
-rw-r--r-- | src/Text/Pandoc/Readers/RST.hs | 7 | ||||
-rw-r--r-- | test/command/6699.md | 13 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs index 50947c1be..eeb3d1389 100644 --- a/src/Text/Pandoc/Readers/RST.hs +++ b/src/Text/Pandoc/Readers/RST.hs @@ -758,7 +758,12 @@ directive' = do children <- case body of "" -> block _ -> parseFromString' parseBlocks body' - return $ B.divWith attrs children + return $ + case B.toList children of + [Header lev attrs' ils] + | T.null body -> -- # see #6699 + B.headerWith (attrs' <> attrs) lev (B.fromList ils) + _ -> B.divWith attrs children other -> do pos <- getPosition logMessage $ SkippedContent (".. " <> other) pos diff --git a/test/command/6699.md b/test/command/6699.md new file mode 100644 index 000000000..347e04577 --- /dev/null +++ b/test/command/6699.md @@ -0,0 +1,13 @@ +``` +% pandoc -f rst -t native +.. class:: allowframebreaks + +title +----- + +text +^D +[Header 1 ("title",["allowframebreaks"],[]) [Str "title"] +,Para [Str "text"]] +``` + |