aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/meta
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/meta')
-rw-r--r--src/sisudoc/meta/conf_make_meta_json.d28
-rw-r--r--src/sisudoc/meta/conf_make_meta_structs.d26
-rw-r--r--src/sisudoc/meta/conf_make_meta_yaml.d62
-rw-r--r--src/sisudoc/meta/doc_debugs.d34
-rw-r--r--src/sisudoc/meta/metadoc.d26
-rw-r--r--src/sisudoc/meta/metadoc_curate.d24
-rw-r--r--src/sisudoc/meta/metadoc_curate_authors.d20
-rw-r--r--src/sisudoc/meta/metadoc_curate_topics.d20
-rw-r--r--src/sisudoc/meta/metadoc_from_src.d28
-rw-r--r--src/sisudoc/meta/metadoc_from_src_functions.d200
-rw-r--r--src/sisudoc/meta/metadoc_object_setter.d1
-rw-r--r--src/sisudoc/meta/metadoc_show_config.d56
-rw-r--r--src/sisudoc/meta/metadoc_show_make.d28
-rw-r--r--src/sisudoc/meta/metadoc_show_metadata.d28
-rw-r--r--src/sisudoc/meta/metadoc_show_summary.d28
-rw-r--r--src/sisudoc/meta/package.d24
-rw-r--r--src/sisudoc/meta/rgx.d12
-rw-r--r--src/sisudoc/meta/rgx_yaml.d (renamed from src/sisudoc/meta/rgx_yaml_tags.d)0
18 files changed, 410 insertions, 235 deletions
diff --git a/src/sisudoc/meta/conf_make_meta_json.d b/src/sisudoc/meta/conf_make_meta_json.d
index 44f2c5e..4e9e5cd 100644
--- a/src/sisudoc/meta/conf_make_meta_json.d
+++ b/src/sisudoc/meta/conf_make_meta_json.d
@@ -54,21 +54,19 @@
module sisudoc.meta.conf_make_meta_json;
@safe:
static template contentJSONtoSpineStruct() {
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
ConfComposite _struct_composite;
auto contentJSONtoSpineStruct(C,J,M)(C _struct_composite, J _json, M _manifested, string _identifier) {
mixin spineRgxIn;
diff --git a/src/sisudoc/meta/conf_make_meta_structs.d b/src/sisudoc/meta/conf_make_meta_structs.d
index 4738a57..9503c83 100644
--- a/src/sisudoc/meta/conf_make_meta_structs.d
+++ b/src/sisudoc/meta/conf_make_meta_structs.d
@@ -49,20 +49,18 @@
+/
module sisudoc.meta.conf_make_meta_structs;
@safe:
-import
- std.exception,
- std.json,
- std.path,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
-import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+import std.exception;
+import std.json;
+import std.path;
+import std.regex;
+import std.stdio;
+import std.string;
+import std.typecons;
+import std.utf;
+import std.conv : to;
+import sisudoc.meta.defaults;
+import sisudoc.meta.rgx_yaml;
+import sisudoc.meta.rgx;
mixin spineRgxIn;
static auto rgx = RgxI();
mixin spineRgxYamlTags;
diff --git a/src/sisudoc/meta/conf_make_meta_yaml.d b/src/sisudoc/meta/conf_make_meta_yaml.d
index 98a92f9..4b56b51 100644
--- a/src/sisudoc/meta/conf_make_meta_yaml.d
+++ b/src/sisudoc/meta/conf_make_meta_yaml.d
@@ -54,22 +54,20 @@
module sisudoc.meta.conf_make_meta_yaml;
@safe:
template contentYAMLtoSpineStruct() {
- import
- std.algorithm,
- std.array,
- std.exception,
- std.path,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.path;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx_yaml;
+ import sisudoc.meta.rgx;
ConfComposite _struct_composite;
@system ConfComposite contentYAMLtoSpineStruct(C,Y,M,O,Cfg)(
C _struct_composite,
@@ -896,9 +894,8 @@ template contentYAMLtoSpineStruct() {
}
template configParseYAMLreturnSpineStruct() {
import dyaml;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
mixin contentYAMLtoSpineStruct;
@system ConfComposite configParseYAMLreturnSpineStruct(T,M,O,Cfg)(
T _document_struct,
@@ -928,21 +925,18 @@ template configParseYAMLreturnSpineStruct() {
}
}
template docHeaderMakeAndMetaTupYamlExtractAndConvertToStruct() {
- import
- std.exception,
- std.regex,
- std.stdio,
- // std.traits,
- std.typecons,
- std.utf,
- std.conv : to;
- import
- dyaml;
- import
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.rgx_yaml,
- sisudoc.meta.rgx;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ // import std.traits;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
+ import dyaml;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.rgx_yaml;
+ import sisudoc.meta.rgx;
mixin spineRgxIn;
mixin contentJSONtoSpineStruct;
static auto rgx = RgxI();
diff --git a/src/sisudoc/meta/doc_debugs.d b/src/sisudoc/meta/doc_debugs.d
index 35fd3de..b28ba2e 100644
--- a/src/sisudoc/meta/doc_debugs.d
+++ b/src/sisudoc/meta/doc_debugs.d
@@ -52,24 +52,22 @@
+/
module sisudoc.meta.doc_debugs;
template spineDebugs() {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx_files;
- import
- std.algorithm,
- std.array,
- std.container,
- std.exception,
- std.json,
- std.stdio,
- std.file,
- std.path,
- std.range,
- std.regex,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx_files;
+ import std.algorithm;
+ import std.array;
+ import std.container;
+ import std.exception;
+ import std.json;
+ import std.stdio;
+ import std.file;
+ import std.path;
+ import std.range;
+ import std.regex;
+ import std.string;
+ import std.typecons;
+ import std.utf;
+ import std.conv : to;
auto spineDebugs(S,T)(
const S contents,
T doc_matters,
diff --git a/src/sisudoc/meta/metadoc.d b/src/sisudoc/meta/metadoc.d
index 5c3694e..ffe297e 100644
--- a/src/sisudoc/meta/metadoc.d
+++ b/src/sisudoc/meta/metadoc.d
@@ -50,20 +50,18 @@
module sisudoc.meta.metadoc;
@safe:
template spineAbstraction() {
- import
- std.datetime,
- std.digest.crc,
- std.digest.sha;
- import
- sisudoc.meta,
- sisudoc.meta.metadoc_from_src,
- sisudoc.meta.conf_make_meta_structs,
- sisudoc.meta.conf_make_meta_json,
- sisudoc.meta.defaults,
- sisudoc.io_in.paths_source,
- sisudoc.io_in.read_config_files,
- sisudoc.io_in.read_source_files,
- sisudoc.io_out.hub;
+ import std.datetime;
+ import std.digest.crc;
+ import std.digest.sha;
+ import sisudoc.meta;
+ import sisudoc.meta.metadoc_from_src;
+ import sisudoc.meta.conf_make_meta_structs;
+ import sisudoc.meta.conf_make_meta_json;
+ import sisudoc.meta.defaults;
+ import sisudoc.io_in.paths_source;
+ import sisudoc.io_in.read_config_files;
+ import sisudoc.io_in.read_source_files;
+ import sisudoc.io_out.hub;
mixin spineBiblio;
mixin outputHub;
enum makeMeta { make, meta }
diff --git a/src/sisudoc/meta/metadoc_curate.d b/src/sisudoc/meta/metadoc_curate.d
index bb7452a..da20b3e 100644
--- a/src/sisudoc/meta/metadoc_curate.d
+++ b/src/sisudoc/meta/metadoc_curate.d
@@ -54,19 +54,17 @@ template spineMetaDocCurate() {
T doc_matters,
H hvst,
) {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
static auto mkup = InlineMarkup();
import sisudoc.io_out.paths_output;
diff --git a/src/sisudoc/meta/metadoc_curate_authors.d b/src/sisudoc/meta/metadoc_curate_authors.d
index c86d3e1..d8b5261 100644
--- a/src/sisudoc/meta/metadoc_curate_authors.d
+++ b/src/sisudoc/meta/metadoc_curate_authors.d
@@ -49,17 +49,15 @@
+/
module sisudoc.meta.metadoc_curate_authors;
@safe:
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.conv : to;
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
mixin spineCurateMetadata;
mixin InternalMarkup;
template spineMetaDocCuratesAuthors() {
diff --git a/src/sisudoc/meta/metadoc_curate_topics.d b/src/sisudoc/meta/metadoc_curate_topics.d
index fca3ff2..3045dcb 100644
--- a/src/sisudoc/meta/metadoc_curate_topics.d
+++ b/src/sisudoc/meta/metadoc_curate_topics.d
@@ -49,17 +49,15 @@
+/
module sisudoc.meta.metadoc_curate_topics;
@safe:
- import
- std.algorithm,
- std.array,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.conv : to;
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
mixin spineCurateMetadata;
mixin InternalMarkup;
template spineMetaDocCuratesTopics() {
diff --git a/src/sisudoc/meta/metadoc_from_src.d b/src/sisudoc/meta/metadoc_from_src.d
index 4aa49dc..24ae935 100644
--- a/src/sisudoc/meta/metadoc_from_src.d
+++ b/src/sisudoc/meta/metadoc_from_src.d
@@ -54,19 +54,17 @@ module sisudoc.meta.metadoc_from_src;
@safe:
template docAbstraction() {
// ↓ abstraction imports
- import
- std.algorithm,
- std.container,
- std.digest.sha,
- std.file,
- std.json,
- std.path;
- import
- sisudoc.meta,
- sisudoc.meta.defaults,
- sisudoc.meta.rgx,
- sisudoc.meta.metadoc_object_setter,
- sisudoc.meta.rgx;
+ import std.algorithm;
+ import std.container;
+ import std.digest.sha;
+ import std.file;
+ import std.json;
+ import std.path;
+ import sisudoc.meta;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import sisudoc.meta.metadoc_object_setter;
+ import sisudoc.meta.rgx;
public import sisudoc.meta.metadoc_from_src_functions;
mixin docAbstractionFunctions;
@system auto docAbstraction(CMM,Opt,Mf) (
@@ -214,8 +212,8 @@ template docAbstraction() {
}
if (conf_make_meta.make.substitute) {
foreach(substitution_pair; conf_make_meta.make.substitute) {
- writeln("regex to match: ", substitution_pair[Substitute.match]);
- writeln("substitution to make: ", substitution_pair[Substitute.markup]);
+ writeln("regex to match: ", substitution_pair[Substitute.match]);
+ writeln("substitution to make: ", substitution_pair[Substitute.markup]);
}
}
if (conf_make_meta.make.bold) {
diff --git a/src/sisudoc/meta/metadoc_from_src_functions.d b/src/sisudoc/meta/metadoc_from_src_functions.d
index 781227f..3ae10d1 100644
--- a/src/sisudoc/meta/metadoc_from_src_functions.d
+++ b/src/sisudoc/meta/metadoc_from_src_functions.d
@@ -453,6 +453,62 @@ template docAbstractionFunctions() {
pith["block_is"] = eN.blk_is.table;
pith["block_state"] = eN.blk_state.on;
pith["block_delim"] = eN.blk_delim.curly_special;
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_code_open)) {
+ dochas["codeblock"]++;
+ an_object["lang"] = "";
+ an_object["attrib"] = (m["attrib"]) ? m["attrib"].to!string : "";
+ an_object["syntax"] = (m["syntax"]) ? m["syntax"].to!string : "";
+ debug(codequotemarks) { writefln( "* [code quotemarks] %s", line); }
+ pith["block_is"] = eN.blk_is.code;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks; //
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_poem_open)) {
+ dochas["poem"]++;
+ an_object["syntax"] = "";
+ an_object["attrib"] = (m["attrib"]) ? m["attrib"].to!string : "";
+ an_object["lang"] = (m["lang"]) ? m["lang"].to!string : "";
+ debug(poem) { writefln( "* [poem quotemarks] %s", line); }
+ object_number_poem["start"] = obj_cite_digits.object_number.to!string;
+ pith["block_is"] = eN.blk_is.poem;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks; //
+ pith["verse_new"] = eN.bi.on;
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_group_open)) {
+ dochas["group"]++;
+ an_object["syntax"] = "";
+ an_object["attrib"] = (m["attrib"]) ? m["attrib"].to!string : "";
+ an_object["lang"] = (m["lang"]) ? m["lang"].to!string : "";
+ debug(group) { writefln( "* [group quotemarks] %s", line); }
+ pith["block_is"] = eN.blk_is.group;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks;
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_block_open)) {
+ dochas["block"]++;
+ an_object["syntax"] = "";
+ an_object["attrib"] = (m["attrib"]) ? m["attrib"].to!string : "";
+ an_object["lang"] = (m["lang"]) ? m["lang"].to!string : "";
+ debug(block) { writefln( "* [block quotemarks] %s", line); }
+ pith["block_is"] = eN.blk_is.block;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks;
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_quote_open)) {
+ dochas["quote"]++;
+ an_object["syntax"] = "";
+ an_object["attrib"] = m["attrib"].to!string;
+ an_object["lang"] = m["lang"].to!string;
+ debug(quote) { writefln( "* [quote quotemarks] %s", line); // quote (quotemarks) open
+ }
+ pith["block_is"] = eN.blk_is.quote;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks;
+ } else if (auto m = line.matchFirst(rgx.block_quotemarks_table_open)) { // quotemarks table open
+ debug(table) { writefln( "* [table quotemarks] %s", line); }
+ dochas["table"] ++;
+ an_object["table_head"] = m["attrib"].to!string;
+ an_object["block_type"] = "quotemarks";
+ pith["block_is"] = eN.blk_is.table;
+ pith["block_state"] = eN.blk_state.on;
+ pith["block_delim"] = eN.blk_delim.quotemarks;
} else if (auto m = line.matchFirst(rgx.block_tic_code_open)) {
dochas["codeblock"]++;
an_object["lang"] = "";
@@ -536,6 +592,17 @@ template docAbstractionFunctions() {
debug(group) { writeln(line); }
an_object[an_object_key] ~= line ~= "\n";
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ debug(group) { writeln(line); }
+ an_object[an_object_key] = an_object[an_object_key].stripRight;
+ pith["block_is"] = eN.blk_is.group;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ debug(group) { writeln(line); }
+ an_object[an_object_key] ~= line ~= "\n";
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
debug(group) { writeln(line); }
@@ -574,6 +641,17 @@ template docAbstractionFunctions() {
debug(block) { writeln(line); }
an_object[an_object_key] ~= line ~= "\n";
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ debug(block) { writeln(line); }
+ an_object[an_object_key] = an_object[an_object_key].stripRight;
+ pith["block_is"] = eN.blk_is.block;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ debug(block) { writeln(line); }
+ an_object[an_object_key] ~= line ~= "\n";
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
debug(block) { writeln(line); }
@@ -698,6 +776,94 @@ template docAbstractionFunctions() {
++cntr;
}
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (auto m = line.matchFirst(rgx.block_quotemarks_close)) {
+ an_object[an_object_key] = "verse";
+ debug(poem) { writefln( "* [poem quotemarks] %s", line); }
+ if (processing.length > 0) {
+ an_object[an_object_key] = processing["verse"];
+ }
+ if (an_object.length > 0) {
+ debug(poem) { writeln(__LINE__); writeln(obj_cite_digits.object_number, line); }
+ processing.remove("verse");
+ an_object["is"] = "verse";
+ ST_txtAndAnchorTagPlusHasFootnotesUrlsImages substantive_obj_misc_struct
+ = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta, No._new_doc);
+ an_object["substantive"] = substantive_obj_misc_struct.obj_txt;
+ anchor_tag = substantive_obj_misc_struct.anchor_tag;
+ comp_obj_ = set_object_generic("body", "body", "block", "verse", an_object["substantive"], obj_cite_digits.object_number);
+ comp_obj_.metainfo.identifier = obj_cite_digits.identifier;
+ comp_obj_.metainfo.object_number_off = obj_cite_digits.off;
+ comp_obj_.metainfo.o_n_book_index = obj_cite_digits.bkidx;
+ comp_obj_.metainfo.object_number_type = obj_cite_digits.type;
+ comp_obj_.tags.html_segment_anchor_tag_is = tag_in_seg["seg_lv4"];
+ comp_obj_.tags.epub_segment_anchor_tag_is = tag_in_seg["seg_lv1to4"];
+ comp_obj_.has.inline_notes_reg = substantive_obj_misc_struct.has_notes_reg;
+ comp_obj_.has.inline_notes_star = substantive_obj_misc_struct.has_notes_star;
+ comp_obj_.has.inline_links = substantive_obj_misc_struct.has_links;
+ the_document_body_section ~= comp_obj_;
+ tag_assoc = an_object.inline_para_link_anchor(tag_in_seg, tag_assoc);
+ object_number_poem["end"] = obj_cite_digits.object_number.to!string;
+ object_reset(an_object);
+ processing.remove("verse");
+ ++cntr;
+ }
+ pith["block_is"] = eN.blk_is.poem;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ processing["verse"] ~= line ~= "\n";
+ if (pith["verse_new"] == eN.bi.on) {
+ obj_cite_digits = ocn_emit(pith["ocn"]);
+ pith["verse_new"] = eN.bi.off;
+ } else if (line.matchFirst(rgx.newline_eol_delimiter_only)) {
+ processing["verse"] = processing["verse"].stripRight;
+ pith["verse_new"] = eN.bi.on;
+ verse_line = eN.bi.off;
+ }
+ if (pith["verse_new"] == eN.bi.on) {
+ verse_line = 1;
+ an_object[an_object_key] = processing["verse"];
+ debug(poem) { writefln(
+ "* %s tic\n%s",
+ obj_cite_digits.object_number,
+ an_object[an_object_key]
+ );
+ }
+ processing.remove("verse");
+ an_object["is"] = "verse";
+ auto comp_obj_location
+ = node_construct.node_location_emitter(
+ content_non_header,
+ tag_in_seg,
+ lev_anchor_tag,
+ tag_assoc,
+ obj_cite_digits,
+ cntr,
+ heading_ptr-1,
+ an_object["is"]
+ );
+ ST_txtAndAnchorTagPlusHasFootnotesUrlsImages substantive_obj_misc_struct
+ = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta, No._new_doc);
+ an_object["substantive"] = substantive_obj_misc_struct.obj_txt;
+ anchor_tag = substantive_obj_misc_struct.anchor_tag;
+ comp_obj_ = set_object_generic("body", "body", "block", "verse", an_object["substantive"], obj_cite_digits.object_number);
+ comp_obj_.metainfo.identifier = obj_cite_digits.identifier;
+ comp_obj_.metainfo.object_number_off = obj_cite_digits.off;
+ comp_obj_.metainfo.o_n_book_index = obj_cite_digits.bkidx;
+ comp_obj_.metainfo.object_number_type = obj_cite_digits.type;
+ comp_obj_.tags.html_segment_anchor_tag_is = tag_in_seg["seg_lv4"];
+ comp_obj_.tags.epub_segment_anchor_tag_is = tag_in_seg["seg_lv1to4"];
+ comp_obj_.has.inline_notes_reg = substantive_obj_misc_struct.has_notes_reg;
+ comp_obj_.has.inline_notes_star = substantive_obj_misc_struct.has_notes_star;
+ comp_obj_.has.inline_links = substantive_obj_misc_struct.has_links;
+ the_document_body_section ~= comp_obj_;
+ tag_assoc = an_object.inline_para_link_anchor(tag_in_seg, tag_assoc);
+ object_reset(an_object);
+ processing.remove("verse");
+ ++cntr;
+ }
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (auto m = line.matchFirst(rgx.block_tic_close)) {
an_object[an_object_key] = "verse";
@@ -816,6 +982,19 @@ template docAbstractionFunctions() {
debug(codecurly) { writeln(line); }
an_object[an_object_key] ~= line ~= "\n";
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ debug(codequotemarks) { writeln(line); }
+ an_object[an_object_key] = an_object[an_object_key]
+ .replaceFirst(rgx.newline_eol_delimiter_only, "")
+ .stripRight;
+ pith["block_is"] = eN.blk_is.code;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ debug(codequotemarks) { writeln(line); }
+ an_object[an_object_key] ~= line ~= "\n";
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
debug(codetic) { writeln(line); }
@@ -884,6 +1063,16 @@ template docAbstractionFunctions() {
debug(table) { writeln(line); }
an_object[an_object_key] ~= line ~= "\n";
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ debug(table) { writeln(line); }
+ pith["block_is"] = eN.blk_is.table;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ debug(table) { writeln(line); }
+ an_object[an_object_key] ~= line ~= "\n";
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
debug(table) { writeln(line); }
@@ -927,6 +1116,17 @@ template docAbstractionFunctions() {
debug(quote) { writeln(line); }
an_object[an_object_key] ~= line ~= "\n";
}
+ } else if (pith["block_delim"] == eN.blk_delim.quotemarks) {
+ if (line.matchFirst(rgx.block_quotemarks_close)) {
+ debug(quote) { writeln(line); }
+ an_object[an_object_key] = an_object[an_object_key].stripRight;
+ pith["block_is"] = eN.blk_is.quote;
+ pith["block_state"] = eN.blk_state.closing;
+ pith["block_delim"] = eN.blk_delim.off;
+ } else {
+ debug(quote) { writeln(line); }
+ an_object[an_object_key] ~= line ~= "\n";
+ }
} else if (pith["block_delim"] == eN.blk_delim.tic) {
if (line.matchFirst(rgx.block_tic_close)) {
debug(quote) { writeln(line); }
diff --git a/src/sisudoc/meta/metadoc_object_setter.d b/src/sisudoc/meta/metadoc_object_setter.d
index 89ef856..e0e896e 100644
--- a/src/sisudoc/meta/metadoc_object_setter.d
+++ b/src/sisudoc/meta/metadoc_object_setter.d
@@ -420,6 +420,7 @@ template ObjectSetter() {
tic,
curly_special,
tic_special,
+ quotemarks,
}
}
return _e();
diff --git a/src/sisudoc/meta/metadoc_show_config.d b/src/sisudoc/meta/metadoc_show_config.d
index 7434506..5bbeea6 100644
--- a/src/sisudoc/meta/metadoc_show_config.d
+++ b/src/sisudoc/meta/metadoc_show_config.d
@@ -54,21 +54,19 @@ template spineShowSiteConfig() {
O opt_action,
T config,
) {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.digest.crc;
+ import std.digest.sha;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
auto markup = InlineMarkup();
auto char_repeat_number = 66;
@@ -140,21 +138,19 @@ template spineShowSiteConfig() {
}
template spineShowConfig() {
void spineShowConfig(T)(T doc_matters) {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.digest.crc;
+ import std.digest.sha;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
auto markup = InlineMarkup();
auto min_repeat_number = 66;
diff --git a/src/sisudoc/meta/metadoc_show_make.d b/src/sisudoc/meta/metadoc_show_make.d
index a5e5608..57721cf 100644
--- a/src/sisudoc/meta/metadoc_show_make.d
+++ b/src/sisudoc/meta/metadoc_show_make.d
@@ -51,21 +51,19 @@ module sisudoc.meta.metadoc_show_make;
@safe:
template spineShowMake() {
void spineShowMake(T)(T doc_matters) {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.digest.crc;
+ import std.digest.sha;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
auto markup = InlineMarkup();
auto min_repeat_number = 66;
diff --git a/src/sisudoc/meta/metadoc_show_metadata.d b/src/sisudoc/meta/metadoc_show_metadata.d
index 4a7a177..331ab7f 100644
--- a/src/sisudoc/meta/metadoc_show_metadata.d
+++ b/src/sisudoc/meta/metadoc_show_metadata.d
@@ -51,21 +51,19 @@ module sisudoc.meta.metadoc_show_metadata;
@safe:
template spineShowMetaData() {
void spineShowMetaData(T)(T doc_matters) {
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.digest.crc;
+ import std.digest.sha;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
auto markup = InlineMarkup();
auto min_repeat_number = 66;
diff --git a/src/sisudoc/meta/metadoc_show_summary.d b/src/sisudoc/meta/metadoc_show_summary.d
index 2ceb337..923473c 100644
--- a/src/sisudoc/meta/metadoc_show_summary.d
+++ b/src/sisudoc/meta/metadoc_show_summary.d
@@ -52,21 +52,19 @@ module sisudoc.meta.metadoc_show_summary;
template spineMetaDocSummary() {
void spineMetaDocSummary(D)(D doc) {
auto doc_matters = doc.matters;
- import
- sisudoc.meta.defaults,
- sisudoc.meta.rgx;
- import
- std.array,
- std.digest.crc,
- std.digest.sha,
- std.exception,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.uni,
- std.utf,
- std.conv : to;
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.digest.crc;
+ import std.digest.sha;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import std.conv : to;
mixin InternalMarkup;
auto markup = InlineMarkup();
auto min_repeat_number = 66;
diff --git a/src/sisudoc/meta/package.d b/src/sisudoc/meta/package.d
index d24afbb..911952b 100644
--- a/src/sisudoc/meta/package.d
+++ b/src/sisudoc/meta/package.d
@@ -48,17 +48,15 @@
+/
module sisudoc.meta;
-public import
- sisudoc.meta.defaults;
+public import sisudoc.meta.defaults;
/+ std +/
-public import
- std.array,
- std.exception,
- std.range,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- // std.uni,
- std.utf,
- std.conv : to;
+public import std.array;
+public import std.exception;
+public import std.range;
+public import std.regex;
+public import std.stdio;
+public import std.string;
+public import std.typecons;
+// public import std.uni;
+public import std.utf;
+public import std.conv : to;
diff --git a/src/sisudoc/meta/rgx.d b/src/sisudoc/meta/rgx.d
index eb6fc04..259ab82 100644
--- a/src/sisudoc/meta/rgx.d
+++ b/src/sisudoc/meta/rgx.d
@@ -108,8 +108,8 @@ static template spineRgxIn() {
static para_attribs = ctRegex!(`^_(?:(?:[0-9])(?:_([0-9]))?|(?:[1-9])?[*]) `);
static para_inline_link_anchor = ctRegex!(`\*[~](?P<anchor>[a-z0-9_.-]+)(?= |$)`,"i");
/+ blocked markup +/
- static block_open = ctRegex!("^((code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|^`{3} (code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?|^[{]table[(](?:h;)?(?P<columns>(?:[ ,]+[0-9]+)+)[)][}]");
- static block_poem_open = ctRegex!("^((poem(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|`{3} poem(?:[(][ a-zA-Z0-9;:,]*[)])?)");
+ static block_open = ctRegex!("^((code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|^[`']{3} (code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?|^[{]table[(](?:h;)?(?P<columns>(?:[ ,]+[0-9]+)+)[)][}]");
+ static block_poem_open = ctRegex!("^((poem(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|[`']{3} poem(?:[(][ a-zA-Z0-9;:,]*[)])?)");
/+ blocked markup tics +/
static block_tic_code_open = ctRegex!("^`{3} code(?:[.](?P<syntax>[a-z][0-9a-z#+_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?");
static block_tic_poem_open = ctRegex!("^`{3} poem(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?");
@@ -118,6 +118,14 @@ static template spineRgxIn() {
static block_tic_quote_open = ctRegex!("^`{3} quote(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?");
static block_tic_table_open = ctRegex!("^`{3} table(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?"); // ctRegex!("^`{3} table(?:\(.*?\))?");
static block_tic_close = ctRegex!("^(`{3})$","m");
+ /+ blocked markup tics +/
+ static block_quotemarks_code_open = ctRegex!(`^'{3} code(?:[.](?P<syntax>[a-z][0-9a-z#+_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`);
+ static block_quotemarks_poem_open = ctRegex!(`^'{3} poem(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`);
+ static block_quotemarks_group_open = ctRegex!(`^'{3} group(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`);
+ static block_quotemarks_block_open = ctRegex!(`^'{3} block(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`);
+ static block_quotemarks_quote_open = ctRegex!(`^'{3} quote(?:[.](?P<lang>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`);
+ static block_quotemarks_table_open = ctRegex!(`^'{3} table(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?`); // ctRegex!("^'{3} table(?:\(.*?\))?");
+ static block_quotemarks_close = ctRegex!(`^('{3})$`,"m");
/+ blocked markup curly +/
static block_curly_code_open = ctRegex!(`^(?:code(?:[.](?P<syntax>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?[{][ ]*$)`);
static block_curly_code_close = ctRegex!(`^([}]code)`);
diff --git a/src/sisudoc/meta/rgx_yaml_tags.d b/src/sisudoc/meta/rgx_yaml.d
index ee57469..ee57469 100644
--- a/src/sisudoc/meta/rgx_yaml_tags.d
+++ b/src/sisudoc/meta/rgx_yaml.d