git.iko.soy/typeable/pandoc
on master help sign in
Added tests for mediawiki lists.
commitdef768cd1f15ce1093d6da9ce263b0045db269e2 authorJohn MacFarlane <fiddlosopher@gmail.com> dateWed 12 Sep 2012, 19:48 (14 years ago) parenta76c6df
3 files changed+107−3
src/Text/Pandoc/Readers/MediaWiki.hs+3−2 tests/mediawiki-reader.native+59−1 tests/mediawiki-reader.wiki+45
src/Text/Pandoc/Readers/MediaWiki.hs+3−2
@@ -44,7 +44,6 @@ _ raw mediawiki:
4444 _ templates or anything in {{}} (can be postprocessed)
4545 _ category links
4646_ gallery tag?
47−_ tests for native lists
4847-}
4948module Text.Pandoc.Readers.MediaWiki ( readMediaWiki ) where
5049
@@ -308,7 +307,9 @@ url = do
308307 return $ B.link src "" (B.str orig)
309308
310309nowiki :: MWParser Inlines
311−nowiki = B.text <$> charsInTags "nowiki"
310+nowiki = B.text . fromEntities <$> try
311+ (htmlTag (~== TagOpen "nowiki" []) *>
312+ manyTill anyChar (htmlTag (~== TagClose "nowiki")))
312313
313314strikeout :: MWParser Inlines
314315strikeout = B.strikeout <$> (inlinesInTags "strike" <|> inlinesInTags "del")
tests/mediawiki-reader.native+59−1
@@ -71,4 +71,62 @@ Pandoc (Meta {docTitle = [], docAuthors = [], docDate = []})
7171,Para [Str "Nother",Space,Str "paragraph."]
7272,Header 2 [Str "external",Space,Str "links"]
7373,Para [Link [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")]
74−,Para [Link [Str "http://johnmacfarlane.net/pandoc/"] ("http://johnmacfarlane.net/pandoc/","")]]
74+,Para [Link [Str "http://johnmacfarlane.net/pandoc/"] ("http://johnmacfarlane.net/pandoc/","")]
75+,Header 2 [Str "lists"]
76+,BulletList
77+ [[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
78+ ,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."]
79+ ,BulletList
80+ [[Plain [Str "More",Space,Str "asterisks",Space,Str "gives",Space,Str "deeper"]
81+ ,BulletList
82+ [[Plain [Str "and",Space,Str "deeper",Space,Str "levels."]]]]]]
83+ ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]
84+ ,BulletList
85+ [[BulletList
86+ [[Plain [Str "But",Space,Str "jumping",Space,Str "levels",Space,Str "creates",Space,Str "empty",Space,Str "space."]]]]]]]
87+,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "ends",Space,Str "the",Space,Str "list."]
88+,OrderedList (1,DefaultStyle,DefaultDelim)
89+ [[Plain [Str "Start",Space,Str "each",Space,Str "line"]]
90+ ,[Plain [Str "with",Space,Str "a",Space,Str "number",Space,Str "sign",Space,Str "(#)."]
91+ ,OrderedList (1,DefaultStyle,DefaultDelim)
92+ [[Plain [Str "More",Space,Str "number",Space,Str "signs",Space,Str "gives",Space,Str "deeper"]
93+ ,OrderedList (1,DefaultStyle,DefaultDelim)
94+ [[Plain [Str "and",Space,Str "deeper"]]
95+ ,[Plain [Str "levels."]]]]]]
96+ ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]
97+ ,OrderedList (1,DefaultStyle,DefaultDelim)
98+ [[OrderedList (1,DefaultStyle,DefaultDelim)
99+ [[Plain [Str "But",Space,Str "jumping",Space,Str "levels",Space,Str "creates",Space,Str "empty",Space,Str "space."]]]]]]
100+ ,[Plain [Str "Blank",Space,Str "lines"]]]
101+,OrderedList (1,DefaultStyle,DefaultDelim)
102+ [[Plain [Str "end",Space,Str "the",Space,Str "list",Space,Str "and",Space,Str "start",Space,Str "another."]]]
103+,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "also",Space,Str "ends",Space,Str "the",Space,Str "list."]
104+,DefinitionList
105+ [([Str "item",Space,Str "1"],
106+ [[Plain [Str "definition",Space,Str "1"]]])
107+ ,([Str "item",Space,Str "2"],
108+ [[Plain [Str "definition",Space,Str "2-1"]]
109+ ,[Plain [Str "definition",Space,Str "2-2"]]])]
110+,OrderedList (1,DefaultStyle,DefaultDelim)
111+ [[Plain [Str "one"]]
112+ ,[Plain [Str "two"]
113+ ,BulletList
114+ [[Plain [Str "two",Space,Str "point",Space,Str "one"]]
115+ ,[Plain [Str "two",Space,Str "point",Space,Str "two"]]]]
116+ ,[Plain [Str "three"]
117+ ,DefinitionList
118+ [([Str "three",Space,Str "item",Space,Str "one"],
119+ [[Plain [Str "three",Space,Str "def",Space,Str "one"]]])]]
120+ ,[Plain [Str "four"]
121+ ,DefinitionList
122+ [([],
123+ [[Plain [Str "four",Space,Str "def",Space,Str "one"]]
124+ ,[Plain [Str "this",Space,Str "looks",Space,Str "like",Space,Str "a",Space,Str "continuation"]]
125+ ,[Plain [Str "and",Space,Str "is",Space,Str "often",Space,Str "used"]]
126+ ,[Plain [Str "instead",LineBreak,Str "of",Space,Str "<br/>"]]])]]
127+ ,[Plain [Str "five"]
128+ ,OrderedList (1,DefaultStyle,DefaultDelim)
129+ [[Plain [Str "five",Space,Str "sub",Space,Str "1"]
130+ ,OrderedList (1,DefaultStyle,DefaultDelim)
131+ [[Plain [Str "five",Space,Str "sub",Space,Str "1",Space,Str "sub",Space,Str "1"]]]]
132+ ,[Plain [Str "five",Space,Str "sub",Space,Str "2"]]]]]]
tests/mediawiki-reader.wiki+45
@@ -143,4 +143,49 @@ Nother paragraph.
143143
144144http://johnmacfarlane.net/pandoc/
145145
146+== lists ==
147+
148+* Start each line
149+* with an asterisk (*).
150+** More asterisks gives deeper
151+*** and deeper levels.
152+* Line breaks<br/>don't break levels.
153+*** But jumping levels creates empty space.
154+Any other start ends the list.
155+
156+# Start each line
157+# with a number sign (#).
158+## More number signs gives deeper
159+### and deeper
160+### levels.
161+# Line breaks<br/>don't break levels.
162+### But jumping levels creates empty space.
163+# Blank lines
164+
165+# end the list and start another.
166+Any other start also
167+ends the list.
168+
169+;item 1
170+: definition 1
171+;item 2
172+: definition 2-1
173+: definition 2-2
174+
175+# one
176+# two
177+#* two point one
178+#* two point two
179+# three
180+#; three item one
181+#: three def one
182+# four
183+#: four def one
184+#: this looks like a continuation
185+#: and is often used
186+#: instead<br/>of <nowiki><br/></nowiki>
187+# five
188+## five sub 1
189+### five sub 1 sub 1
190+## five sub 2
146191