aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--org/ao_conf_make_meta.org140
-rw-r--r--org/ao_debugs.org16
-rw-r--r--org/ao_doc_abstraction.org27
-rw-r--r--org/ao_read_source_files.org8
-rw-r--r--org/compile_time_info.org2
-rw-r--r--org/default_misc.org33
-rw-r--r--org/default_paths.org6
-rw-r--r--org/default_regex.org29
-rw-r--r--org/output_sisupod.org8
-rw-r--r--org/output_xmls.org95
-rw-r--r--org/output_zip.org2
-rw-r--r--org/sdp.org8
-rwxr-xr-xsrc/sdp.d2
-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
27 files changed, 212 insertions, 543 deletions
diff --git a/org/ao_conf_make_meta.org b/org/ao_conf_make_meta.org
index 30e16a0..ad656aa 100644
--- a/org/ao_conf_make_meta.org
+++ b/org/ao_conf_make_meta.org
@@ -136,141 +136,6 @@ private auto configSettingsSDLangToAAmake(Tag)(Tag conf_sdlang) {
#+BEGIN_SRC d
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;
}
#+END_SRC
@@ -322,7 +187,6 @@ private auto headerSDLangGet(Hs)(Hs src_header) {
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";
@@ -355,7 +219,7 @@ private auto headerSDLangToAAmake(Tag,Ma)(Tag header_sdlang, Ma dochead_make) {
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)) {
@@ -393,7 +257,7 @@ private auto headerSDLangToAA(Hs,Ma)(Hs header_sdlang_src, Ma conf_doc_make_aa)
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/org/ao_debugs.org b/org/ao_debugs.org
index 3a73da0..e0f96da 100644
--- a/org/ao_debugs.org
+++ b/org/ao_debugs.org
@@ -313,10 +313,14 @@ debug(toc_nav_dom) {
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;
@@ -336,10 +340,14 @@ debug(toc_nav_dom) {
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/org/ao_doc_abstraction.org b/org/ao_doc_abstraction.org
index 878f1a0..f6d65e1 100644
--- a/org/ao_doc_abstraction.org
+++ b/org/ao_doc_abstraction.org
@@ -961,7 +961,7 @@ continue;
#+BEGIN_SRC d
assert(
!line.empty,
- "line tested, line not empty surely"
+ "line tested, line not empty surely:\n \"" ~ line ~ "\""
);
assert(
(type["blocks"] == TriState.off)
@@ -976,7 +976,9 @@ if (type["blocks"] == TriState.closing) {
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 ~ "\""
);
}
#+END_SRC
@@ -1022,7 +1024,7 @@ if (line.matchFirst(rgx.book_index)
++cntr;
#+END_SRC
-******** flag not set & line not exist: heading or para :heading:paragraph:
+******** flag !set & line !exist: heading or para :heading:paragraph:
#+name: abs_in_loop_body_not_block_obj
#+BEGIN_SRC d
@@ -1080,7 +1082,7 @@ if (line.matchFirst(rgx.book_index)
} 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"];
@@ -1114,7 +1116,8 @@ _block_flag_line_empty_(
#+BEGIN_SRC d
assert(
line.empty,
- "line should be empty"
+ "\nline should be empty:\n \""
+ ~ line ~ "\""
);
assert(
(type["blocks"] == State.off),
@@ -3362,7 +3365,8 @@ void _block_flag_line_empty_(B)(
) {
assert(
line.empty,
- "line should be empty"
+ "\nline should be empty:\n \""
+ ~ line ~ "\""
);
assert(
(type["blocks"] == TriState.closing),
@@ -3523,7 +3527,7 @@ void _block_flag_line_empty_(B)(
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,
@@ -5098,7 +5102,7 @@ struct ObjInlineMarkup {
private:
#+END_SRC
-******* make heading number and segment anchor tags if instructed :markup:inline:segment:anchor:tags:
+******* make heading number & segment anchor tags if instructed :markup:inline:segment:anchor:tags:
#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags
#+BEGIN_SRC d
@@ -5239,17 +5243,10 @@ private:
}
#+END_SRC
-******** unittests
-
-#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags
-#+BEGIN_SRC d
-#+END_SRC
-
******* make segment anchor tags if not provided :markup:inline:segment:anchor:tags:
#+name: ao_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags
#+BEGIN_SRC d
-
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/org/ao_read_source_files.org b/org/ao_read_source_files.org
index fa3da1a..134b64b 100644
--- a/org/ao_read_source_files.org
+++ b/org/ao_read_source_files.org
@@ -29,7 +29,7 @@ template ConfigIn() {
}
#+END_SRC
-** read config file, source string (conf.sdl & sisu_document_make) :file:config:
+** read config file, (conf.sdl & sisu_document_make) :file:config:
#+name: ao_config_file_in
#+BEGIN_SRC d
@@ -435,7 +435,7 @@ if (type1["curly_code"] == 1) {
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");
@@ -514,7 +514,7 @@ if (type["curly_code"] == 1) {
}
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(
@@ -546,7 +546,7 @@ if (type["curly_code"] == 1) {
#+name: ao_master_doc_scan_for_insert_filenames_post
#+BEGIN_SRC d
-debug(insert) { // insert file
+debug(insert_file) {
writeln(__LINE__);
writeln(contents.length);
}
diff --git a/org/compile_time_info.org b/org/compile_time_info.org
index 8aa083d..66e56fc 100644
--- a/org/compile_time_info.org
+++ b/org/compile_time_info.org
@@ -20,7 +20,7 @@
e.g. do on linux bsd osx not windows:
version(Windows) {} else { ... }
-** 0. compile_time_info: :compile_time_info.d:
+** 0. compile_time_info :compile_time_info:
#+begin_src d :tangle ../src/sdp/compile_time_info.d
/++
diff --git a/org/default_misc.org b/org/default_misc.org
index 4b835b1..bf18361 100644
--- a/org/default_misc.org
+++ b/org/default_misc.org
@@ -229,7 +229,7 @@ auto ptr_head_main =
"date",
"identifier",
"links",
- "make", /+ make +/
+ "make",
"original",
"notes",
"rights",
@@ -473,7 +473,6 @@ template SiSUnode() {
"is" : "",
"ocn" : "",
"attrib" : "",
- // "segment_anchor_tag" : "",
];
return _node;
}
@@ -483,10 +482,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;
}
@@ -581,23 +576,23 @@ private import
#+BEGIN_SRC d
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/org/default_paths.org b/org/default_paths.org
index 4c1cb3d..65a0c0f 100644
--- a/org/default_paths.org
+++ b/org/default_paths.org
@@ -158,7 +158,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);
}
@@ -181,7 +181,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;
@@ -216,7 +216,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/org/default_regex.org b/org/default_regex.org
index baeca25..01aa763 100644
--- a/org/default_regex.org
+++ b/org/default_regex.org
@@ -62,8 +62,8 @@ static line_delimiter_ws_strip = ctRegex!("[ ]*\n[ ]*");
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]$`);
@@ -128,12 +128,11 @@ static heading_seg_and_above = ctRegex!(`^:?([A-D1])[~]
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)`);
@@ -191,7 +190,7 @@ static block_curly_quote_open = ctRegex!(`^(quote[{].*?$
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");
#+END_SRC
*** block sub-matches :block:curly:
@@ -225,9 +224,9 @@ static inline_text_and_note_square_sp = ctRegex!(`(.+?)~\[[*+]+\
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
@@ -259,7 +258,7 @@ static image = ctRegex!(`([a-zA-Z0-9._
/+ 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");
#+END_SRC
** no obj_cite_number object :ocn:off:object:
@@ -288,7 +287,7 @@ static obj_cite_number_block_marks = ctRegex!(`^--[+~-]#$`);
#+name: ao_rgx
#+BEGIN_SRC d
/+ ignore outside code blocks +/
-static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); // not structural info
+static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`);
#+END_SRC
** line & page breaks :break:
@@ -387,7 +386,7 @@ static newline = ctRegex!("\n", "mg");
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");
@@ -395,7 +394,7 @@ static nbsp_and_space = ctRegex!(`&nbsp;[ ]`, "m
static nbsp_char_and_space = ctRegex!(`░[ ]`, "mg");
#+END_SRC
-** filename (and path) matching (including markup insert file) :insert:file:path:filename:
+** filename (& path) (including insert file) :insert:file:path:filename:
#+name: prgmkup_rgx
#+BEGIN_SRC d
@@ -443,7 +442,7 @@ static inline_seg_link = ctRegex!(`(¤)(?:.+?)\.f
static mark_internal_site_lnk = ctRegex!(`¤`, "mg");
#+END_SRC
-*** inline markup font face mod :inline:font:face:
+*** inline markup font face mod :inline:font:face:
#+name: prgmkup_rgx
#+BEGIN_SRC d
@@ -471,6 +470,6 @@ static inline_underscore_line = ctRegex!(`^__ (?P<text>.
#+name: prgmkup_rgx
#+BEGIN_SRC d
/+ 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");
#+END_SRC
diff --git a/org/output_sisupod.org b/org/output_sisupod.org
index 5471a6a..e161f54 100644
--- a/org/output_sisupod.org
+++ b/org/output_sisupod.org
@@ -124,7 +124,7 @@ debug(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) {
@@ -243,8 +243,7 @@ if (exists(fn_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) {
@@ -272,8 +271,7 @@ if (exists(fn_sisupod)) {
}
}
}
- catch (ErrnoException ex)
- {
+ catch (ErrnoException ex) {
// Handle errors
}
}
diff --git a/org/output_xmls.org b/org/output_xmls.org
index 1757ffa..4c6013c 100644
--- a/org/output_xmls.org
+++ b/org/output_xmls.org
@@ -268,9 +268,11 @@ auto epub3_seg_head(Dm)(
<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;
@@ -368,13 +370,6 @@ auto inline_notes_scroll(O)(
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;
}
#+END_SRC
@@ -541,7 +536,7 @@ auto heading_scroll(O)(
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;
}
@@ -625,7 +620,7 @@ auto para_scroll(O)(
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;
}
@@ -700,7 +695,7 @@ auto quote_scroll(O)(
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;
}
@@ -775,7 +770,7 @@ auto group_scroll(O)(
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;
}
@@ -846,7 +841,7 @@ auto block_scroll(O)(
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;
}
@@ -878,7 +873,7 @@ auto block_seg(O)(
#+name: xhtml_format_objects
#+BEGIN_SRC d
-auto verse(O)( // using code from code block, review
+auto verse(O)(
auto return ref const O obj,
string _txt,
) {
@@ -917,7 +912,7 @@ auto verse_scroll(O)(
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;
}
@@ -1002,7 +997,7 @@ auto tablarize(O)(
_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";
@@ -1274,7 +1269,7 @@ void scroll_write_output(M,C)(
}
#+END_SRC
-*** seg :seg:
+*** seg :seg:
**** switch (sections & objects) format html output
#+name: output_html_seg
@@ -1295,7 +1290,7 @@ void seg(D,I)(
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 +/
@@ -1320,7 +1315,7 @@ void seg(D,I)(
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;
@@ -1340,10 +1335,10 @@ void seg(D,I)(
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:
@@ -1414,7 +1409,7 @@ void seg(D,I)(
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);
@@ -1526,7 +1521,7 @@ void seg_write_output(M,D,E)(
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) {
@@ -1535,7 +1530,7 @@ void seg_write_output(M,D,E)(
}
#+END_SRC
-*** css :css:
+*** css :css:
#+name: output_html_css
#+BEGIN_SRC d
@@ -1956,10 +1951,10 @@ void outputEPub3(D,I)(
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:
@@ -2026,7 +2021,7 @@ void outputEPub3(D,I)(
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);
@@ -2222,26 +2217,23 @@ 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_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 +/
@@ -2257,15 +2249,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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) +/
@@ -2274,15 +2263,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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) +/
@@ -2291,15 +2277,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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) +/
@@ -2308,15 +2291,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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) +/
@@ -2325,15 +2305,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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) +/
@@ -2376,15 +2353,12 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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());
}
}
@@ -2403,8 +2377,7 @@ void epub3_write_output_files(M,D,E,Mt,Mic,Otnx,Otn,Oc)(
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/org/output_zip.org b/org/output_zip.org
index a907997..8dd6f23 100644
--- a/org/output_zip.org
+++ b/org/output_zip.org
@@ -14,7 +14,7 @@
[[./sdp.org][sdp]] [[./][org/]]
* _zip_
-** template :template:
+** template :template:
#+BEGIN_SRC d :tangle ../src/sdp/create_zip_file.d
template createZipFile() {
diff --git a/org/sdp.org b/org/sdp.org
index 0817dfd..edf258e 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -130,7 +130,7 @@ check:
#+NAME: imports_sdlang
#+BEGIN_SRC d
/+ sdlang http://sdlang.org +/
-import sdlang; // sdlang.d
+import sdlang;
#+END_SRC
****** notes
@@ -541,7 +541,7 @@ auto da = SiSUdocAbstraction!()(
);
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];
@@ -728,7 +728,3 @@ writefln(
markup.repeat_character_by_number_provided("-", min_repeat_number),
);
#+END_SRC
-
-markup.repeat_character_by_number_provided("-", 10)
-markup.repeat_character_by_number_provided("-", (doc_matters.dochead_meta["title"]["full"].length))
-markup.repeat_character_by_number_provided("-", (doc_matters.source_filename.length))
diff --git a/src/sdp.d b/src/sdp.d
index ca4f8c0..ceb1e3b 100755
--- a/src/sdp.d
+++ b/src/sdp.d
@@ -20,7 +20,7 @@ import
output_hub,
paths_source;
/+ sdlang http://sdlang.org +/
-import sdlang; // sdlang.d
+import sdlang;
/+ std +/
private import
std.array,
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
}
}