@@ -110,6 +110,17 @@ isRawFormat f =
110110blockToOrg :: Block -- ^ Block element
111111 -> State WriterState Doc
112112blockToOrg Null = return empty
113+blockToOrg (Div (_,classes@(cls:_),kvs) bs) | "drawer" `elem` classes = do
114+ contents <- blockListToOrg bs
115+ let drawerNameTag = ":" <> text cls <> ":"
116+ let keys = vcat $ map (\(k,v) ->
117+ ":" <> text k <> ":"
118+ <> space <> text v) kvs
119+ let drawerEndTag = text ":END:"
120+ return $ drawerNameTag $$ cr $$ keys $$
121+ blankline $$ contents $$
122+ blankline $$ drawerEndTag $$
123+ blankline
113124blockToOrg (Div attrs bs) = do
114125 contents <- blockListToOrg bs
115126 let startTag = tagWithAttrs "div" attrs