git.iko.soy/typeable/pandoc
on master help sign in
OpenDocument writer: add custom-style "Abstract" in metadata abstract.

This ensures that the abstract is rendered with style Abstract.

commitbde3d7622ddd2cda7adabc309335bb2865c1d520 authorJohn MacFarlane <jgm@berkeley.edu> dateSat 16 May 2020, 14:39 (6 years ago) parentcc7dcf2
1 file changed+8−1
src/Text/Pandoc/Writers/OpenDocument.hs+8−1
src/Text/Pandoc/Writers/OpenDocument.hs+8−1
@@ -28,6 +28,7 @@ import Text.Pandoc.BCP47 (Lang (..), parseBCP47)
2828import Text.Pandoc.Class.PandocMonad (PandocMonad, report, translateTerm,
2929 setTranslations, toLang)
3030import Text.Pandoc.Definition
31+import qualified Text.Pandoc.Builder as B
3132import Text.Pandoc.Logging
3233import Text.Pandoc.Options
3334import Text.DocLayout
@@ -223,12 +224,18 @@ writeOpenDocument opts (Pandoc meta blocks) = do
223224 let colwidth = if writerWrapText opts == WrapAuto
224225 then Just $ writerColumns opts
225226 else Nothing
227+ let meta' = case lookupMetaBlocks "abstract" meta of
228+ [] -> meta
229+ xs -> B.setMeta "abstract"
230+ (B.divWith ("",[],[("custom-style","Abstract")])
231+ (B.fromList xs))
232+ meta
226233 ((body, metadata),s) <- flip runStateT
227234 defaultWriterState $ do
228235 m <- metaToContext opts
229236 (blocksToOpenDocument opts)
230237 (fmap chomp . inlinesToOpenDocument opts)
231− meta
238+ meta'
232239 b <- blocksToOpenDocument opts blocks
233240 return (b, m)
234241 let styles = stTableStyles s ++ stParaStyles s ++ formulaStyles ++