diff --git a/pandoc.cabal b/pandoc.cabal index 4871aa91f..27d2840b1 100644 --- a/pandoc.cabal +++ b/pandoc.cabal @@ -215,6 +215,7 @@ extra-source-files: test/command/3510-export.latex test/command/3510-src.hs test/command/3971b.tex + test/docbook-chapter.docbook test/docbook-reader.docbook test/docbook-xref.docbook test/html-reader.html diff --git a/src/Text/Pandoc/Readers/DocBook.hs b/src/Text/Pandoc/Readers/DocBook.hs index 80b7798a0..4ea5f6657 100644 --- a/src/Text/Pandoc/Readers/DocBook.hs +++ b/src/Text/Pandoc/Readers/DocBook.hs @@ -726,7 +726,7 @@ parseBlock (Elem e) = mapM parseGlossEntry (filterChildren (named "glossentry") e) "glosslist" -> definitionList <$> mapM parseGlossEntry (filterChildren (named "glossentry") e) - "chapter" -> sect 0 + "chapter" -> modify (\st -> st{ dbBook = True}) >> sect 0 "appendix" -> sect 0 "preface" -> sect 0 "bridgehead" -> para . strong <$> getInlines e diff --git a/test/Tests/Old.hs b/test/Tests/Old.hs index d0a1e0e4f..45e40a830 100644 --- a/test/Tests/Old.hs +++ b/test/Tests/Old.hs @@ -85,6 +85,8 @@ tests pandocPath = [ testGroup "writer" $ writerTests' "docbook4" , test' "reader" ["-r", "docbook", "-w", "native", "-s"] "docbook-reader.docbook" "docbook-reader.native" + , test' "reader" ["-r", "docbook", "-w", "native", "-s"] + "docbook-chapter.docbook" "docbook-chapter.native" , test' "reader" ["-r", "docbook", "-w", "native", "-s"] "docbook-xref.docbook" "docbook-xref.native" ] diff --git a/test/docbook-chapter.docbook b/test/docbook-chapter.docbook new file mode 100644 index 000000000..68bb60e02 --- /dev/null +++ b/test/docbook-chapter.docbook @@ -0,0 +1,30 @@ + + +Test Chapter +This chapter uses recursive sections. +
+Like a Sect1 +This section is like a Sect1. +
Like a Sect2 +This section is like a Sect2. +
Like a Sect3 +This section is like a Sect3. +
Like a Sect4 +This section is like a Sect4. +
Like a Sect5 +This section is like a Sect5. +
Would be like a Sect6 +This section would be like a Sect6, if there was one. +
Would be like a Sect7 +This section would be like a Sect7, if there was one. +
+
+
+
+
+
+
+
diff --git a/test/docbook-chapter.native b/test/docbook-chapter.native new file mode 100644 index 000000000..396b6a21a --- /dev/null +++ b/test/docbook-chapter.native @@ -0,0 +1,17 @@ +Pandoc (Meta {unMeta = fromList []}) +[Header 1 ("",[],[]) [Str "Test",Space,Str "Chapter"] +,Para [Str "This",Space,Str "chapter",Space,Str "uses",Space,Str "recursive",Space,Str "sections."] +,Header 2 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect1"] +,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect1."] +,Header 3 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect2"] +,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect2."] +,Header 4 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect3"] +,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect3."] +,Header 5 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect4"] +,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect4."] +,Header 6 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect5"] +,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect5."] +,Header 7 ("",[],[]) [Str "Would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect6"] +,Para [Str "This",Space,Str "section",Space,Str "would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect6,",Space,Str "if",Space,Str "there",Space,Str "was",Space,Str "one."] +,Header 8 ("",[],[]) [Str "Would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect7"] +,Para [Str "This",Space,Str "section",Space,Str "would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect7,",Space,Str "if",Space,Str "there",Space,Str "was",Space,Str "one."]]