git.iko.soy/typeable/pandoc
on master help sign in
Mediawiki: Parse an image + caption in a para by itself as a figure.
71841deJohn MacFarlane
src/Text/Pandoc/Readers/MediaWiki.hs+2−2
@@ -43,7 +43,7 @@ import Text.Pandoc.Readers.HTML ( htmlTag, isBlockTag, isCommentTag )
43import Text.Pandoc.XML ( fromEntities )
43import Text.Pandoc.XML ( fromEntities )
44import Text.Pandoc.Parsing hiding ( nested )
44import Text.Pandoc.Parsing hiding ( nested )
45import Text.Pandoc.Walk ( walk )
45import Text.Pandoc.Walk ( walk )
46−import Text.Pandoc.Shared ( stripTrailingNewlines, safeRead )
46+import Text.Pandoc.Shared ( stripTrailingNewlines, safeRead, stringify )
47import Data.Monoid (mconcat, mempty)
47import Data.Monoid (mconcat, mempty)
48import Control.Applicative ((<$>), (<*), (*>), (<$))
48import Control.Applicative ((<$>), (<*), (*>), (<$))
49import Control.Monad
49import Control.Monad
@@ -539,7 +539,7 @@ image = try $ do
539 _ <- many (try $ char '|' *> imageOption)
539 _ <- many (try $ char '|' *> imageOption)
540 caption <- (B.str fname <$ sym "]]")
540 caption <- (B.str fname <$ sym "]]")
541 <|> try (char '|' *> (mconcat <$> manyTill inline (sym "]]")))
541 <|> try (char '|' *> (mconcat <$> manyTill inline (sym "]]")))
542− return $ B.image fname "image" caption
542+ return $ B.image fname ("fig:" ++ stringify caption) caption
543
543
544imageOption :: MWParser String
544imageOption :: MWParser String
545imageOption =
545imageOption =
tests/mediawiki-reader.native+4−4
@@ -84,10 +84,10 @@ Pandoc (Meta {unMeta = fromList []})
84,Para [Link [Str "#My",Space,Str "anchor"] ("#My_anchor","wikilink")]
84,Para [Link [Str "#My",Space,Str "anchor"] ("#My_anchor","wikilink")]
85,Para [Link [Str "and",Space,Str "text"] ("Page#with_anchor","wikilink")]
85,Para [Link [Str "and",Space,Str "text"] ("Page#with_anchor","wikilink")]
86,Header 2 ("",[],[]) [Str "images"]
86,Header 2 ("",[],[]) [Str "images"]
87−,Para [Image [Str "caption"] ("example.jpg","image")]
87+,Para [Image [Str "caption"] ("example.jpg","fig:caption")]
88−,Para [Image [Str "the",Space,Emph [Str "caption"],Space,Str "with",Space,Link [Str "external",Space,Str "link"] ("http://google.com","")] ("example.jpg","image")]
88+,Para [Image [Str "the",Space,Emph [Str "caption"],Space,Str "with",Space,Link [Str "external",Space,Str "link"] ("http://google.com","")] ("example.jpg","fig:the caption with external link")]
89−,Para [Image [Str "caption"] ("example.jpg","image")]
89+,Para [Image [Str "caption"] ("example.jpg","fig:caption")]
90−,Para [Image [Str "example.jpg"] ("example.jpg","image")]
90+,Para [Image [Str "example.jpg"] ("example.jpg","fig:example.jpg")]
91,Header 2 ("",[],[]) [Str "lists"]
91,Header 2 ("",[],[]) [Str "lists"]
92,BulletList
92,BulletList
93 [[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
93 [[Plain [Str "Start",Space,Str "each",Space,Str "line"]]