aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sdp/output/epub3.d17
-rw-r--r--src/sdp/output/html.d33
2 files changed, 29 insertions, 21 deletions
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];