aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Writers/JATS.hs56
-rw-r--r--src/Text/Pandoc/Writers/LaTeX.hs29
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs13
-rw-r--r--src/Text/Pandoc/Writers/MediaWiki.hs25
-rw-r--r--src/Text/Pandoc/Writers/Ms.hs47
-rw-r--r--src/Text/Pandoc/Writers/Muse.hs2
-rw-r--r--src/Text/Pandoc/Writers/OpenDocument.hs14
-rw-r--r--src/Text/Pandoc/Writers/RST.hs25
-rw-r--r--src/Text/Pandoc/Writers/RTF.hs2
-rw-r--r--src/Text/Pandoc/Writers/TEI.hs14
-rw-r--r--src/Text/Pandoc/Writers/Texinfo.hs17
-rw-r--r--src/Text/Pandoc/Writers/Textile.hs11
12 files changed, 128 insertions, 127 deletions
diff --git a/src/Text/Pandoc/Writers/JATS.hs b/src/Text/Pandoc/Writers/JATS.hs
index 012ff8416..9818f8cfb 100644
--- a/src/Text/Pandoc/Writers/JATS.hs
+++ b/src/Text/Pandoc/Writers/JATS.hs
@@ -209,31 +209,16 @@ blockToJATS _ h@(Header _ _ _) = do
return empty
-- No Plain, everything needs to be in a block-level tag
blockToJATS opts (Plain lst) = blockToJATS opts (Para lst)
--- title beginning with fig: indicates that the image is a figure
-blockToJATS opts (Para [Image (ident,_,kvs) txt
- (src,'f':'i':'g':':':tit)]) = do
- alt <- inlinesToJATS opts txt
- let capt = if null txt
- then empty
- else inTagsSimple "caption" alt
- let attr = [("id", ident) | not (null ident)] ++
- [(k,v) | (k,v) <- kvs, k `elem` ["fig-type", "orientation",
- "position", "specific-use"]]
- let mbMT = getMimeType src
- let maintype = fromMaybe "image" $
- lookup "mimetype" kvs `mplus`
- (takeWhile (/='/') <$> mbMT)
- let subtype = fromMaybe "" $
- lookup "mime-subtype" kvs `mplus`
- ((drop 1 . dropWhile (/='/')) <$> mbMT)
- let graphicattr = [("mimetype",maintype),
- ("mime-subtype",drop 1 subtype),
- ("xlink:href",src), -- do we need to URL escape this?
- ("xlink:title",tit)]
- return $ inTags True "fig" attr $
- capt $$ selfClosingTag "graphic" graphicattr
+inlineToJATS _ (Para [Image (ident,_,kvs) _ (src, tit)]) = do
+ let attr = getImageAttr ident kvs src tit
+ return $ selfClosingTag "graphic" attr
blockToJATS opts (Para lst) =
inTagsIndented "p" <$> inlinesToJATS opts lst
+blockToJATS opts (Figure attr (Caption _short long) bs) =
+ contents <- blocksToJATS opts bs
+ capt <- blocksToJATS opts long
+ return $ inTags True "fig" attr $
+ capt $$ contents
blockToJATS opts (LineBlock lns) =
blockToJATS opts $ linesToPara lns
blockToJATS opts (BlockQuote blocks) =
@@ -424,6 +409,12 @@ inlineToJATS opts (Link (ident,_,kvs) txt (src, tit)) = do
contents <- inlinesToJATS opts txt
return $ inTags False "ext-link" attr contents
inlineToJATS _ (Image (ident,_,kvs) _ (src, tit)) = do
+ let attr = getImageAttr ident kvs src tit
+ return $ selfClosingTag "inline-graphic" attr
+
+getImageAttr :: String -> [(String, String)] -> String -> String
+ -> [(String, String)]
+getImageAttr ident kvs src tit =
let mbMT = getMimeType src
let maintype = fromMaybe "image" $
lookup "mimetype" kvs `mplus`
@@ -431,13 +422,12 @@ inlineToJATS _ (Image (ident,_,kvs) _ (src, tit)) = do
let subtype = fromMaybe "" $
lookup "mime-subtype" kvs `mplus`
((drop 1 . dropWhile (/='/')) <$> mbMT)
- let attr = [("id", ident) | not (null ident)] ++
- [("mimetype", maintype),
- ("mime-subtype", subtype),
- ("xlink:href", src)] ++
- [("xlink:title", tit) | not (null tit)] ++
- [(k,v) | (k,v) <- kvs, k `elem` ["baseline-shift",
- "content-type", "specific-use", "xlink:actuate",
- "xlink:href", "xlink:role", "xlink:show",
- "xlink:type"]]
- return $ selfClosingTag "inline-graphic" attr
+ in [("id", ident) | not (null ident)] ++
+ [("mimetype", maintype),
+ ("mime-subtype", subtype),
+ ("xlink:href", src)] ++
+ [("xlink:title", tit) | not (null tit)] ++
+ [(k,v) | (k,v) <- kvs, k `elem` ["baseline-shift",
+ "content-type", "specific-use", "xlink:actuate",
+ "xlink:href", "xlink:role", "xlink:show",
+ "xlink:type"]]
diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs
index 4a81cd245..5a04c33c8 100644
--- a/src/Text/Pandoc/Writers/LaTeX.hs
+++ b/src/Text/Pandoc/Writers/LaTeX.hs
@@ -488,41 +488,40 @@ blockToLaTeX (Div (identifier,classes,kvs) bs) = do
else linkAnchor $$ txt
fmap (wrapColumns . wrapColumn . wrapDir . wrapLang . wrapNotes)
$ blockListToLaTeX bs
+-- . . . indicates pause in beamer slides
+blockToLaTeX (Para [Str ".",Space,Str ".",Space,Str "."]) = do
+ beamer <- gets stBeamer
+ if beamer
+ then blockToLaTeX (RawBlock "latex" "\\pause")
+ else inlineListToLaTeX [Str ".",Space,Str ".",Space,Str "."]
+blockToLaTeX (Para lst) =
+ inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst
blockToLaTeX (Plain lst) =
inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst
--- title beginning with fig: indicates that the image is a figure
-blockToLaTeX (Para [Image attr@(ident, _, _) txt (src,'f':'i':'g':':':tit)]) = do
+blockToLaTeX (Figure (ident,clasess,kvs) (Caption short long) bs) = do
inNote <- gets stInNote
inMinipage <- gets stInMinipage
modify $ \st -> st{ stInMinipage = True, stNotes = [] }
- capt <- inlineListToLaTeX txt
+ contents <- blockListToLaTeX bs
+ capt <- blockListToLaTeX long
notes <- gets stNotes
modify $ \st -> st{ stInMinipage = False, stNotes = [] }
-- We can't have footnotes in the list of figures, so remove them:
captForLof <- if null notes
then return empty
- else brackets <$> inlineListToLaTeX (walk deNote txt)
- img <- inlineToLaTeX (Image attr txt (src,tit))
+ else brackets <$> inlineListToLaTeX (walk deNote short)
let footnotes = notesToLaTeX notes
lab <- labelFor ident
let caption = "\\caption" <> captForLof <> braces capt <> lab
- let figure = cr <> "\\begin{figure}" $$ "\\centering" $$ img $$
+ let figure = cr <> "\\begin{figure}" $$ "\\centering" $$ contents $$
caption $$ "\\end{figure}" <> cr
figure' <- hypertarget True ident figure
return $ if inNote || inMinipage
-- can't have figures in notes or minipage (here, table cell)
-- http://www.tex.ac.uk/FAQ-ouparmd.html
- then "\\begin{center}" $$ img $+$ capt $$ "\\end{center}"
+ then "\\begin{center}" $$ contents $+$ capt $$ "\\end{center}"
else figure' $$ footnotes
--- . . . indicates pause in beamer slides
-blockToLaTeX (Para [Str ".",Space,Str ".",Space,Str "."]) = do
- beamer <- gets stBeamer
- if beamer
- then blockToLaTeX (RawBlock "latex" "\\pause")
- else inlineListToLaTeX [Str ".",Space,Str ".",Space,Str "."]
-blockToLaTeX (Para lst) =
- inlineListToLaTeX $ dropWhile isLineBreakOrSpace lst
blockToLaTeX (LineBlock lns) = do
blockToLaTeX $ linesToPara lns
blockToLaTeX (BlockQuote lst) = do
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 95977ce17..c105efea9 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -432,11 +432,18 @@ blockToMarkdown' opts (Plain inlines) = do
-> text $ escapeMarker rendered
| otherwise -> contents
return $ contents' <> cr
--- title beginning with fig: indicates figure
-blockToMarkdown' opts (Para [Image attr alt (src,'f':'i':'g':':':tit)]) =
- blockToMarkdown opts (Para [Image attr alt (src,tit)])
blockToMarkdown' opts (Para inlines) =
(<> blankline) `fmap` blockToMarkdown opts (Plain inlines)
+blockToMarkdown' opts (Figure (ident,classes,kvs)
+ (Caption short long) bs) =
+ case bs of
+ [Image (_,classes',kvs') alt (src,tit)]
+ | isEnabled Ext_implicit_figures opts ->
+ blockToMarkdown opts (Para [Image (ident,classes',kvs')
+ short (src,tit)])
+ _ -> blockToMarkdown opts $
+ Div (ident,"figure":classes,kvs)
+ (bs ++ [Div ("",["caption"],[]) long])
blockToMarkdown' opts (LineBlock lns) =
if isEnabled Ext_line_blocks opts
then do
diff --git a/src/Text/Pandoc/Writers/MediaWiki.hs b/src/Text/Pandoc/Writers/MediaWiki.hs
index 58d1b0707..0699036f8 100644
--- a/src/Text/Pandoc/Writers/MediaWiki.hs
+++ b/src/Text/Pandoc/Writers/MediaWiki.hs
@@ -105,17 +105,6 @@ blockToMediaWiki (Div attrs bs) = do
blockToMediaWiki (Plain inlines) =
inlineListToMediaWiki inlines
--- title beginning with fig: indicates that the image is a figure
-blockToMediaWiki (Para [Image attr txt (src,'f':'i':'g':':':tit)]) = do
- capt <- if null txt
- then return ""
- else ("|caption " ++) `fmap` inlineListToMediaWiki txt
- img <- imageToMediaWiki attr
- let opt = if null txt
- then ""
- else "|alt=" ++ if null tit then capt else tit ++ capt
- return $ "[[File:" ++ src ++ "|frame|none" ++ img ++ opt ++ "]]\n"
-
blockToMediaWiki (Para inlines) = do
tags <- asks useTags
lev <- asks listLevel
@@ -124,6 +113,20 @@ blockToMediaWiki (Para inlines) = do
then "<p>" ++ contents ++ "</p>"
else contents ++ if null lev then "\n" else ""
+blockToMediaWiki (Figure _attr (Caption _short long)
+ [Para [Image _imgattr alt (src,tit)]) = do
+ capt <- if null long
+ then return ""
+ else ("|caption " ++) `fmap` blockListToMediaWiki txt
+ img <- imageToMediaWiki attr
+ let opt = if null txt
+ then ""
+ else "|alt=" ++ tit
+ return $ "[[File:" ++ src ++ "|frame|none" ++ img ++ opt ++ capt ++ "]]\n"
+
+blockToMediaWiki (Figure _attr (Caption _short long) bs =
+ blockListToMediaWiki (bs ++ long)
+
blockToMediaWiki (LineBlock lns) =
blockToMediaWiki $ linesToPara lns
diff --git a/src/Text/Pandoc/Writers/Ms.hs b/src/Text/Pandoc/Writers/Ms.hs
index 54eecdcc6..f8ff7a608 100644
--- a/src/Text/Pandoc/Writers/Ms.hs
+++ b/src/Text/Pandoc/Writers/Ms.hs
@@ -226,31 +226,19 @@ blockToMs opts (Div _ bs) = do
return res
blockToMs opts (Plain inlines) =
liftM vcat $ mapM (inlineListToMs' opts) $ splitSentences inlines
-blockToMs opts (Para [Image attr alt (src,_tit)]) -- figure
- | let ext = takeExtension src in (ext == ".ps" || ext == ".eps") = do
- let (mbW,mbH) = (inPoints opts <$> dimension Width attr,
- inPoints opts <$> dimension Height attr)
- let sizeAttrs = case (mbW, mbH) of
- (Just wp, Nothing) -> space <> doubleQuotes
- (text (show (floor wp :: Int) ++ "p"))
- (Just wp, Just hp) -> space <> doubleQuotes
- (text (show (floor wp :: Int) ++ "p")) <>
- space <>
- doubleQuotes (text (show (floor hp :: Int)))
- _ -> empty
- capt <- inlineListToMs' opts alt
- return $ nowrap (text ".PSPIC -C " <>
- doubleQuotes (text (escapeString src)) <>
- sizeAttrs) $$
- text ".ce 1000" $$
- capt $$
- text ".ce 0"
blockToMs opts (Para inlines) = do
firstPara <- gets stFirstPara
resetFirstPara
contents <- liftM vcat $ mapM (inlineListToMs' opts) $
splitSentences inlines
return $ text (if firstPara then ".LP" else ".PP") $$ contents
+blockToMs opts (Figure attr (Caption _short long) bs) = do
+ contents <- blockListToMs opts bs
+ capt <- blockListToMs opts long
+ return $ contents $$
+ text ".ce 1000" $$
+ capt $$
+ text ".ce 0"
blockToMs _ b@(RawBlock f str)
| f == Format "ms" = return $ text str
| otherwise = do
@@ -525,8 +513,25 @@ inlineToMs opts (Link _ txt (src, _)) = do
doubleQuotes (text (escapeUri src)) <> text " -A " <>
doubleQuotes (text "\\c") <> space <> text "\\") <> cr <>
text " -- " <> doubleQuotes (nowrap contents) <> cr <> text "\\&"
-inlineToMs _ (Image _ alternate (_, _)) =
- return $ char '[' <> text "IMAGE: " <>
+inlineToMs opts (Image attr alternate (src, tit)) =
+ | takeExtension src `elem` [".ps", ".eps"] = do
+ let (mbW,mbH) = (inPoints opts <$> dimension Width attr,
+ inPoints opts <$> dimension Height attr)
+ let sizeAttrs = case (mbW, mbH) of
+ (Just wp, Nothing) -> space <> doubleQuotes
+ (text (show (floor wp :: Int) ++ "p"))
+ (Just wp, Just hp) -> space <> doubleQuotes
+ (text (show (floor wp :: Int) ++ "p")) <>
+ space <>
+ doubleQuotes (text (show (floor hp :: Int)))
+ _ -> empty
+ capt <- inlineListToMs' opts alt
+ return $ cr <> nowrap (text ".PSPIC -C " <>
+ doubleQuotes (text (escapeString src)) <>
+ sizeAttrs) <> cr
+ | otherwise = do
+ report $ CouldNotConvertImage src "only .ps and .eps are supported in ms"
+ return $ char '[' <> text "IMAGE: " <>
text (escapeString (stringify alternate)) <> char ']'
inlineToMs _ (Note contents) = do
modify $ \st -> st{ stNotes = contents : stNotes st }
diff --git a/src/Text/Pandoc/Writers/Muse.hs b/src/Text/Pandoc/Writers/Muse.hs
index 3a5eefc18..28eeeb337 100644
--- a/src/Text/Pandoc/Writers/Muse.hs
+++ b/src/Text/Pandoc/Writers/Muse.hs
@@ -256,6 +256,8 @@ blockToMuse (Table caption _ _ headers rows) = do
$$ body
$$ (if null caption then empty else " |+ " <> caption' <> " +|")
$$ blankline
+blockToMuse (Figure _attr (Caption _short long) bs) =
+ blockListToMuse (bs ++ long)
blockToMuse (Div _ bs) = blockListToMuse bs
blockToMuse Null = return empty
diff --git a/src/Text/Pandoc/Writers/OpenDocument.hs b/src/Text/Pandoc/Writers/OpenDocument.hs
index ed3dabb87..e80850a6f 100644
--- a/src/Text/Pandoc/Writers/OpenDocument.hs
+++ b/src/Text/Pandoc/Writers/OpenDocument.hs
@@ -322,11 +322,11 @@ blockToOpenDocument o bs
| Plain b <- bs = if null b
then return empty
else inParagraphTags =<< inlinesToOpenDocument o b
- | Para [Image attr c (s,'f':'i':'g':':':t)] <- bs
- = figure attr c s t
| Para b <- bs = if null b
then return empty
else inParagraphTags =<< inlinesToOpenDocument o b
+ | Figure attr (Caption _short long) bs <- bs
+ = figure attr long bs
| LineBlock b <- bs = blockToOpenDocument o $ linesToPara b
| Div attr xs <- bs = withLangFromAttr attr
(blocksToOpenDocument o xs)
@@ -384,11 +384,11 @@ blockToOpenDocument o bs
, ("table:style-name", name)
] (vcat columns $$ th $$ vcat tr) $$ captionDoc
figure attr caption source title | null caption =
- withParagraphStyle o "Figure" [Para [Image attr caption (source,title)]]
- | otherwise = do
- imageDoc <- withParagraphStyle o "FigureWithCaption" [Para [Image attr caption (source,title)]]
- captionDoc <- withParagraphStyle o "FigureCaption" [Para caption]
- return $ imageDoc $$ captionDoc
+ withParagraphStyle o "Figure" bs
+ | otherwise = do
+ figDoc <- withParagraphStyle o "FigureWithCaption" bs
+ captionDoc <- withParagraphStyle o "FigureCaption" caption
+ return $ figDoc $$ captionDoc
colHeadsToOpenDocument :: PandocMonad m
=> WriterOptions -> String -> [String] -> [[Block]]
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs
index 8c941f568..f7fe673f8 100644
--- a/src/Text/Pandoc/Writers/RST.hs
+++ b/src/Text/Pandoc/Writers/RST.hs
@@ -211,23 +211,28 @@ blockToRST (Div attr bs) = do
let endTag = ".. raw:: html" $+$ nest 3 "</div>"
return $ blankline <> startTag $+$ contents $+$ endTag $$ blankline
blockToRST (Plain inlines) = inlineListToRST inlines
--- title beginning with fig: indicates that the image is a figure
-blockToRST (Para [Image attr txt (src,'f':'i':'g':':':tit)]) = do
- capt <- inlineListToRST txt
+blockToRST (Para inlines)
+ | LineBreak `elem` inlines = do -- use line block if LineBreaks
+ linesToLineBlock $ splitBy (==LineBreak) inlines
+ | otherwise = do
+ contents <- inlineListToRST inlines
+ return $ contents <> blankline
+blockToRST (Figure attr (Caption _short long)
+ [Para [Image _ alt (src,_)]]) = do
+ capt <- inlineListToRST long
dims <- imageDimsToRST attr
+ alt' <- inlineListToRST alt
let fig = "figure:: " <> text src
- alt = ":alt: " <> if null tit then capt else text tit
+ alt = ":alt: " <> text alt'
(_,cls,_) = attr
classes = if null cls
then empty
else ":figclass: " <> text (unwords cls)
return $ hang 3 ".. " (fig $$ alt $$ classes $$ dims $+$ capt) $$ blankline
-blockToRST (Para inlines)
- | LineBreak `elem` inlines = do -- use line block if LineBreaks
- linesToLineBlock $ splitBy (==LineBreak) inlines
- | otherwise = do
- contents <- inlineListToRST inlines
- return $ contents <> blankline
+blockToRST (Figure attr (Caption _short long) bs = do
+ bs <- blockListToRST bs
+ capt <- inlineListToRST long
+ return $ bs $+$ capt
blockToRST (LineBlock lns) =
linesToLineBlock lns
blockToRST (RawBlock f@(Format f') str)
diff --git a/src/Text/Pandoc/Writers/RTF.hs b/src/Text/Pandoc/Writers/RTF.hs
index 48d31c7bf..0d19b3f88 100644
--- a/src/Text/Pandoc/Writers/RTF.hs
+++ b/src/Text/Pandoc/Writers/RTF.hs
@@ -260,6 +260,8 @@ blockToRTF :: PandocMonad m
blockToRTF _ _ Null = return ""
blockToRTF indent alignment (Div _ bs) =
blocksToRTF indent alignment bs
+blockToRTF indent alignment (Figure _attr (Caption _short long) bs) =
+ blocksToRTF indent alignment (bs ++ long)
blockToRTF indent alignment (Plain lst) =
rtfCompact indent 0 alignment <$> inlinesToRTF lst
blockToRTF indent alignment (Para lst) =
diff --git a/src/Text/Pandoc/Writers/TEI.hs b/src/Text/Pandoc/Writers/TEI.hs
index 26070966e..a46a77c1f 100644
--- a/src/Text/Pandoc/Writers/TEI.hs
+++ b/src/Text/Pandoc/Writers/TEI.hs
@@ -167,20 +167,10 @@ blockToTEI _ h@(Header _ _ _) = do
-- we use treat as Para to ensure that Plain text ends up contained by
-- something:
blockToTEI opts (Plain lst) = blockToTEI opts $ Para lst
--- title beginning with fig: indicates that the image is a figure
---blockToTEI opts (Para [Image attr txt (src,'f':'i':'g':':':_)]) =
--- let alt = inlinesToTEI opts txt
--- capt = if null txt
--- then empty
--- else inTagsSimple "title" alt
--- in inTagsIndented "figure" $
--- capt $$
--- (inTagsIndented "mediaobject" $
--- (inTagsIndented "imageobject"
--- (imageToTEI opts attr src)) $$
--- inTagsSimple "textobject" (inTagsSimple "phrase" alt))
blockToTEI opts (Para lst) =
inTags False "p" [] <$> inlinesToTEI opts lst
+blockToTEI opts (Figure _attr (Caption _short long) bs) = do
+ blocksToTEI opts (bs ++ long)
blockToTEI opts (LineBlock lns) =
blockToTEI opts $ linesToPara lns
blockToTEI opts (BlockQuote blocks) =
diff --git a/src/Text/Pandoc/Writers/Texinfo.hs b/src/Text/Pandoc/Writers/Texinfo.hs
index 549d4f3d9..2d38ffa4e 100644
--- a/src/Text/Pandoc/Writers/Texinfo.hs
+++ b/src/Text/Pandoc/Writers/Texinfo.hs
@@ -145,18 +145,17 @@ blockToTexinfo (Div _ bs) = blockListToTexinfo bs
blockToTexinfo (Plain lst) =
inlineListToTexinfo lst
--- title beginning with fig: indicates that the image is a figure
-blockToTexinfo (Para [Image attr txt (src,'f':'i':'g':':':tit)]) = do
- capt <- if null txt
- then return empty
- else (\c -> text "@caption" <> braces c) `fmap`
- inlineListToTexinfo txt
- img <- inlineToTexinfo (Image attr txt (src,tit))
- return $ text "@float" $$ img $$ capt $$ text "@end float"
-
blockToTexinfo (Para lst) =
inlineListToTexinfo lst -- this is handled differently from Plain in blockListToTexinfo
+blockToTexinfo (Figure _attr (Caption _short long) bs) = do
+ contents <- blockListToTexinfo bs
+ capt <- blockListToTexinfo long
+ return $ text "@float" $$
+ contents $$
+ (text "@cation" <> braces capt) $$
+ text "@end float"
+
blockToTexinfo (LineBlock lns) =
blockToTexinfo $ linesToPara lns
diff --git a/src/Text/Pandoc/Writers/Textile.hs b/src/Text/Pandoc/Writers/Textile.hs
index acc9eaa0f..ac4b00633 100644
--- a/src/Text/Pandoc/Writers/Textile.hs
+++ b/src/Text/Pandoc/Writers/Textile.hs
@@ -125,12 +125,6 @@ blockToTextile opts (Div attr bs) = do
blockToTextile opts (Plain inlines) =
inlineListToTextile opts inlines
--- title beginning with fig: indicates that the image is a figure
-blockToTextile opts (Para [Image attr txt (src,'f':'i':'g':':':tit)]) = do
- capt <- blockToTextile opts (Para txt)
- im <- inlineToTextile opts (Image attr txt (src,tit))
- return $ im ++ "\n" ++ capt
-
blockToTextile opts (Para inlines) = do
useTags <- gets stUseTags
listLevel <- gets stListLevel
@@ -139,6 +133,11 @@ blockToTextile opts (Para inlines) = do
then "<p>" ++ contents ++ "</p>"
else contents ++ if null listLevel then "\n" else ""
+blockToTextile opts (Figure _attr (Caption _short long) bs) = do
+ contents <- blockListToTextile opts bs
+ capt <- blockListToTextile opts bs
+ return $ im ++ "\n" ++ capt
+
blockToTextile opts (LineBlock lns) =
blockToTextile opts $ linesToPara lns