diff options
-rw-r--r-- | org/output_xmls.org | 50 | ||||
-rw-r--r-- | src/sdp/output/epub3.d | 17 | ||||
-rw-r--r-- | src/sdp/output/html.d | 33 |
3 files changed, 58 insertions, 42 deletions
diff --git a/org/output_xmls.org b/org/output_xmls.org index 18a0315..2e9e72c 100644 --- a/org/output_xmls.org +++ b/org/output_xmls.org @@ -1110,7 +1110,7 @@ void scroll(D,I)( foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_scroll"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -1134,7 +1134,8 @@ void scroll(D,I)( break; } break; - case "body": + case "body": // assert(part == "body"); + assert(part == "body" || "head"); // surprise switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -1188,25 +1189,26 @@ void scroll(D,I)( } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { case "heading": doc_html ~= xhtml_format.heading_scroll(obj, _txt, suffix); break; - case "endnote": + case "endnote": assert(part == "endnotes"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "glossary": + case "glossary": assert(part == "glossary"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "bookindex": + case "bookindex": assert(part == "bookindex_scroll"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "blurb": + case "blurb": assert(part == "blurb"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; default: @@ -1293,6 +1295,7 @@ void seg(D,I)( foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); if (obj.is_a == "heading") { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.heading_lev_markup) { case 0: .. case 3: /+ fill buffer, and replace with new levels from 1 to 3 +/ @@ -1350,8 +1353,9 @@ void seg(D,I)( break; } } else { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_seg"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -1373,7 +1377,7 @@ void seg(D,I)( break; } break; - case "body": + case "body": assert(part == "body"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -1435,29 +1439,30 @@ void seg(D,I)( } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { - case "endnote": + case "endnote": assert(part == "endnotes"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; break; - case "glossary": + case "glossary": assert(part == "glossary"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "bookindex": + case "bookindex": assert(part == "bookindex_seg"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "blurb": + case "blurb": assert(part == "blurb"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; @@ -1912,6 +1917,7 @@ void outputEPub3(D,I)( foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); if (obj.is_a == "heading") { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.heading_lev_markup) { case 0: .. case 3: /+ fill buffer, and replace with new levels from 1 to 3 +/ @@ -1968,8 +1974,9 @@ void outputEPub3(D,I)( break; } } else { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_seg"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -1992,7 +1999,7 @@ void outputEPub3(D,I)( break; } break; - case "body": + case "body": assert(part == "body"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -2055,29 +2062,30 @@ void outputEPub3(D,I)( } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { - case "endnote": + case "endnote": assert(part == "endnotes"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; break; - case "glossary": + case "glossary": assert(part == "glossary"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "bookindex": + case "bookindex": assert(part == "bookindex_seg"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "blurb": + case "blurb": assert(part == "blurb"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; diff --git a/src/sdp/output/epub3.d b/src/sdp/output/epub3.d index b05cf20..2c014b5 100644 --- a/src/sdp/output/epub3.d +++ b/src/sdp/output/epub3.d @@ -287,6 +287,7 @@ template outputEPub3() { foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); if (obj.is_a == "heading") { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.heading_lev_markup) { case 0: .. case 3: /+ fill buffer, and replace with new levels from 1 to 3 +/ @@ -343,8 +344,9 @@ template outputEPub3() { break; } } else { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_seg"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -367,7 +369,7 @@ template outputEPub3() { break; } break; - case "body": + case "body": assert(part == "body"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -430,29 +432,30 @@ template outputEPub3() { } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { - case "endnote": + case "endnote": assert(part == "endnotes"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; break; - case "glossary": + case "glossary": assert(part == "glossary"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "bookindex": + case "bookindex": assert(part == "bookindex_seg"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; break; - case "blurb": + case "blurb": assert(part == "blurb"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_epub3[segment_filename] ~= t[0]; doc_epub3_endnotes[segment_filename] ~= t[1]; diff --git a/src/sdp/output/html.d b/src/sdp/output/html.d index 6712469..1b984fe 100644 --- a/src/sdp/output/html.d +++ b/src/sdp/output/html.d @@ -27,7 +27,7 @@ template outputHTML() { foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_scroll"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -51,7 +51,8 @@ template outputHTML() { break; } break; - case "body": + case "body": // assert(part == "body"); + assert(part == "body" || "head"); // surprise switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -105,25 +106,26 @@ template outputHTML() { } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { case "heading": doc_html ~= xhtml_format.heading_scroll(obj, _txt, suffix); break; - case "endnote": + case "endnote": assert(part == "endnotes"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "glossary": + case "glossary": assert(part == "glossary"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "bookindex": + case "bookindex": assert(part == "bookindex_scroll"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; - case "blurb": + case "blurb": assert(part == "blurb"); doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix); break; default: @@ -197,6 +199,7 @@ template outputHTML() { foreach (obj; doc_abstraction[part]) { string _txt = xhtml_format.special_characters(obj, obj.text); if (obj.is_a == "heading") { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.heading_lev_markup) { case 0: .. case 3: /+ fill buffer, and replace with new levels from 1 to 3 +/ @@ -254,8 +257,9 @@ template outputHTML() { break; } } else { + assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.use) { - case "frontmatter": + case "frontmatter": assert(part == "head" || "toc_seg"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -277,7 +281,7 @@ template outputHTML() { break; } break; - case "body": + case "body": assert(part == "body"); switch (obj.is_of) { case "para": switch (obj.is_a) { @@ -339,29 +343,30 @@ template outputHTML() { } break; case "backmatter": + assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail"); switch (obj.is_of) { case "para": switch (obj.is_a) { - case "endnote": + case "endnote": assert(part == "endnotes"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; break; - case "glossary": + case "glossary": assert(part == "glossary"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "bibliography": + case "bibliography": assert(part == "bibliography"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "bookindex": + case "bookindex": assert(part == "bookindex_seg"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; break; - case "blurb": + case "blurb": assert(part == "blurb"); auto t = xhtml_format.para_seg(obj, _txt, suffix); doc_html[segment_filename] ~= t[0]; doc_html_endnotes[segment_filename] ~= t[1]; |