From a2ce28fa4d0e90fc2cd1e4d3a6d738005323164f Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sat, 16 May 2020 14:37:33 -0700
Subject: [PATCH] OpenDocument/ODT writer: enable custom-style attribute on a
 Div.

This allows you to apply a custom style to contained paragraphs.
---
 src/Text/Pandoc/Writers/OpenDocument.hs | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/Text/Pandoc/Writers/OpenDocument.hs b/src/Text/Pandoc/Writers/OpenDocument.hs
index b868e168b..6fd0dd5dd 100644
--- a/src/Text/Pandoc/Writers/OpenDocument.hs
+++ b/src/Text/Pandoc/Writers/OpenDocument.hs
@@ -349,8 +349,12 @@ blockToOpenDocument o bs
                                   then return empty
                                   else inParagraphTags =<< inlinesToOpenDocument o b
     | LineBlock      b <- bs = blockToOpenDocument o $ linesToPara b
-    | Div attr xs      <- bs = withLangFromAttr attr
-                                  (blocksToOpenDocument o xs)
+    | Div attr xs      <- bs = do
+        let (_,_,kvs) = attr
+        withLangFromAttr attr $
+          case lookup "custom-style" kvs of
+            Just sty -> withParagraphStyle o sty xs
+            _        -> blocksToOpenDocument o xs
     | Header     i (ident,_,_) b
                        <- bs = setFirstPara >> (inHeaderTags i ident
                                   =<< inlinesToOpenDocument o b)