aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/output/epub3.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdp/output/epub3.d')
-rw-r--r--src/sdp/output/epub3.d134
1 files changed, 67 insertions, 67 deletions
diff --git a/src/sdp/output/epub3.d b/src/sdp/output/epub3.d
index 3209fae..18b9986 100644
--- a/src/sdp/output/epub3.d
+++ b/src/sdp/output/epub3.d
@@ -104,20 +104,20 @@ template outputEPub3() {
debug(epubmanifest) {
foreach (s; doc_matters.xml.keys_seq.seg) {
foreach (obj; doc_abstraction[s]) {
- if (obj.is_a == "heading") {
- if (obj.heading_lev_markup == 4) {
+ if (obj.typeinfo.is_a == "heading") {
+ if (obj.node.heading_lev_markup == 4) {
writefln(
"%s~ [%s.xhtml] %s",
obj.marked_up_level,
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
obj.text
);
- } else if (obj.heading_lev_markup > 4) {
+ } else if (obj.node.heading_lev_markup > 4) {
writefln(
"%s~ [%s.xhtml#%s] %s",
obj.marked_up_level,
- obj.segment_anchor_tag,
- obj.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
obj.text
);
}
@@ -146,49 +146,49 @@ template outputEPub3() {
);
foreach (sect; doc_matters.xml.keys_seq.seg) {
foreach (obj; doc_abstraction[sect]) {
- if (obj.is_a == "heading") {
+ if (obj.typeinfo.is_a == "heading") {
string _txt = obj.text.replaceAll(rgx.inline_notes_al_gen, "").strip;
foreach_reverse (n; 0 .. 7) {
string k = n.to!string;
- switch (obj.dom_collapsed[n]) {
+ switch (obj.node.dom_collapsed[n]) {
case DomTags.close :
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "</li>" ~ "\n";
toc ~= markup.indent_by_spaces_provided(n, " ") ~ "</ol>" ~ "\n";
break;
case DomTags.close_and_open :
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "</li>" ~ "\n";
- if (obj.heading_lev_markup < 4) {
+ if (obj.node.heading_lev_markup < 4) {
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "<li>" ~ "\n"
~ markup.indent_by_spaces_provided((n + 2), " ")
- ~ "<a href=\"" ~ obj.segment_anchor_tag ~ ".xhtml" ~ "\">"
+ ~ "<a href=\"" ~ obj.tags.segment_anchor_tag ~ ".xhtml" ~ "\">"
~ _txt
~ "</a>" ~ "\n";
} else {
- string hashtag =(obj.heading_lev_markup == 4)
+ string hashtag =(obj.node.heading_lev_markup == 4)
? ""
- : ("#" ~ obj.ocn.to!string);
+ : ("#" ~ obj.node.ocn.to!string);
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "<li>" ~ "\n"
~ markup.indent_by_spaces_provided((n + 2), " ")
- ~ "<a href=\"" ~ obj.segment_anchor_tag ~ ".xhtml" ~ hashtag ~ "\">"
+ ~ "<a href=\"" ~ obj.tags.segment_anchor_tag ~ ".xhtml" ~ hashtag ~ "\">"
~ _txt
~ "</a>" ~ "\n";
}
break;
case DomTags.open :
toc ~= markup.indent_by_spaces_provided(n, " ") ~ "<ol>" ~ "\n";
- if (obj.heading_lev_markup < 4) {
+ if (obj.node.heading_lev_markup < 4) {
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "<li>" ~ "\n"
~ markup.indent_by_spaces_provided((n + 2), " ")
- ~ "<a href=\"" ~ obj.segment_anchor_tag ~ ".xhtml" ~ "\">"
+ ~ "<a href=\"" ~ obj.tags.segment_anchor_tag ~ ".xhtml" ~ "\">"
~ _txt
~ "</a>" ~ "\n";
} else {
- string hashtag =(obj.heading_lev_markup == 4)
+ string hashtag =(obj.node.heading_lev_markup == 4)
? ""
- : ("#" ~ obj.ocn.to!string);
+ : ("#" ~ obj.node.ocn.to!string);
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "<li>" ~ "\n"
~ markup.indent_by_spaces_provided((n + 2), " ")
- ~ "<a href=\"" ~ obj.segment_anchor_tag ~ ".xhtml" ~ hashtag ~ "\">"
+ ~ "<a href=\"" ~ obj.tags.segment_anchor_tag ~ ".xhtml" ~ hashtag ~ "\">"
~ _txt
~ "</a>" ~ "\n";
}
@@ -243,11 +243,11 @@ template outputEPub3() {
);
foreach (sect; doc_matters.xml.keys_seq.seg) {
foreach (obj; doc_abstraction[sect]) {
- if (obj.is_a == "heading") {
+ if (obj.typeinfo.is_a == "heading") {
string _txt = obj.text.replaceAll(rgx.inline_notes_al_gen, "").strip;
- string hashtag =(obj.heading_lev_markup <= 4) ? "" : ("#" ~ obj.ocn.to!string);
+ string hashtag =(obj.node.heading_lev_markup <= 4) ? "" : ("#" ~ obj.node.ocn.to!string);
foreach_reverse (k; 0 .. 7) {
- switch (obj.dom_markedup[k]) {
+ switch (obj.node.dom_markedup[k]) {
case DomTags.close :
toc ~= "\n </navPoint>";
break;
@@ -262,7 +262,7 @@ template outputEPub3() {
<content src="%s.xhtml%s" />¶",
counter,
_txt,
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
hashtag,
);
break;
@@ -276,7 +276,7 @@ template outputEPub3() {
<content src="%s.xhtml%s" />¶",
counter,
_txt,
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
hashtag,
);
break;
@@ -310,12 +310,12 @@ template outputEPub3() {
foreach (part; doc_matters.xml.keys_seq.seg) {
foreach (obj; doc_abstraction[part]) {
string _txt = xhtml_format.special_characters(obj, obj.text);
- if (obj.is_a == "heading") {
+ if (obj.typeinfo.is_a == "heading") {
assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail");
- switch (obj.heading_lev_markup) {
+ switch (obj.node.heading_lev_markup) {
case 0: .. case 3:
/+ fill buffer, and replace with new levels from 1 to 3 +/
- switch (obj.heading_lev_markup) {
+ switch (obj.node.heading_lev_markup) {
case 0:
top_level_headings[0] = "";
top_level_headings[1] = "";
@@ -335,16 +335,16 @@ template outputEPub3() {
top_level_headings[3] = "";
goto default;
default:
- doc_parts_ ~= obj.segment_anchor_tag;
- doc_epub3[obj.segment_anchor_tag] ~= xhtml_format.epub3_seg_head(doc_matters);
+ doc_parts_ ~= obj.tags.segment_anchor_tag;
+ doc_epub3[obj.tags.segment_anchor_tag] ~= xhtml_format.epub3_seg_head(doc_matters);
auto t = xhtml_format.heading_seg(obj, _txt, suffix, "epub");
- doc_epub3[obj.segment_anchor_tag] ~= t[0];
- doc_epub3_endnotes[obj.segment_anchor_tag] ~= t[1];
+ doc_epub3[obj.tags.segment_anchor_tag] ~= t[0];
+ doc_epub3_endnotes[obj.tags.segment_anchor_tag] ~= t[1];
break;
}
break;
case 4:
- segment_filename = obj.segment_anchor_tag;
+ segment_filename = obj.tags.segment_anchor_tag;
doc_epub3[segment_filename] ~= xhtml_format.epub3_seg_head(doc_matters);
auto t = xhtml_format.heading_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0];
@@ -357,23 +357,23 @@ template outputEPub3() {
break;
case 8: .. case 9:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a, ": ", obj.node.heading_lev_markup);
writeln(__FILE__, ":", __LINE__, ": ", obj.text);
}
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a, ": ", obj.node.heading_lev_markup);
}
break;
}
} else {
assert(part == "head" || "toc_seg" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail");
- switch (obj.of_part) {
+ switch (obj.typeinfo.of_part) {
case "frontmatter": assert(part == "head" || "toc_seg");
- switch (obj.is_of) {
+ switch (obj.typeinfo.is_of) {
case "para":
- switch (obj.is_a) {
+ switch (obj.typeinfo.is_a) {
case "toc":
auto t = xhtml_format.para_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0];
@@ -381,22 +381,22 @@ template outputEPub3() {
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a);
}
break;
}
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_of);
}
break;
}
break;
case "body": assert(part == "body");
- switch (obj.is_of) {
+ switch (obj.typeinfo.is_of) {
case "para":
- switch (obj.is_a) {
+ switch (obj.typeinfo.is_a) {
case "para":
auto t = xhtml_format.para_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0];
@@ -404,13 +404,13 @@ template outputEPub3() {
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a);
}
break;
}
break;
case "block":
- switch (obj.is_a) {
+ switch (obj.typeinfo.is_a) {
case "quote":
auto t = xhtml_format.quote_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0].to!string;
@@ -442,23 +442,23 @@ template outputEPub3() {
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a);
}
break;
}
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_of);
}
break;
}
break;
case "backmatter":
assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail");
- switch (obj.is_of) {
+ switch (obj.typeinfo.is_of) {
case "para":
- switch (obj.is_a) {
+ switch (obj.typeinfo.is_a) {
case "endnote": assert(part == "endnotes");
auto t = xhtml_format.para_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0];
@@ -485,14 +485,14 @@ template outputEPub3() {
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_a);
}
break;
}
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.is_of);
}
break;
}
@@ -501,53 +501,53 @@ template outputEPub3() {
break;
default:
if ((doc_matters.opt.action.debug_do)) {
- writeln(__FILE__, ":", __LINE__, ": ", obj.of_part);
+ writeln(__FILE__, ":", __LINE__, ": ", obj.typeinfo.of_part);
}
break;
}
}
- if (obj.is_a == "heading") {
+ if (obj.typeinfo.is_a == "heading") {
assert(obj.text.length > 0);
- if (obj.heading_lev_markup <= 4) {
+ if (obj.node.heading_lev_markup <= 4) {
oepbs_content_parts["manifest_documents"] ~=
format(q"¶ <item id="%s.xhtml" href="%s.xhtml" media-type="application/xhtml+xml" />
¶",
- obj.segment_anchor_tag,
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
);
oepbs_content_parts["spine"] ~=
format(q"¶ <itemref idref="%s.xhtml" linear="yes" />
¶",
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
);
oepbs_content_parts["guide"] ~=
format(q"¶ <reference type="%s" href="%s" />
¶",
- obj.segment_anchor_tag,
- obj.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
+ obj.tags.segment_anchor_tag,
);
- } else if (obj.heading_lev_markup > 4) {
+ } else if (obj.node.heading_lev_markup > 4) {
oepbs_content_parts["manifest_documents"] ~=
format(q"¶ <item id="%s.xhtml#%s" href="%s.xhtml#%s" media-type="application/xhtml+xml" />
¶",
- obj.segment_anchor_tag,
- obj.obj_cite_number,
- obj.segment_anchor_tag,
- obj.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
);
oepbs_content_parts["spine"] ~=
format(q"¶ <itemref idref="%s.xhtml#%s" linear="yes" />
¶",
- obj.segment_anchor_tag,
- obj.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
);
oepbs_content_parts["guide"] ~=
format(q"¶ <reference type="%s#%s" href="%s#%s" />
¶",
- obj.segment_anchor_tag,
- obj.obj_cite_number,
- obj.segment_anchor_tag,
- obj.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
+ obj.tags.segment_anchor_tag,
+ obj.node.obj_cite_number,
);
}
}