aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/output_xmls.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/output_xmls.org')
-rw-r--r--org/output_xmls.org306
1 files changed, 177 insertions, 129 deletions
diff --git a/org/output_xmls.org b/org/output_xmls.org
index 017c346..1757ffa 100644
--- a/org/output_xmls.org
+++ b/org/output_xmls.org
@@ -130,12 +130,9 @@ string _xhtml_anchor_tags(const(string[]) anchor_tags) {
#+name: xhtml_format_objects
#+BEGIN_SRC d
-auto html_scroll_head(Me)(
- Me dochead_meta,
+auto html_scroll_head(Dm)(
+ Dm doc_matters,
) {
- debug(asserts) {
- static assert(is(typeof(dochead_meta) == string[string][string]));
- }
string o;
o = format(q"¶<!DOCTYPE html>
<html>
@@ -163,11 +160,12 @@ auto html_scroll_head(Me)(
<link href="../../css/html.css" rel="stylesheet" />
<link href="../../../css/html.css" rel="stylesheet" />
</head>
-<body lang="en">
+<body lang="%s">
<a name="top" id="top"></a>¶",
-dochead_meta["title"]["full"],
-(dochead_meta["creator"]["author"].empty) ? "" : ", " ~ dochead_meta["creator"]["author"],
-);
+ doc_matters.dochead_meta["title"]["full"],
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? "" : ", " ~ doc_matters.dochead_meta["creator"]["author"],
+ doc_matters.language,
+ );
return o;
}
#+END_SRC
@@ -176,12 +174,9 @@ dochead_meta["title"]["full"],
#+name: xhtml_format_objects
#+BEGIN_SRC d
-auto html_seg_head(Me)(
- Me dochead_meta,
+auto html_seg_head(Dm)(
+ Dm doc_matters,
) {
- debug(asserts) {
- static assert(is(typeof(dochead_meta) == string[string][string]));
- }
string o;
o = format(q"¶<!DOCTYPE html>
<html>
@@ -209,11 +204,13 @@ auto html_seg_head(Me)(
<link href="../../css/html.css" rel="stylesheet" />
<link href="../../../css/html.css" rel="stylesheet" />
</head>
-<body lang="en">
+<body lang="%s">
<a name="top" id="top"></a>¶",
-dochead_meta["title"]["full"],
-(dochead_meta["creator"]["author"].empty) ? "" : ", " ~ dochead_meta["creator"]["author"],
-);
+ doc_matters.dochead_meta["title"]["full"],
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? ""
+ : ", " ~ doc_matters.dochead_meta["creator"]["author"],
+ doc_matters.language,
+ );
return o;
}
#+END_SRC
@@ -222,50 +219,60 @@ dochead_meta["title"]["full"],
#+name: xhtml_format_objects
#+BEGIN_SRC d
-auto epub3_seg_head(Me)(
- Me dochead_meta,
+auto epub3_seg_head(Dm)(
+ Dm doc_matters,
) {
- debug(asserts) {
- static assert(is(typeof(dochead_meta) == string[string][string]));
- }
- string html_simple = format(q"¶<!DOCTYPE html>
+ string html_base = format(q"¶<!DOCTYPE html>
<html>¶",
);
+ string html_simple = format(q"¶<!DOCTYPE html>
+<html
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:epub="http://www.idpf.org/2007/ops"
+ lang="%s" xml:lang="%s">¶",
+ doc_matters.language,
+ doc_matters.language,
+ );
string html_strict = format(q"¶<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">¶",
-);
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:epub="http://www.idpf.org/2007/ops"
+ lang="%s" xml:lang="%s">¶",
+ doc_matters.language,
+ doc_matters.language,
+ );
string o;
o = format(q"¶%s
<head>
- <meta charset="utf-8">
- <title>
- %s%s
- </title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
- <meta name="dc.title" content="Title" />
- <meta name="dc.author" content="Author" />
- <meta name="dc.publisher" content="SiSU http://www.jus.uio.no/sisu (this copy)" />
- <meta name="dc.date" content="year" />
- <meta name="dc.date.created" content="year" />
- <meta name="dc.date.issued" content="year" />
- <meta name="dc.date.available" content="year" />
- <meta name="dc.date.valid" content="year" />
- <meta name="dc.date.modified" content="year" />
- <meta name="dc.language" content="US" />
- <meta name="dc.rights" content="Copyright: Copyright (C) year holder" />
- <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" />
- </meta>
+ <title>
+ %s%s
+ </title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+ <meta name="dc.title" content="%s" />
+ <meta name="dc.author" content="%s" />
+ <meta name="dc.publisher" content="SiSU http://www.jus.uio.no/sisu (this copy)" />
+ <meta name="dc.date" content="year" />
+ <meta name="dc.date.created" content="year" />
+ <meta name="dc.date.issued" content="year" />
+ <meta name="dc.date.available" content="year" />
+ <meta name="dc.date.valid" content="year" />
+ <meta name="dc.date.modified" content="year" />
+ <meta name="dc.language" content="US" />
+ <meta name="dc.rights" content="Copyright: Copyright (C) year holder" />
+ <meta name="generator" content="sdp [SiSU 7.1.8 of 2016w08/5 (2016-02-26)] (n*x and D)" />
<link rel="generator" href="http://www.sisudoc.org/" />
<link rel="shortcut icon" href="../_sisu/image/rb7.ico" />
<link rel="stylesheet" href="css/epub.css" type="text/css" id="main-css" />
</head>
-<body lang="en">
+<body lang="%s">
<a name="top" id="top"></a>¶",
-html_strict,
-dochead_meta["title"]["full"],
-(dochead_meta["creator"]["author"].empty) ? "" : ", " ~ dochead_meta["creator"]["author"],
-);
+ html_simple,
+ doc_matters.dochead_meta["title"]["full"],
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? "" : ", " ~ doc_matters.dochead_meta["creator"]["author"],
+ doc_matters.dochead_meta["title"]["full"],
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? "" : ", " ~ doc_matters.dochead_meta["creator"]["author"],
+ doc_matters.language,
+ );
return o;
}
#+END_SRC
@@ -477,10 +484,12 @@ auto toc_seg(O)(
auto heading(O)(
auto return ref const O obj,
string _txt,
+ string _type="html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
string _horizontal_rule = "<hr />";
- if (obj.heading_lev_markup == 0) {
+ if ((_type != "html")
+ || (obj.heading_lev_markup == 0 || obj.heading_lev_markup > 4)) {
_horizontal_rule = "";
}
string o;
@@ -546,11 +555,12 @@ auto heading_seg(O)(
auto return ref const O obj,
string _txt,
string _suffix = ".html",
+ string _type = "html",
) {
auto t = inline_markup_seg(obj, _txt, _suffix);
_txt = t[0];
string[] _endnotes = t[1];
- string o = heading(obj, _txt);
+ string o = heading(obj, _txt, _type);
auto u = tuple(
o,
_endnotes,
@@ -1228,7 +1238,7 @@ void scroll(D,I)(
}
}
}
- doc = xhtml_format.html_scroll_head(doc_matters.dochead_meta) ~ doc_html ~ xhtml_format.tail;
+ doc = xhtml_format.html_scroll_head(doc_matters) ~ doc_html ~ xhtml_format.tail;
scroll_write_output(doc_matters, doc);
}
#+END_SRC
@@ -1316,7 +1326,7 @@ void seg(D,I)(
break;
case 4:
segment_filename = obj.segment_anchor_tag;
- doc_html[segment_filename] ~= xhtml_format.html_seg_head(doc_matters.dochead_meta);
+ doc_html[segment_filename] ~= xhtml_format.html_seg_head(doc_matters);
foreach (top_level_heading; top_level_headings) {
// writeln(top_level_heading);
doc_html[segment_filename] ~= top_level_heading;
@@ -1707,10 +1717,24 @@ string epub3_oebps_content(D,I,P)(D doc_abstraction, I doc_matters, P parts) {
string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) {
enum DomTags { none, open, close, close_and_open, open_still, }
auto markup = InlineMarkup();
- string toc ="<nav epub:type=\"toc\" id=\"toc\">\n";
+ auto rgx = Rgx();
+ string toc =format("<html xmlns=\"http://www.w3.org/1999/xhtml\"
+ xmlns:epub=\"http://www.idpf.org/2007/ops\">
+<head>
+ <title>%s</title>
+</head>
+<body>
+ <section epub:type=\"frontmatter toc\">
+ <header>
+ <h1>Contents</h1>
+ </header>
+ <nav epub:type=\"toc\" id=\"toc\">\n",
+ doc_matters.dochead_meta["title"]["full"],
+ );
foreach (sect; doc_matters.keys_seq.seg) {
foreach (obj; doc_abstraction[sect]) {
if (obj.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]) {
@@ -1720,10 +1744,12 @@ string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) {
break;
case DomTags.close_and_open :
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "</li>" ~ "\n";
- if (obj.dom_markedup[n] < 4) {
+ if (obj.heading_lev_markup < 4) {
toc ~= markup.indent_by_spaces_provided((n + 1), " ") ~ "<li>" ~ "\n"
~ markup.indent_by_spaces_provided((n + 2), " ")
- ~ "<span class=\"navhd\">" ~ obj.text ~ "</span>" ~ "\n";
+ ~ "<a href=\"" ~ obj.segment_anchor_tag ~ ".xhtml" ~ "\">"
+ ~ _txt
+ ~ "</a>" ~ "\n";
} else {
string hashtag =(obj.heading_lev_markup == 4)
? ""
@@ -1731,15 +1757,18 @@ string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) {
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 ~ "\">"
- ~ obj.text
+ ~ _txt
~ "</a>" ~ "\n";
}
break;
case DomTags.open :
toc ~= markup.indent_by_spaces_provided(n, " ") ~ "<ol>" ~ "\n";
- if (obj.dom_markedup[n] < 4) {
- toc ~= markup.indent_by_spaces_provided(n, " ")
- ~ "<li><span class=\"navhd\">" ~ obj.text ~ "</span>" ~ "\n";
+ if (obj.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" ~ "\">"
+ ~ _txt
+ ~ "</a>" ~ "\n";
} else {
string hashtag =(obj.heading_lev_markup == 4)
? ""
@@ -1747,7 +1776,7 @@ string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) {
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 ~ "\">"
- ~ obj.text
+ ~ _txt
~ "</a>" ~ "\n";
}
break;
@@ -1758,7 +1787,10 @@ string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) {
}
}
}
- toc ~="</nav>\n";
+ toc ~="</nav>
+ </section>
+ </body>
+</html>\n";
return toc;
}
#+END_SRC
@@ -1774,70 +1806,75 @@ string epub2_oebps_toc_ncx(D,I)(D doc_abstraction, I doc_matters) {
int counter = 0;
string uuid = "18275d951861c77f78acd05672c9906924c59f18a2e0ba06dad95959693e9bd8"; // TODO shared elsewhere
auto markup = InlineMarkup();
+ auto rgx = Rgx();
enum DomTags { none, open, close, close_and_open, open_still, }
string toc = format(q"¶<?xml version='1.0' encoding='utf-8'?>
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
- <head>
- <!-- four required metadata items (for all NCX documents,
- (including the relaxed constraints of OPS 2.0) -->
- <title>%s%s</title>
- <link rel="stylesheet" href="css/epub.css" type="text/css" id="main-css" />
- <meta name="dtb:uid" content="urn:uuid:%s" />
- <!-- <meta name="epub-creator" content="SiSU http://www.jus.uio.no/sisu (this copy)" /> -->
- <meta name="dtb:depth" content="%s" />
- <meta name="dtb:totalPageCount" content="0" />
- <meta name="dtb:maxPageNumber" content="0" />
- </head>
- <docTitle>
- <text>%s</text>
- </docTitle>
- <docAuthor>
- <text>%s</text>
- </docAuthor>
- <navMap>¶",
- doc_matters.dochead_meta["title"]["full"], // title
- (doc_matters.dochead_meta["creator"]["author"].empty) ? "" : " by " ~ doc_matters.dochead_meta["creator"]["author"], // author
- uuid, // uuid
- "3", // content depth
- doc_matters.dochead_meta["title"]["full"], // title
- (doc_matters.dochead_meta["creator"]["author"].empty) ? "" : doc_matters.dochead_meta["creator"]["author"], // author
+<head>
+ <!-- four required metadata items (for all NCX documents,
+ (including the relaxed constraints of OPS 2.0) -->
+ <title>%s%s</title>
+ <link rel="stylesheet" href="css/epub.css" type="text/css" id="main-css" />
+ <meta name="dtb:uid" content="urn:uuid:%s" />
+ <!-- <meta name="epub-creator" content="SiSU http://www.jus.uio.no/sisu (this copy)" /> -->
+ <meta name="dtb:depth" content="%s" />
+ <meta name="dtb:totalPageCount" content="0" />
+ <meta name="dtb:maxPageNumber" content="0" />
+</head>
+<docTitle>
+ <text>%s</text>
+</docTitle>
+<docAuthor>
+ <text>%s</text>
+</docAuthor>
+<navMap>¶",
+ doc_matters.dochead_meta["title"]["full"], // title
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? ""
+ : " by " ~ doc_matters.dochead_meta["creator"]["author"], // author
+ uuid, // uuid
+ "3", // content depth
+ doc_matters.dochead_meta["title"]["full"], // title
+ (doc_matters.dochead_meta["creator"]["author"].empty) ? ""
+ : doc_matters.dochead_meta["creator"]["author"], // author
);
foreach (sect; doc_matters.keys_seq.seg) {
foreach (obj; doc_abstraction[sect]) {
if (obj.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);
foreach_reverse (k; 0 .. 7) {
switch (obj.dom_markedup[k]) {
case DomTags.close :
- // writeln(markup.indent_by_spaces_provided(k), "</", k, ">"); // --debug dom tags
-toc ~= "</navPoint>";
+ toc ~= "\n </navPoint>";
break;
case DomTags.close_and_open :
- // writeln(markup.indent_by_spaces_provided(k), "</", k, ">"); // --debug dom tags
- // writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text); // --debug dom tags
++counter;
-toc ~= "</navPoint>";
-toc ~= format(q"¶<navPoint class="chapter" id="navpoint" playOrder="%s">
-<navLabel>
- <text>%s</text>
-</navLabel>
-<content src="%s" />¶",
-counter,
-obj.text,
-obj.segment_anchor_tag, // lev < 4 [no link]; lev == 4 [filename] markup.xhtml; lev > 4 [filename#ocn] (links done in segment_anchor_tag)
-);
+ toc ~= "\n </navPoint>";
+ toc ~= format(q"¶
+ <navPoint class="chapter" id="navpoint" playOrder="%s">
+ <navLabel>
+ <text>%s</text>
+ </navLabel>
+ <content src="%s.xhtml%s" />¶",
+ counter,
+ _txt,
+ obj.segment_anchor_tag,
+ hashtag,
+ );
break;
case DomTags.open :
- // writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text); // --debug dom tags
++counter;
-toc ~= format(q"¶<navPoint class="chapter" id="navpoint" playOrder="%s">
-<navLabel>
- <text>%s</text>
-</navLabel>
-<content src="%s" />¶",
-counter,
-obj.text,
-obj.segment_anchor_tag, // lev < 4 [no link]; lev == 4 [filename] markup.xhtml; lev > 4 [filename#ocn] (fix links in segment_anchor_tag)
-);
+ toc ~= format(q"¶
+ <navPoint class="chapter" id="navpoint" playOrder="%s">
+ <navLabel>
+ <text>%s</text>
+ </navLabel>
+ <content src="%s.xhtml%s" />¶",
+ counter,
+ _txt,
+ obj.segment_anchor_tag,
+ hashtag,
+ );
break;
default :
break;
@@ -1871,6 +1908,7 @@ void outputEPub3(D,I)(
string[] top_level_headings = ["","","",""];
string[string] oepbs_content_parts;
string suffix = ".xhtml";
+ string[] doc_parts_;
foreach (part; doc_matters.keys_seq.seg) {
foreach (obj; doc_abstraction[part]) {
string _txt = xhtml_format.special_characters(obj, obj.text);
@@ -1898,23 +1936,23 @@ void outputEPub3(D,I)(
top_level_headings[3] = "";
goto default;
default:
- auto t = xhtml_format.heading_seg(obj, suffix);
- top_level_headings[obj.heading_lev_markup] = t[0];
+ doc_parts_ ~= obj.segment_anchor_tag;
+ doc_epub3[obj.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];
break;
}
break;
case 4:
segment_filename = obj.segment_anchor_tag;
- doc_epub3[segment_filename] ~= xhtml_format.epub3_seg_head(doc_matters.dochead_meta);
- foreach (top_level_heading; top_level_headings) {
- doc_epub3[segment_filename] ~= top_level_heading;
- }
- auto t = xhtml_format.heading_seg(obj, _txt, suffix);
+ 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];
doc_epub3_endnotes[segment_filename] ~= t[1];
break;
case 5: .. case 7:
- auto t = xhtml_format.heading_seg(obj, _txt, suffix);
+ auto t = xhtml_format.heading_seg(obj, _txt, suffix, "epub");
doc_epub3[segment_filename] ~= t[0];
doc_epub3_endnotes[segment_filename] ~= t[1];
break;
@@ -1937,7 +1975,9 @@ void outputEPub3(D,I)(
case "para":
switch (obj.is_a) {
case "toc":
- doc_epub3[segment_filename] ~= xhtml_format.toc_seg(obj, _txt);
+ auto t = xhtml_format.para_seg(obj, _txt, suffix);
+ doc_epub3[segment_filename] ~= t[0];
+ doc_epub3_endnotes[segment_filename] ~= t[1];
break;
default:
if ((doc_matters.opt_action_bool["debug"])) {
@@ -2067,35 +2107,41 @@ void outputEPub3(D,I)(
}
}
if (obj.is_a == "heading") {
- if (obj.heading_lev_markup == 4) {
- oepbs_content_parts["manifest_documents"] ~= format(q"¶ <item id="%s.xhtml" href="%s.xhtml" media-type="application/xhtml+xml" />
+ if (obj.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,
);
- oepbs_content_parts["spine"] ~= format(q"¶ <itemref idref="%s.xhtml" linear="yes" />
+ oepbs_content_parts["spine"] ~=
+ format(q"¶ <itemref idref="%s.xhtml" linear="yes" />
¶",
obj.segment_anchor_tag,
);
- oepbs_content_parts["guide"] ~= format(q"¶ <reference type="%s" href="%s" />
+ oepbs_content_parts["guide"] ~=
+ format(q"¶ <reference type="%s" href="%s" />
¶",
obj.segment_anchor_tag,
obj.segment_anchor_tag,
);
} else if (obj.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" />
+ 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,
);
- oepbs_content_parts["spine"] ~= format(q"¶ <itemref idref="%s.xhtml#%s" linear="yes" />
+ oepbs_content_parts["spine"] ~=
+ format(q"¶ <itemref idref="%s.xhtml#%s" linear="yes" />
¶",
obj.segment_anchor_tag,
obj.obj_cite_number,
);
- oepbs_content_parts["guide"] ~= format(q"¶ <reference type="%s#%s" href="%s#%s" />
+ oepbs_content_parts["guide"] ~=
+ format(q"¶ <reference type="%s#%s" href="%s#%s" />
¶",
obj.segment_anchor_tag,
obj.obj_cite_number,
@@ -2121,6 +2167,7 @@ void outputEPub3(D,I)(
oebps_toc_nav_xhtml,
oebps_toc_ncx,
oebps_content_opf,
+ doc_parts_,
);
}
#+END_SRC
@@ -2138,8 +2185,8 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
Otnx oebps_toc_nav_xhtml,
Otn oebps_toc_ncx,
Oc oebps_content_opf,
+ string[] doc_parts_,
) {
- auto css = SiSUcss();
debug(asserts) {
static assert(is(typeof(doc_epub3) == string[][string]));
static assert(is(typeof(mimetypes) == string));
@@ -2173,7 +2220,7 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
}
}
{ /+ OEBPS/[segments].xhtml (the document contents) +/
- foreach (seg_filename; doc_matters.segnames) {
+ foreach (seg_filename; doc_matters.segnames_lv_0_to_4) {
string fn = pth_epub3.fn_oebps_content_xhtml(doc_matters.source_filename, seg_filename);
/+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
@@ -2323,6 +2370,7 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
}
}
{ /+ OEBPS/epub.css +/
+ auto css = SiSUcss();
debug(epub_output) {
fn_dbg = pth_epub3.dbg_fn_oebps_css(doc_matters.source_filename);
File(fn_dbg, "w").writeln(css.epub_css);
@@ -2333,7 +2381,7 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
// add OEBPS/content.opf to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(oebps_content_opf.dup); // cast as: char[]
+ zip_data.write(css.epub_css.dup); // cast as: char[]
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
/+ create the zip file +/