aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-05-06 11:33:10 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit7a73aa10276b0c1151500d26b194336b56af7aba (patch)
treee267901f73375393cc429c5c17ce661216de111a /src/sdp
parentxmls work particularly with epub output (diff)
Diffstat (limited to 'src/sdp')
-rw-r--r--src/sdp/abstraction.d4
-rw-r--r--src/sdp/ao_abstract_doc_source.d18
-rw-r--r--src/sdp/ao_conf_make_meta_sdlang.d140
-rw-r--r--src/sdp/ao_defaults.d33
-rw-r--r--src/sdp/ao_doc_debugs.d16
-rw-r--r--src/sdp/ao_read_source_files.d6
-rw-r--r--src/sdp/ao_rgx.d25
-rw-r--r--src/sdp/defaults.d26
-rw-r--r--src/sdp/output_epub3.d50
-rw-r--r--src/sdp/output_html.d12
-rw-r--r--src/sdp/output_rgx.d6
-rw-r--r--src/sdp/output_xmls.d29
-rw-r--r--src/sdp/paths_output.d6
-rw-r--r--src/sdp/source_sisupod.d8
14 files changed, 109 insertions, 270 deletions
diff --git a/src/sdp/abstraction.d b/src/sdp/abstraction.d
index 51b76d6..726513c 100644
--- a/src/sdp/abstraction.d
+++ b/src/sdp/abstraction.d
@@ -14,7 +14,7 @@ template SiSUabstraction() {
output_hub,
paths_source;
/+ sdlang http://sdlang.org +/
- import sdlang; // sdlang.d
+ import sdlang;
/+ std +/
private import
std.array,
@@ -70,7 +70,7 @@ template SiSUabstraction() {
);
static assert(!isTypeTuple!(da));
static assert(da.length==5);
- auto doc_abstraction = da[docAbst.doc_abstraction]; // head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~blurb;
+ auto doc_abstraction = da[docAbst.doc_abstraction]; /+ head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~ blurb; +/
auto _document_section_keys_sequenced = da[docAbst.section_keys];
string[] _doc_html_segnames = da[docAbst.segnames];
string[] _doc_epub_segnames_0_4 = da[docAbst.segnames_0_4];
diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d
index f231af6..baf13b8 100644
--- a/src/sdp/ao_abstract_doc_source.d
+++ b/src/sdp/ao_abstract_doc_source.d
@@ -613,7 +613,7 @@ template SiSUdocAbstraction() {
/+ non blocks (headings, paragraphs) & closed blocks +/
assert(
!line.empty,
- "line tested, line not empty surely"
+ "line tested, line not empty surely:\n \"" ~ line ~ "\""
);
assert(
(type["blocks"] == TriState.off)
@@ -628,7 +628,9 @@ template SiSUdocAbstraction() {
assert(
line.matchFirst(rgx.book_index)
|| line.matchFirst(rgx.book_index_open)
- || type["book_index"] == State.on
+ || type["book_index"] == State.on,
+ "\nblocks closed, unless followed by book index, non-matching line:\n \""
+ ~ line ~ "\""
);
}
if (line.matchFirst(rgx.book_index)
@@ -696,7 +698,7 @@ template SiSUdocAbstraction() {
} else if (line_occur["para"] > State.off) {
/+ paragraph +/
debug(para) {
- writeln(line);
+ writeln(an_object_key, "-> ", line);
}
an_object[an_object_key] ~= " " ~ line;
++line_occur["para"];
@@ -721,7 +723,8 @@ template SiSUdocAbstraction() {
/+ line.empty, post contents, empty variables: +/
assert(
line.empty,
- "line should be empty"
+ "\nline should be empty:\n \""
+ ~ line ~ "\""
);
assert(
(type["blocks"] == State.off),
@@ -2577,7 +2580,8 @@ template SiSUdocAbstraction() {
) {
assert(
line.empty,
- "line should be empty"
+ "\nline should be empty:\n \""
+ ~ line ~ "\""
);
assert(
(type["blocks"] == TriState.closing),
@@ -2714,7 +2718,7 @@ template SiSUdocAbstraction() {
obj_cite_number,
segment_anchor_tag_that_object_belongs_to
);
- an_object["is"] = "verse";
+ an_object["is"] = "verse";
auto comp_obj_location =
node_construct.node_location_emitter(
content_non_header,
@@ -4175,8 +4179,6 @@ template SiSUdocAbstraction() {
}
return munge_;
}
-
-
static string _make_segment_anchor_tags_if_none_provided(M,Lv)(M munge_, Lv lev_) {
debug(asserts) {
static assert(is(typeof(munge_) == string));
diff --git a/src/sdp/ao_conf_make_meta_sdlang.d b/src/sdp/ao_conf_make_meta_sdlang.d
index 533f482..74bb996 100644
--- a/src/sdp/ao_conf_make_meta_sdlang.d
+++ b/src/sdp/ao_conf_make_meta_sdlang.d
@@ -45,141 +45,6 @@ template SiSUheaderExtractSDLang() {
}
private auto documentMakeSDLangToAAmake(Tag)(Tag document_make_sdlang) {
auto dochead_make = sdlangToAAmake(make_aa, document_make_sdlang);
- /+
- /+ dochead +/
- string hm;
- string hs;
- /+ make +/
- auto dochead_make = make_aa;
- if (!(document_make_sdlang.maybe.tags["make"].empty)) {
- hm = "make";
- hs = "bold";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "breaks";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "cover_image";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "css";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "emphasis";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "footer";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "headings";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "home_button_image";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "home_button_text";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "italics";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "num_top";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "substitute";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- hs = "texpdf_font";
- if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty)
- && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) {
- debug(headersdlang) {
- writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- dochead_make[hm][hs] =
- to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
- }
- }
- +/
- /+
- hm = "links";
- if (!(document_make_sdlang.maybe.tags[hm].empty)) {
- /+ TODO
- stuff to fix
- +/
- }
- +/
return dochead_make;
}
final private auto headerMakeSDLang(Hs)(Hs src_header) {
@@ -218,7 +83,6 @@ template SiSUheaderExtractSDLang() {
char[][] source_header_arr =
(cast(char[]) src_header).split(rgx.newline_eol_delimiter);
char[] header_clean;
- // TODO
foreach(header_line; source_header_arr) {
if (!match(header_line, rgx.comments)) {
header_clean ~= header_line ~ "\n";
@@ -245,7 +109,7 @@ template SiSUheaderExtractSDLang() {
auto dochead_meta = sdlangToAAmake(meta_aa, header_sdlang);
if (dochead_meta["title"]["main"].empty) {
dochead_meta["title"]["main"] =
- to!string(header_sdlang.maybe.tags["title"][0].values[0]); // test that this exists
+ to!string(header_sdlang.maybe.tags["title"][0].values[0]);
}
if (!(dochead_meta["title"]["subtitle"].empty)
&& (dochead_meta["title"]["sub"].empty)) {
@@ -277,7 +141,7 @@ template SiSUheaderExtractSDLang() {
static assert(is(typeof(header_sdlang_src) == char[]));
static assert(is(typeof(conf_doc_make_aa) == string[string][string]));
}
- auto header_sdlang_tag = headerSDLangGet(header_sdlang_src); // sdlang.ast.Tag
+ auto header_sdlang_tag = headerSDLangGet(header_sdlang_src);
auto header_aa_tuple = headerSDLangToAAmake(header_sdlang_tag, conf_doc_make_aa);
return header_aa_tuple;
}
diff --git a/src/sdp/ao_defaults.d b/src/sdp/ao_defaults.d
index 0f1ba2a..363cc39 100644
--- a/src/sdp/ao_defaults.d
+++ b/src/sdp/ao_defaults.d
@@ -170,7 +170,7 @@ template SiSUregisters() {
"date",
"identifier",
"links",
- "make", /+ make +/
+ "make",
"original",
"notes",
"rights",
@@ -325,7 +325,6 @@ template SiSUnode() {
"is" : "",
"ocn" : "",
"attrib" : "",
- // "segment_anchor_tag" : "",
];
return _node;
}
@@ -335,10 +334,6 @@ template SiSUnode() {
"indent_base" : 0,
"indent_hang" : 0,
"bullet" : 0, // bool (0|1)
- // "ptr_doc_object" : 0,
- // "ptr_html_segnames" : 0,
- // "parent_ocn" : 0,
- // "parent_lev_markup" : 9,
];
return _node;
}
@@ -382,23 +377,23 @@ template SiSUbiblio() {
}
template InternalMarkup() {
struct InlineMarkup {
- auto en_a_o = "【"; auto en_a_c = "】"; // endnote en_a_o: '~{'; en_a_c: '}~';
- auto en_b_o = "〖"; auto en_b_c = "〗"; // endnote en_b_o: '~['; en_b_c: ']~';
- auto lnk_o = "┥"; auto lnk_c = "┝"; // auto lnk_o = "⌠"; auto lnk_c = "⌡"; // '⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o= '◁'; Mx[:lnk_c= '▷' #‹ ›
+ auto en_a_o = "【"; auto en_a_c = "】";
+ auto en_b_o = "〖"; auto en_b_c = "〗";
+ auto lnk_o = "┥"; auto lnk_c = "┝";
auto url_o = "┤"; auto url_c = "├";
auto mark_internal_site_lnk = "¤";
auto nbsp = "░";
- auto br_line = "┘"; // "╱"; // lB ▌ 9612 ┘ ¶
- auto br_nl = "┙"; // "╲"; // lB ▌ 』 ┘
- auto br_paragraph = "┚"; // "█"; // FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616
+ auto br_line = "┘";
+ auto br_nl = "┙";
+ auto br_paragraph = "┚";
auto br_obj = "break_obj";
- auto br_page_line = "┼"; // "▭";
- auto br_page = "┿"; // "┼";
- auto br_page_new = "╂"; // "╋";
- auto tc_s = "┊"; // "┴"; //"『"; // "┏" ┓
- auto tc_o = "┏"; //"『"; // "┏" ┓
- auto tc_c = "┚"; // "』"; // "┚" table row mark #Mx[:tc_c]="』\n"
- auto tc_p = "┆"; // table col/misc mark
+ auto br_page_line = "┼";
+ auto br_page = "┿";
+ auto br_page_new = "╂";
+ auto tc_s = "┊";
+ auto tc_o = "┏";
+ auto tc_c = "┚";
+ auto tc_p = "┆";
string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") {
_indent_spaces = replicate(_indent_spaces, indent);
return _indent_spaces;
diff --git a/src/sdp/ao_doc_debugs.d b/src/sdp/ao_doc_debugs.d
index 11eb148..e650e5b 100644
--- a/src/sdp/ao_doc_debugs.d
+++ b/src/sdp/ao_doc_debugs.d
@@ -125,10 +125,14 @@ template SiSUdebugs() {
break;
case DomTags.close_and_open :
writeln(markup.indent_by_spaces_provided(k), "</", k, ">");
- writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text, " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
+ writeln(markup.indent_by_spaces_provided(k),
+ "<", k, ">", obj.text,
+ " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
break;
case DomTags.open :
- writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text, " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
+ writeln(markup.indent_by_spaces_provided(k),
+ "<", k, ">", obj.text,
+ " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
break;
default :
break;
@@ -148,10 +152,14 @@ template SiSUdebugs() {
break;
case DomTags.close_and_open :
writeln(markup.indent_by_spaces_provided(k), "</", k, ">");
- writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text, " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
+ writeln(markup.indent_by_spaces_provided(k),
+ "<", k, ">", obj.text,
+ " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
break;
case DomTags.open :
- writeln(markup.indent_by_spaces_provided(k), "<", k, ">", obj.text, " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
+ writeln(markup.indent_by_spaces_provided(k),
+ "<", k, ">", obj.text,
+ " file: ", obj.segment_anchor_tag, ".xhtml#", obj.ocn);
break;
default :
break;
diff --git a/src/sdp/ao_read_source_files.d b/src/sdp/ao_read_source_files.d
index b47918a..33e7987 100644
--- a/src/sdp/ao_read_source_files.d
+++ b/src/sdp/ao_read_source_files.d
@@ -196,7 +196,7 @@ template SiSUrawMarkupContent() {
auto raw = MarkupRawUnit();
auto markup_sourcesubfile_insert_content =
raw.getInsertMarkupSourceContentRawLineArray(fn_src_insert, rgx.src_fn_find_inserts);
- debug(insert) { // insert file
+ debug(insert_file) {
tell_l("red", line);
tell_l("red", fn_src_insert);
tell_l("fuchsia", "ERROR");
@@ -264,7 +264,7 @@ template SiSUrawMarkupContent() {
}
auto markup_sourcefile_insert_content =
raw.getInsertMarkupSourceContentRawLineArray(fn_src_insert, rgx.src_fn_find_inserts);
- debug(insert) { // insert file
+ debug(insert_file) {
tell_l("red", line);
tell_l("red", fn_src_insert);
writeln(
@@ -291,7 +291,7 @@ template SiSUrawMarkupContent() {
contents ~= line;
}
} // end src doc loop
- debug(insert) { // insert file
+ debug(insert_file) {
writeln(__LINE__);
writeln(contents.length);
}
diff --git a/src/sdp/ao_rgx.d b/src/sdp/ao_rgx.d
index 8c73423..38c7fae 100644
--- a/src/sdp/ao_rgx.d
+++ b/src/sdp/ao_rgx.d
@@ -26,8 +26,8 @@ template SiSUrgxInit() {
static para_delimiter = ctRegex!("\n[ ]*\n+");
static table_col_delimiter = ctRegex!("[ ]*\n+", "mg");
static table_row_delimiter = ctRegex!("\n[ ]*\n+", "mg");
- static table_row_delimiter_special = ctRegex!("[ ]*\n", "mg"); //
- static table_col_delimiter_special = ctRegex!("[ ]*[|][ ]*", "mg"); //
+ static table_row_delimiter_special = ctRegex!("[ ]*\n", "mg");
+ static table_col_delimiter_special = ctRegex!("[ ]*[|][ ]*", "mg");
static levels_markup = ctRegex!(`^[A-D1-4]$`);
static levels_numbered = ctRegex!(`^[0-9]$`);
static levels_numbered_headings = ctRegex!(`^[0-7]$`);
@@ -67,12 +67,11 @@ template SiSUrgxInit() {
static heading_marker = ctRegex!(`^:?([A-D1-4])[~]`);
static heading_anchor_tag = ctRegex!(`^:?[A-D1-4][~]([a-z0-9_.-]+) `,"i");
static heading_identify_anchor_tag = ctRegex!(`^:?[A-D1-4][~]\s+(?:(?:(?:chapter|article|section|clause)\s+[0-9.]+)|(?:[0-9]+))`,"i");
- // unless dob.obj =~/^:?[A-D1-4]~\s+(?:|(?:chapter|article|section|clause)\s+)([0-9.]+)/i
static heading_extract_named_anchor_tag = ctRegex!(`^:?[A-D1-4][~]\s+(chapter|article|section|clause)\s+((?:[0-9]+.)*[0-9]+)(?:[.:;, ]|$)`,"i");
static heading_extract_unnamed_anchor_tag = ctRegex!(`^:?[A-D1-4][~]\s+((?:[0-9]+.)*[0-9]+)(?:[.:;, ]|$)`);
static heading_marker_missing_tag = ctRegex!(`^:?([A-D1-4])[~] `);
static heading_title = ctRegex!(`^:?[A-D1-4][~][a-z0-9_.-]*[?]?\s+(.+?)$`);
- static heading_all = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?)\s+(.+?)$`); // test, particularly [2] name/hashtag which may or may not be, does this affect title [3]
+ static heading_all = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?)\s+(.+?)$`);
static heading_backmatter = ctRegex!(`^:?1[~][!](glossary|bibliography|biblio|blurb)\s+`,"i");
static heading_biblio = ctRegex!(`^:?(1)[~][!](biblio(?:graphy)?|references?)`);
static heading_glossary = ctRegex!(`^:?(1)[~][!](glossary)`);
@@ -111,7 +110,7 @@ template SiSUrgxInit() {
static block_curly_quote_close = ctRegex!(`^([}]quote)`);
static block_curly_table_open = ctRegex!(`^table[{](.*)`);
static block_curly_table_close = ctRegex!(`^([}]table)`);
- static block_curly_table_special_markup = ctRegex!(`^[{]table((~h)?(?P<columns>(?:[ ]+[0-9]+;)+))[}]`, "mg"); // sepcial table block markup
+ static block_curly_table_special_markup = ctRegex!(`^[{]table((~h)?(?P<columns>(?:[ ]+[0-9]+;)+))[}]`, "mg");
static table_head_instructions = ctRegex!(`(?P<c_heading>h)?(?:[ ]+c(?P<c_num>[0-9]);)?(?P<c_widths>(?:[ ]+[0-9]+[lr]?;)+)`);
static table_col_widths_and_alignment = ctRegex!(`(?P<width>[0-9]+)(?P<align>[lr]?)`);
static table_col_widths = ctRegex!(`(?P<widths>[0-9]+)`);
@@ -133,9 +132,9 @@ template SiSUrgxInit() {
static inline_text_and_note_square = ctRegex!(`(.+?)~\[\s*(.+?)\]~`, "mg");
static inline_note_square_delimiters = ctRegex!(`(~\[\s*)(.+?)(\]~)`, "mg");
static inline_curly_delimiter_open_regular = ctRegex!(`~\{\s*`, "m");
- static inline_curly_delimiter_open_symbol_star = ctRegex!(`~\{[*]\s`, "m"); //
- static inline_curly_delimiter_open_symbol_plus = ctRegex!(`~\{[+]\s`, "m"); //
- static inline_curly_delimiter_open_star_or_plus = ctRegex!(`~\{[+*]`, "m"); //
+ static inline_curly_delimiter_open_symbol_star = ctRegex!(`~\{[*]\s`, "m");
+ static inline_curly_delimiter_open_symbol_plus = ctRegex!(`~\{[+]\s`, "m");
+ static inline_curly_delimiter_open_star_or_plus = ctRegex!(`~\{[+*]`, "m");
static inline_curly_delimiter_close_regular = ctRegex!(`\s*\}~`, "m");
static inline_text_and_note_curly = ctRegex!(`(?P<text>.+?)(?:(?:[~])[{][*+ ]*)(?P<note>.+?)(?:[}][~])`, "mg");
static note_ref = ctRegex!(`^\S+?noteref_([0-9]+)`, "mg"); // {^{73.}^}#noteref_73
@@ -149,7 +148,7 @@ template SiSUrgxInit() {
/+ inline markup book index +/
static book_index = ctRegex!(`^=\{\s*(.+?)\}$`, "m");
static book_index_open = ctRegex!(`^=\{\s*([^}]+?)$`);
- static book_index_close = ctRegex!(`^(.*?)\}$`, "m"); // strip
+ static book_index_close = ctRegex!(`^(.*?)\}$`, "m");
/+ no obj_cite_number object +/
static obj_cite_number_off = ctRegex!(`~#$`, "m");
static obj_cite_number_off_dh = ctRegex!(`-#$`, "m");
@@ -160,7 +159,7 @@ template SiSUrgxInit() {
static obj_cite_number_off_block_close = ctRegex!(`^--\+#$`);
static obj_cite_number_block_marks = ctRegex!(`^--[+~-]#$`);
/+ ignore outside code blocks +/
- static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info
+ static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`);
/+ line & page breaks +/
static break_line_within_object = ctRegex!(`[\\]{2}( |$)`);
static break_page = ctRegex!(`^-[\\]{2}-$`);
@@ -187,7 +186,7 @@ template SiSUrgxInit() {
static strip_br = ctRegex!("^<br>\n|<br>\n*$");
static space = ctRegex!(`[ ]`, "mg");
static spaces_line_start = ctRegex!(`^(?P<opening_spaces>[ ]+)`, "mg");
- static spaces_multiple = ctRegex!(`(?P<multiple_spaces>[ ]{2,})`, "mg"); // could be issues for endnotes
+ static spaces_multiple = ctRegex!(`(?P<multiple_spaces>[ ]{2,})`, "mg");
static two_spaces = ctRegex!(`[ ]{2}`, "mg");
static nbsp_char = ctRegex!(`░`, "mg");
static nbsp_chars_line_start = ctRegex!(`^░+`, "mg");
@@ -240,7 +239,7 @@ template SiSUrgxInit() {
static inline_italics_line = ctRegex!(`^/_ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`);
static inline_underscore_line = ctRegex!(`^__ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`);
/+ table delimiters +/
- static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg"); //
- static table_delimiter_row = ctRegex!("[ ]*\n", "mg"); //
+ static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg");
+ static table_delimiter_row = ctRegex!("[ ]*\n", "mg");
}
}
diff --git a/src/sdp/defaults.d b/src/sdp/defaults.d
index bbfd8d8..d4e4220 100644
--- a/src/sdp/defaults.d
+++ b/src/sdp/defaults.d
@@ -4,23 +4,23 @@
template InternalMarkup() {
struct InlineMarkup {
- auto en_a_o = "【"; auto en_a_c = "】"; // endnote en_a_o: '~{'; en_a_c: '}~';
- auto en_b_o = "〖"; auto en_b_c = "〗"; // endnote en_b_o: '~['; en_b_c: ']~';
- auto lnk_o = "┥"; auto lnk_c = "┝"; // auto lnk_o = "⌠"; auto lnk_c = "⌡"; // '⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o= '◁'; Mx[:lnk_c= '▷' #‹ ›
+ auto en_a_o = "【"; auto en_a_c = "】";
+ auto en_b_o = "〖"; auto en_b_c = "〗";
+ auto lnk_o = "┥"; auto lnk_c = "┝";
auto url_o = "┤"; auto url_c = "├";
auto mark_internal_site_lnk = "¤";
auto nbsp = "░";
- auto br_line = "┘"; // "╱"; // lB ▌ 9612 ┘ ¶
- auto br_nl = "┙"; // "╲"; // lB ▌ 』 ┘
- auto br_paragraph = "┚"; // "█"; // FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616
+ auto br_line = "┘";
+ auto br_nl = "┙";
+ auto br_paragraph = "┚";
auto br_obj = "break_obj";
- auto br_page_line = "┼"; // "▭";
- auto br_page = "┿"; // "┼";
- auto br_page_new = "╂"; // "╋";
- auto tc_s = "┊"; // "┴"; //"『"; // "┏" ┓
- auto tc_o = "┏"; //"『"; // "┏" ┓
- auto tc_c = "┚"; // "』"; // "┚" table row mark #Mx[:tc_c]="』\n"
- auto tc_p = "┆"; // table col/misc mark
+ auto br_page_line = "┼";
+ auto br_page = "┿";
+ auto br_page_new = "╂";
+ auto tc_s = "┊";
+ auto tc_o = "┏";
+ auto tc_c = "┚";
+ auto tc_p = "┆";
string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") {
_indent_spaces = replicate(_indent_spaces, indent);
return _indent_spaces;
diff --git a/src/sdp/output_epub3.d b/src/sdp/output_epub3.d
index 074808c..56f9be3 100644
--- a/src/sdp/output_epub3.d
+++ b/src/sdp/output_epub3.d
@@ -346,10 +346,10 @@ template outputEPub3() {
doc_epub3[segment_filename] ~= t[0];
doc_epub3_endnotes[segment_filename] ~= t[1];
break;
- case 8: .. case 9: // unused numbers, if remain check
+ case 8: .. case 9:
if ((doc_matters.opt_action_bool["debug"])) {
writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);
- writeln(__FILE__, ":", __LINE__, ": ", obj.text); // check
+ writeln(__FILE__, ":", __LINE__, ": ", obj.text);
}
break;
default:
@@ -416,7 +416,7 @@ template outputEPub3() {
doc_epub3[segment_filename] ~= to!string(t[0]);
doc_epub3_endnotes[segment_filename] ~= t[1];
break;
- case "poem": // double check why both poem & verse
+ case "poem":
break;
case "verse":
auto t = xhtml_format.verse_seg(obj, _txt, suffix);
@@ -606,26 +606,23 @@ template outputEPub3() {
{ /+ OEBPS/[segments].xhtml (the document contents) +/
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();
- // add seg fn to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
debug(epub_output) {
string fn_dbg = pth_epub3.dbg_fn_oebps_content_xhtml(doc_matters.source_filename, seg_filename);
auto f = File(fn_dbg, "w");
}
- /+ // f.writeln(seg_head); // not needed built and inserted earlier +/
foreach (docseg; doc_epub3[seg_filename]) {
debug(epub_output) { f.writeln(docseg); }
- zip_data.write(docseg.dup); // cast as: char[]
+ zip_data.write(docseg.dup);
}
foreach (docseg; doc_epub3_endnotes[seg_filename]) {
debug(epub_output) { f.writeln(docseg); }
- zip_data.write(docseg.dup); // cast as: char[]
+ zip_data.write(docseg.dup);
}
- debug(epub_output) { f.writeln(xhtml_format.tail); } // needed for each lev4
- zip_data.write(xhtml_format.tail.dup); // cast as: char[]
+ debug(epub_output) { f.writeln(xhtml_format.tail); }
+ zip_data.write(xhtml_format.tail.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
/+ create the zip file +/
@@ -641,15 +638,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(mimetypes);
}
fn = pth_epub3.fn_mimetypes(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // add mimetypes to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(mimetypes.dup); // cast as: char[]
+ zip_data.write(mimetypes.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
{ /+ META-INF/container.xml (identify doc root) +/
@@ -658,15 +652,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(meta_inf_container_xml);
}
fn = pth_epub3.fn_dmi_container_xml(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // add META-INF/container.xml to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(meta_inf_container_xml.dup); // cast as: char[]
+ zip_data.write(meta_inf_container_xml.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
{ /+ OEBPS/toc_nav.xhtml (navigation toc epub3) +/
@@ -675,15 +666,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(oebps_toc_nav_xhtml);
}
fn = pth_epub3.fn_oebps_toc_nav_xhtml(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // add OEBPS/toc_nav.xhtml to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(oebps_toc_nav_xhtml.dup); // cast as: char[]
+ zip_data.write(oebps_toc_nav_xhtml.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
{ /+ OEBPS/toc.ncx (navigation toc epub2) +/
@@ -692,15 +680,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(oebps_toc_ncx);
}
fn = pth_epub3.fn_oebps_toc_ncx(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // add OEBPS/toc.ncx to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(oebps_toc_ncx.dup); // cast as: char[]
+ zip_data.write(oebps_toc_ncx.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
{ /+ OEBPS/content.opf (doc manifest) +/
@@ -709,15 +694,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(oebps_content_opf);
}
fn = pth_epub3.fn_oebps_content_opf(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // 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(oebps_content_opf.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
{ /+ OEBPS/_sisu/image (images) +/
@@ -760,15 +742,12 @@ template outputEPub3() {
File(fn_dbg, "w").writeln(css.epub_css);
}
fn = pth_epub3.fn_oebps_css(doc_matters.source_filename);
- /+ add zip archive file members (with their content) +/
auto zip_arc_member_file = new ArchiveMember();
- // add OEBPS/content.opf to zip archive
zip_arc_member_file.name = fn;
auto zip_data = new OutBuffer();
- zip_data.write(css.epub_css.dup); // cast as: char[]
+ zip_data.write(css.epub_css.dup);
zip_arc_member_file.expandedData = zip_data.toBytes();
zip.addMember(zip_arc_member_file);
- /+ create the zip file +/
createZipFile!()(fn_epub, zip.build());
}
}
@@ -781,8 +760,7 @@ template outputEPub3() {
auto zipped = new ZipArchive((fn_epub).read);
foreach (filename, member; zipped.directory) {
auto data = zipped.expand(member);
- writeln(filename, " length ", data.length); // member.name
- // Use data
+ writeln(filename, " length ", data.length);
}
}
catch (ZipException ex) {
diff --git a/src/sdp/output_html.d b/src/sdp/output_html.d
index 048d6e9..363ff4a 100644
--- a/src/sdp/output_html.d
+++ b/src/sdp/output_html.d
@@ -213,7 +213,7 @@ template outputHTML() {
foreach (part; doc_matters.keys_seq.seg) {
foreach (obj; doc_abstraction[part]) {
string _txt = xhtml_format.special_characters(obj, obj.text);
- if (obj.is_a == "heading") { // all headings: frontmatter, body & backmatter
+ if (obj.is_a == "heading") {
switch (obj.heading_lev_markup) {
case 0: .. case 3:
/+ fill buffer, and replace with new levels from 1 to 3 +/
@@ -238,7 +238,7 @@ template outputHTML() {
goto default;
default:
auto t = xhtml_format.heading_seg(obj, _txt, suffix);
- top_level_headings[obj.heading_lev_markup] = t[0]; // should probably have different css tagging (fontsize etc)
+ top_level_headings[obj.heading_lev_markup] = t[0];
break;
}
break;
@@ -258,10 +258,10 @@ template outputHTML() {
doc_html[segment_filename] ~= to!string(t[0]);
doc_html_endnotes[segment_filename] ~= t[1];
break;
- case 8: .. case 9: // unused numbers, if remain check
+ case 8: .. case 9:
if ((doc_matters.opt_action_bool["debug"])) {
writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);
- writeln(__FILE__, ":", __LINE__, ": ", obj.text); // check
+ writeln(__FILE__, ":", __LINE__, ": ", obj.text);
}
break;
default:
@@ -332,7 +332,7 @@ template outputHTML() {
case "verse":
auto t = xhtml_format.verse_seg(obj, _txt, suffix);
doc_html[segment_filename] ~= to!string(t[0]);
- doc_html_endnotes[segment_filename] ~= t[1]; // work on
+ doc_html_endnotes[segment_filename] ~= t[1];
break;
case "code":
doc_html[segment_filename] ~= xhtml_format.code(obj, _txt);
@@ -438,7 +438,7 @@ template outputHTML() {
foreach (docseg; doc_html_endnotes[seg_filename]) {
f.writeln(docseg);
}
- f.writeln(xhtml_format.tail); // needed for each lev4
+ f.writeln(xhtml_format.tail);
}
}
catch (ErrnoException ex) {
diff --git a/src/sdp/output_rgx.d b/src/sdp/output_rgx.d
index 149b41b..be0a91e 100644
--- a/src/sdp/output_rgx.d
+++ b/src/sdp/output_rgx.d
@@ -8,7 +8,7 @@ template SiSUoutputRgxInit() {
static strip_br = ctRegex!("^<br>\n|<br>\n*$");
static space = ctRegex!(`[ ]`, "mg");
static spaces_line_start = ctRegex!(`^(?P<opening_spaces>[ ]+)`, "mg");
- static spaces_multiple = ctRegex!(`(?P<multiple_spaces>[ ]{2,})`, "mg"); // could be issues for endnotes
+ static spaces_multiple = ctRegex!(`(?P<multiple_spaces>[ ]{2,})`, "mg");
static two_spaces = ctRegex!(`[ ]{2}`, "mg");
static nbsp_char = ctRegex!(`░`, "mg");
static nbsp_chars_line_start = ctRegex!(`^░+`, "mg");
@@ -61,8 +61,8 @@ template SiSUoutputRgxInit() {
static inline_italics_line = ctRegex!(`^/_ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`);
static inline_underscore_line = ctRegex!(`^__ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`);
/+ table delimiters +/
- static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg"); //
- static table_delimiter_row = ctRegex!("[ ]*\n", "mg"); //
+ static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg");
+ static table_delimiter_row = ctRegex!("[ ]*\n", "mg");
static xhtml_ampersand = ctRegex!(`[&]`); // &amp;
static xhtml_quotation = ctRegex!(`[&]`); // &quot;
static xhtml_less_than = ctRegex!(`[<]`); // &lt;
diff --git a/src/sdp/output_xmls.d b/src/sdp/output_xmls.d
index 78ee414..a408872 100644
--- a/src/sdp/output_xmls.d
+++ b/src/sdp/output_xmls.d
@@ -198,9 +198,11 @@ template outputXHTMLs() {
<a name="top" id="top"></a>¶",
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["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.dochead_meta["creator"]["author"].empty) ? ""
+ : ", " ~ doc_matters.dochead_meta["creator"]["author"],
doc_matters.language,
);
return o;
@@ -279,13 +281,6 @@ template outputXHTMLs() {
writeln(__LINE__, " (missed) markup endnote: ", obj.is_a, ": ", obj.text);
}
}
- // if (obj.inline_notes_star) {
- // _txt = replaceAll(
- // _txt,
- // rgx.inline_notes_delimiter_al_regular_number_note,
- // ("<a href=\"#note_$1\"><note id=\"noteref_$1\">&nbsp;<sup>$1</sup>&nbsp;</note></a>")
- // );
- // }
return _txt;
}
auto inline_notes_seg(O)(
@@ -415,7 +410,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = heading(obj, _txt);
return o;
}
@@ -480,7 +475,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = para(obj, _txt);
return o;
}
@@ -536,7 +531,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = quote(obj, _txt);
return o;
}
@@ -592,7 +587,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = group(obj, _txt);
return o;
}
@@ -644,7 +639,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = block(obj, _txt);
return o;
}
@@ -663,7 +658,7 @@ template outputXHTMLs() {
);
return u;
}
- auto verse(O)( // using code from code block, review
+ auto verse(O)(
auto return ref const O obj,
string _txt,
) {
@@ -696,7 +691,7 @@ template outputXHTMLs() {
string _suffix = ".html",
) {
auto tags = _xhtml_anchor_tags(obj.anchor_tags);
- _txt = inline_markup_scroll(obj, _txt, _suffix); // issue
+ _txt = inline_markup_scroll(obj, _txt, _suffix);
string o = verse(obj, _txt);
return o;
}
@@ -728,7 +723,7 @@ template outputXHTMLs() {
_table ~= "<tr>";
foreach(col_idx, cell; _table_cols) {
if ((_table_cols.length == 1)
- && (_table_rows.length <= row_idx+2)) { // check row_idx+2 (rather than == ++row_idx)
+ && (_table_rows.length <= row_idx+2)) {
_tablenote ~= cell;
} else {
string _col_is = (row_idx == 0 && obj.table_heading) ? "th" : "td";
diff --git a/src/sdp/paths_output.d b/src/sdp/paths_output.d
index 9c91384..e9599db 100644
--- a/src/sdp/paths_output.d
+++ b/src/sdp/paths_output.d
@@ -34,7 +34,7 @@ template SiSUpathsSisupodZipped() {
Lng lng,
) {
struct _PathsStruct {
- auto spod_pths = SiSUpathsSisupod!()(); // SiSUpodPaths();
+ auto spod_pths = SiSUpathsSisupod!()();
string base_filename(string fn_src) {
return spod_pths.base_filename(fn_src);
}
@@ -57,7 +57,7 @@ template SiSUpathsSisupodZipped() {
return pod_root(fn_src).chainPath("conf").array;
}
auto doc(string fn_src) {
- return text_root(fn_src); // or pod_root?
+ return text_root(fn_src);
}
auto doc_lng(string fn_src) {
return text_root(fn_src).chainPath(lng).array;
@@ -86,7 +86,7 @@ template SiSUpathsSisupodFileSystem() {
Lng lng,
) {
struct _PathsStruct {
- auto spod_pths = SiSUpathsSisupod!()(); // SiSUpodPaths();
+ auto spod_pths = SiSUpathsSisupod!()();
string base_filename(string fn_src) {
return spod_pths.base_filename(fn_src);
}
diff --git a/src/sdp/source_sisupod.d b/src/sdp/source_sisupod.d
index 8718074..e5233ba 100644
--- a/src/sdp/source_sisupod.d
+++ b/src/sdp/source_sisupod.d
@@ -71,7 +71,7 @@ template SiSUpod() {
doc_matters.source_filename,
));
}
- auto zip = new ZipArchive(); // ZipArchive zip = new ZipArchive();
+ auto zip = new ZipArchive();
auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename);
{ /+ bundle images +/
foreach (image; doc_matters.image_list) {
@@ -184,8 +184,7 @@ template SiSUpod() {
auto zipped = new ZipArchive((fn_sisupod).read);
foreach (filename, member; zipped.directory) {
auto data = zipped.expand(member);
- writeln("> ", filename, " length ", data.length); // filename == member.name
- // Use data
+ writeln("> ", filename, " length ", data.length);
}
}
catch (ZipException ex) {
@@ -213,8 +212,7 @@ template SiSUpod() {
}
}
}
- catch (ErrnoException ex)
- {
+ catch (ErrnoException ex) {
// Handle errors
}
}