git.iko.soy/typeable/pandoc
on master help sign in
DocBook writer: include an anchor element when a div or span has an id.
fd4831dJohn MacFarlane
src/Text/Pandoc/Writers/Docbook.hs+9−2
@@ -176,7 +176,11 @@ blockToDocbook opts (Div (ident,_,_) [Para lst]) =
176 then flush $ nowrap $ inTags False "literallayout" attribs
176 then flush $ nowrap $ inTags False "literallayout" attribs
177 $ inlinesToDocbook opts lst
177 $ inlinesToDocbook opts lst
178 else inTags True "para" attribs $ inlinesToDocbook opts lst
178 else inTags True "para" attribs $ inlinesToDocbook opts lst
179+blockToDocbook opts (Div (ident,_,_) bs) =
180+ (if null ident
181+ then mempty
182+ else selfClosingTag "anchor" [("id", ident)]) $$
179−blockToDocbook opts (Div _ bs) = blocksToDocbook opts $ map plainToPara bs
183+ blocksToDocbook opts (map plainToPara bs)
180blockToDocbook _ (Header _ _ _) = empty -- should not occur after hierarchicalize
184blockToDocbook _ (Header _ _ _) = empty -- should not occur after hierarchicalize
181blockToDocbook opts (Plain lst) = inlinesToDocbook opts lst
185blockToDocbook opts (Plain lst) = inlinesToDocbook opts lst
182-- title beginning with fig: indicates that the image is a figure
186-- title beginning with fig: indicates that the image is a figure
@@ -313,7 +317,10 @@ inlineToDocbook opts (Quoted _ lst) =
313 inTagsSimple "quote" $ inlinesToDocbook opts lst
317 inTagsSimple "quote" $ inlinesToDocbook opts lst
314inlineToDocbook opts (Cite _ lst) =
318inlineToDocbook opts (Cite _ lst) =
315 inlinesToDocbook opts lst
319 inlinesToDocbook opts lst
316−inlineToDocbook opts (Span _ ils) =
320+inlineToDocbook opts (Span (ident,_,_) ils) =
321+ (if null ident
322+ then mempty
323+ else selfClosingTag "anchor" [("id", ident)]) <>
317 inlinesToDocbook opts ils
324 inlinesToDocbook opts ils
318inlineToDocbook _ (Code _ str) =
325inlineToDocbook _ (Code _ str) =
319 inTagsSimple "literal" $ text (escapeStringForXML str)
326 inTagsSimple "literal" $ text (escapeStringForXML str)