aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform')
-rwxr-xr-xsrc/doc_reform/doc_reform.d59
-rw-r--r--src/doc_reform/meta/conf_make_meta_structs.d2
-rw-r--r--src/doc_reform/meta/conf_make_meta_yaml.d46
-rw-r--r--src/doc_reform/meta/metadoc.d2
-rw-r--r--src/doc_reform/meta/metadoc_show_config.d106
-rw-r--r--src/doc_reform/meta/metadoc_show_make.d74
-rw-r--r--src/doc_reform/meta/metadoc_show_metadata.d122
-rw-r--r--src/doc_reform/meta/metadoc_show_summary.d113
8 files changed, 501 insertions, 23 deletions
diff --git a/src/doc_reform/doc_reform.d b/src/doc_reform/doc_reform.d
index 9c41895..2e388d1 100755
--- a/src/doc_reform/doc_reform.d
+++ b/src/doc_reform/doc_reform.d
@@ -141,6 +141,9 @@ void main(string[] args) {
"pod" : false,
"serial" : false,
"show-summary" : false,
+ "show-metadata" : false,
+ "show-make" : false,
+ "show-config" : false,
"source" : false,
"sqlite-discrete" : false,
"sqlite-db-create" : false,
@@ -201,6 +204,9 @@ void main(string[] args) {
"pod", "--pod doc reform pod source content bundled", &opts["pod"],
"serial", "--serial serial processing", &opts["serial"],
"show-summary", "--show-summary", &opts["show-summary"],
+ "show-make", "--show-make", &opts["show-make"],
+ "show-metadata", "--show-metadata", &opts["show-metadata"],
+ "show-config", "--show-config", &opts["show-config"],
"source", "--source markup source text content", &opts["source"],
"sqlite-discrete", "--sqlite process discrete sqlite output", &opts["sqlite-discrete"],
"sqlite-db-create", "--sqlite-db-create create db, create tables", &opts["sqlite-db-create"],
@@ -341,6 +347,15 @@ void main(string[] args) {
bool show_summary() {
return opts["show-summary"];
}
+ bool show_make() {
+ return opts["show-make"];
+ }
+ bool show_metadata() {
+ return opts["show-metadata"];
+ }
+ bool show_config() {
+ return opts["show-config"];
+ }
bool source() {
return opts["source"];
}
@@ -694,9 +709,27 @@ void main(string[] args) {
if (doc_matters.opt.action.verbose
|| doc_matters.opt.action.show_summary
) {
- import doc_reform.meta.metadoc_summary;
+ import doc_reform.meta.metadoc_show_summary;
DocReformMetaDocSummary!()(doc_abstraction, doc_matters);
}
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_metadata
+ ) {
+ import doc_reform.meta.metadoc_show_metadata;
+ DocReformShowMetaData!()(doc_matters);
+ }
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_make
+ ) {
+ import doc_reform.meta.metadoc_show_make;
+ DocReformShowMake!()(doc_matters);
+ }
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_config
+ ) {
+ import doc_reform.meta.metadoc_show_config;
+ DocReformShowConfig!()(doc_matters);
+ }
if (doc_matters.opt.action.harvest) {
hvst.harvests ~= DocReformMetaDocHarvest!()(doc_matters, hvst);
}
@@ -721,7 +754,7 @@ void main(string[] args) {
scope(exit) {
if (!(_opt_action.quiet)) {
writefln(
- "processed file: %s (%s)",
+ "processed file: %s [%s]",
manifest.src.filename,
manifest.src.language
);
@@ -780,9 +813,27 @@ void main(string[] args) {
if (doc_matters.opt.action.verbose
|| doc_matters.opt.action.show_summary
) {
- import doc_reform.meta.metadoc_summary;
+ import doc_reform.meta.metadoc_show_summary;
DocReformMetaDocSummary!()(doc_abstraction, doc_matters);
}
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_metadata
+ ) {
+ import doc_reform.meta.metadoc_show_metadata;
+ DocReformShowMetaData!()(doc_matters);
+ }
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_make
+ ) {
+ import doc_reform.meta.metadoc_show_make;
+ DocReformShowMake!()(doc_matters);
+ }
+ /+ ↓ debugs +/
+ if (doc_matters.opt.action.show_config
+ ) {
+ import doc_reform.meta.metadoc_show_config;
+ DocReformShowConfig!()(doc_matters);
+ }
if (doc_matters.opt.action.harvest) {
hvst.harvests ~= DocReformMetaDocHarvest!()(doc_matters, hvst);
}
@@ -807,7 +858,7 @@ void main(string[] args) {
scope(exit) {
if (!(_opt_action.quiet)) {
writefln(
- "processed file: %s (%s)",
+ "processed file: %s [%s]",
manifest.src.filename,
manifest.src.language
);
diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d
index 4dba388..f56141f 100644
--- a/src/doc_reform/meta/conf_make_meta_structs.d
+++ b/src/doc_reform/meta/conf_make_meta_structs.d
@@ -2,6 +2,7 @@ module doc_reform.meta.conf_make_meta_structs;
import
std.exception,
std.json,
+ std.path,
std.regex,
std.stdio,
std.string,
@@ -151,6 +152,7 @@ struct ConfCompositeSiteLocal {
string webserv_cgi_port;
string webserv_cgi_user;
string webserv_cgi_file_links;
+ string output_path;
string processing_path;
string processing_dir;
string processing_concord_max;
diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d
index bb072a9..f36a7cf 100644
--- a/src/doc_reform/meta/conf_make_meta_yaml.d
+++ b/src/doc_reform/meta/conf_make_meta_yaml.d
@@ -8,6 +8,7 @@ static template contentYAMLtoDocReformStruct() {
std.algorithm,
std.array,
std.exception,
+ std.path,
std.regex,
std.stdio,
std.string,
@@ -236,24 +237,33 @@ static template contentYAMLtoDocReformStruct() {
}
}
}
+ if (!(_struct_composite.conf.output_path)) {
+ _struct_composite.conf.output_path = ((_manifest.output.path).asNormalizedPath).array;
+ }
+ if ("output" in _yaml
+ && _yaml["output"].type.sequence
+ ) {
+ if (_yaml["output"].type.mapping
+ && _yaml["output"].tag.match(rgx.yaml_tag_is_map)
+ ) {
+ if ("path" in _yaml["output"]
+ && _yaml["output"]["path"].type.string
+ && _yaml["output"]["path"].tag.match(rgx.yaml_tag_is_str)
+ ) {
+ if (_manifest.output.path == _manifest.env.pwd
+ && _yaml["output"]["path"].get!string.length > 0
+ ) {
+ _struct_composite.conf.output_path = (((_yaml["output"]["path"].get!string).expandTilde).asNormalizedPath).array;
+ }
+ }
+ }
+ }
if ("processing" in _yaml
&& _yaml["processing"].type.sequence
) {
if (_yaml["processing"].type.mapping
&& _yaml["processing"].tag.match(rgx.yaml_tag_is_map)
) {
- if ("path" in _yaml["processing"]
- && _yaml["processing"]["path"].type.string
- && _yaml["processing"]["path"].tag.match(rgx.yaml_tag_is_str)
- ) {
- _struct_composite.conf.processing_path = _yaml["processing"]["path"].get!string;
- }
- if ("dir" in _yaml["processing"]
- && _yaml["processing"]["dir"].type.string
- && _yaml["processing"]["dir"].tag.match(rgx.yaml_tag_is_str)
- ) {
- _struct_composite.conf.processing_dir = _yaml["processing"]["dir"].get!string;
- }
if ("concord_max" in _yaml["processing"]
&& _yaml["processing"]["concord_max"].type.string
&& _yaml["processing"]["concord_max"].tag.match(rgx.yaml_tag_is_str)
@@ -268,18 +278,18 @@ static template contentYAMLtoDocReformStruct() {
if (_yaml["flag"].type.mapping
&& _yaml["flag"].tag.match(rgx.yaml_tag_is_map)
) {
- if ("act1" in _yaml["flag"]
- && _yaml["flag"]["act1"].type.string
- && _yaml["flag"]["act1"].tag.match(rgx.yaml_tag_is_str)
- ) {
- _struct_composite.conf.flag_act1 = _yaml["flag"]["act1"].get!string;
- }
if ("act0" in _yaml["flag"]
&& _yaml["flag"]["act0"].type.string
&& _yaml["flag"]["act0"].tag.match(rgx.yaml_tag_is_str)
) {
_struct_composite.conf.flag_act0 = _yaml["flag"]["act0"].get!string;
}
+ if ("act1" in _yaml["flag"]
+ && _yaml["flag"]["act1"].type.string
+ && _yaml["flag"]["act1"].tag.match(rgx.yaml_tag_is_str)
+ ) {
+ _struct_composite.conf.flag_act1 = _yaml["flag"]["act1"].get!string;
+ }
if ("act2" in _yaml["flag"]
&& _yaml["flag"]["act2"].type.string
&& _yaml["flag"]["act2"].tag.match(rgx.yaml_tag_is_str)
diff --git a/src/doc_reform/meta/metadoc.d b/src/doc_reform/meta/metadoc.d
index 9adc0c2..a4ff476 100644
--- a/src/doc_reform/meta/metadoc.d
+++ b/src/doc_reform/meta/metadoc.d
@@ -226,7 +226,7 @@ template DocReformAbstraction() {
return SQLite_();
}
auto output_path() {
- return _manifest.output.path;
+ return _make_and_meta_struct.conf.output_path;
}
auto srcs() {
struct SRC_ {
diff --git a/src/doc_reform/meta/metadoc_show_config.d b/src/doc_reform/meta/metadoc_show_config.d
new file mode 100644
index 0000000..25300aa
--- /dev/null
+++ b/src/doc_reform/meta/metadoc_show_config.d
@@ -0,0 +1,106 @@
+module doc_reform.meta.metadoc_show_config;
+template DocReformShowConfig() {
+ void DocReformShowConfig(T)(
+ T doc_matters,
+ ) {
+ import
+ doc_reform.meta.defaults,
+ doc_reform.meta.rgx;
+ import
+ std.array,
+ std.exception,
+ std.regex,
+ std.stdio,
+ std.string,
+ std.traits,
+ std.typecons,
+ std.uni,
+ std.utf,
+ std.conv : to;
+ mixin InternalMarkup;
+ auto markup = InlineMarkup();
+ auto min_repeat_number = 66;
+ auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length
+ + doc_matters.conf_make_meta.meta.creator_author.length + 4);
+ char_repeat_number = (char_repeat_number > min_repeat_number)
+ ? char_repeat_number
+ : min_repeat_number;
+ if (doc_matters.opt.action.show_config
+ && doc_matters.opt.action.debug_do
+ ) {
+ writeln(doc_matters.conf_make_meta.conf);
+ }
+ if (doc_matters.opt.action.show_config) {
+ writefln(
+ "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n",
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.creator_author,
+ doc_matters.src.filename,
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ "- webserv url domain:",
+ doc_matters.conf_make_meta.conf.webserv_url_domain,
+ "- webserv doc root:",
+ doc_matters.conf_make_meta.conf.webserv_url_doc_root,
+ "- webserv doc path:",
+ doc_matters.conf_make_meta.conf.webserv_url_doc_path,
+ "- webserv images (location):",
+ doc_matters.conf_make_meta.conf.webserv_images,
+ "- webserv cgi:",
+ doc_matters.conf_make_meta.conf.webserv_cgi,
+ "- webserv cgi host:",
+ doc_matters.conf_make_meta.conf.webserv_cgi_host,
+ "- webserv cgi host path:",
+ doc_matters.conf_make_meta.conf.webserv_cgi_host_path,
+ "- webserv cgi port:",
+ doc_matters.conf_make_meta.conf.webserv_cgi_port,
+ "- webserv cgi user:",
+ doc_matters.conf_make_meta.conf.webserv_cgi_user,
+ "- webserv cgi file links:",
+ doc_matters.conf_make_meta.conf.webserv_cgi_file_links,
+ "- output path:",
+ doc_matters.conf_make_meta.conf.output_path,
+ "- processing concordance max:",
+ doc_matters.conf_make_meta.conf.processing_concord_max,
+ "- flag act0:",
+ doc_matters.conf_make_meta.conf.flag_act0,
+ "- flag act1:",
+ doc_matters.conf_make_meta.conf.flag_act1,
+ "- flag act2:",
+ doc_matters.conf_make_meta.conf.flag_act2,
+ "- flag act3:",
+ doc_matters.conf_make_meta.conf.flag_act3,
+ "- flag act4:",
+ doc_matters.conf_make_meta.conf.flag_act4,
+ "- flag act5:",
+ doc_matters.conf_make_meta.conf.flag_act5,
+ "- flag act6:",
+ doc_matters.conf_make_meta.conf.flag_act6,
+ "- flag act7:",
+ doc_matters.conf_make_meta.conf.flag_act7,
+ "- flag act8:",
+ doc_matters.conf_make_meta.conf.flag_act8,
+ "- flag act9:",
+ doc_matters.conf_make_meta.conf.flag_act9,
+ "- default papersize:",
+ doc_matters.conf_make_meta.conf.default_papersize,
+ "- default text wrap:",
+ doc_matters.conf_make_meta.conf.default_text_wrap,
+ "- default emphasis markup symbol:",
+ doc_matters.conf_make_meta.conf.default_emphasis,
+ "- default language:",
+ doc_matters.conf_make_meta.conf.default_language,
+ "- default hash digest:",
+ doc_matters.conf_make_meta.conf.default_digest,
+ "- search flag:",
+ doc_matters.conf_make_meta.conf.search_flag,
+ "- search action:",
+ doc_matters.conf_make_meta.conf.search_action,
+ "- search db:",
+ doc_matters.conf_make_meta.conf.search_db,
+ "- search title:",
+ doc_matters.conf_make_meta.conf.search_title,
+ );
+ }
+ }
+}
diff --git a/src/doc_reform/meta/metadoc_show_make.d b/src/doc_reform/meta/metadoc_show_make.d
new file mode 100644
index 0000000..017480c
--- /dev/null
+++ b/src/doc_reform/meta/metadoc_show_make.d
@@ -0,0 +1,74 @@
+module doc_reform.meta.metadoc_show_make;
+template DocReformShowMake() {
+ void DocReformShowMake(T)(
+ T doc_matters,
+ ) {
+ import
+ doc_reform.meta.defaults,
+ doc_reform.meta.rgx;
+ import
+ std.array,
+ std.exception,
+ std.regex,
+ std.stdio,
+ std.string,
+ std.traits,
+ std.typecons,
+ std.uni,
+ std.utf,
+ std.conv : to;
+ mixin InternalMarkup;
+ auto markup = InlineMarkup();
+ auto min_repeat_number = 66;
+ auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length
+ + doc_matters.conf_make_meta.meta.creator_author.length + 4);
+ char_repeat_number = (char_repeat_number > min_repeat_number)
+ ? char_repeat_number
+ : min_repeat_number;
+ if (doc_matters.opt.action.show_make
+ && doc_matters.opt.action.debug_do
+ ) {
+ writeln(doc_matters.conf_make_meta.make);
+ }
+ if (doc_matters.opt.action.show_make) {
+ writefln(
+ "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n",
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.creator_author,
+ doc_matters.src.filename,
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ "- bold:",
+ doc_matters.conf_make_meta.make.bold,
+ "- breaks:",
+ doc_matters.conf_make_meta.make.breaks,
+ "- cover image:",
+ doc_matters.conf_make_meta.make.cover_image,
+ "- css:",
+ doc_matters.conf_make_meta.make.css,
+ "- emphasis:",
+ doc_matters.conf_make_meta.make.emphasis,
+ "- css:",
+ doc_matters.conf_make_meta.make.css,
+ "- footer:",
+ doc_matters.conf_make_meta.make.footer,
+ "- headings:",
+ doc_matters.conf_make_meta.make.headings,
+ "- home button image:",
+ doc_matters.conf_make_meta.make.home_button_image,
+ "- home button text:",
+ doc_matters.conf_make_meta.make.home_button_text,
+ "- italics:",
+ doc_matters.conf_make_meta.make.italics,
+ "- auto num top at level:",
+ doc_matters.conf_make_meta.make.auto_num_top_at_level,
+ "- auto num top level:",
+ doc_matters.conf_make_meta.make.auto_num_top_lv,
+ "- auto num depth:",
+ doc_matters.conf_make_meta.make.auto_num_depth,
+ "- texpdf font:",
+ doc_matters.conf_make_meta.make.texpdf_font,
+ );
+ }
+ }
+}
diff --git a/src/doc_reform/meta/metadoc_show_metadata.d b/src/doc_reform/meta/metadoc_show_metadata.d
new file mode 100644
index 0000000..11769db
--- /dev/null
+++ b/src/doc_reform/meta/metadoc_show_metadata.d
@@ -0,0 +1,122 @@
+module doc_reform.meta.metadoc_show_metadata;
+template DocReformShowMetaData() {
+ void DocReformShowMetaData(T)(
+ T doc_matters,
+ ) {
+ import
+ doc_reform.meta.defaults,
+ doc_reform.meta.rgx;
+ import
+ std.array,
+ std.exception,
+ std.regex,
+ std.stdio,
+ std.string,
+ std.traits,
+ std.typecons,
+ std.uni,
+ std.utf,
+ std.conv : to;
+ mixin InternalMarkup;
+ auto markup = InlineMarkup();
+ auto min_repeat_number = 66;
+ auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length
+ + doc_matters.conf_make_meta.meta.creator_author.length + 4);
+ char_repeat_number = (char_repeat_number > min_repeat_number)
+ ? char_repeat_number
+ : min_repeat_number;
+ if (doc_matters.opt.action.show_metadata
+ && doc_matters.opt.action.debug_do
+ ) {
+ writeln(doc_matters.conf_make_meta.meta);
+ }
+ if (doc_matters.opt.action.show_metadata) {
+ writefln(
+ "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n",
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.creator_author,
+ doc_matters.src.filename,
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ "- author:",
+ doc_matters.conf_make_meta.meta.creator_author,
+ "- author array:",
+ doc_matters.conf_make_meta.meta.creator_author_arr,
+ "- author surname:",
+ doc_matters.conf_make_meta.meta.creator_author_surname,
+ "- author email:",
+ doc_matters.conf_make_meta.meta.creator_author_email,
+ "- illustrator:",
+ doc_matters.conf_make_meta.meta.creator_illustrator,
+ "- translator:",
+ doc_matters.conf_make_meta.meta.creator_translator,
+ "- title full:",
+ doc_matters.conf_make_meta.meta.title_full,
+ "- title main:",
+ doc_matters.conf_make_meta.meta.title_main,
+ "- title sub:",
+ doc_matters.conf_make_meta.meta.title_subtitle,
+ "- title edition:",
+ doc_matters.conf_make_meta.meta.title_edition,
+ "- title language:",
+ doc_matters.conf_make_meta.meta.title_language,
+ "- title note:",
+ doc_matters.conf_make_meta.meta.title_note,
+ "- classify dewey:",
+ doc_matters.conf_make_meta.meta.classify_dewey,
+ "- classify library of congress:",
+ doc_matters.conf_make_meta.meta.classify_loc,
+ "- classify keywords:",
+ doc_matters.conf_make_meta.meta.classify_keywords,
+ "- classify topic register:",
+ doc_matters.conf_make_meta.meta.classify_topic_register,
+ "- date added to site:",
+ doc_matters.conf_make_meta.meta.date_added_to_site,
+ "- date available:",
+ doc_matters.conf_make_meta.meta.date_available,
+ "- date created:",
+ doc_matters.conf_make_meta.meta.date_created,
+ "- date issued:",
+ doc_matters.conf_make_meta.meta.date_issued,
+ "- date modified:",
+ doc_matters.conf_make_meta.meta.date_modified,
+ "- date published:",
+ doc_matters.conf_make_meta.meta.date_published,
+ "- date valid:",
+ doc_matters.conf_make_meta.meta.date_valid,
+ // links
+ "- notes abstract:",
+ doc_matters.conf_make_meta.meta.notes_abstract,
+ "- notes description:",
+ doc_matters.conf_make_meta.meta.notes_description,
+ "- original language:",
+ doc_matters.conf_make_meta.meta.original_language,
+ "- original language character:",
+ doc_matters.conf_make_meta.meta.original_language_char,
+ "- original source:",
+ doc_matters.conf_make_meta.meta.original_source,
+ "- original title:",
+ doc_matters.conf_make_meta.meta.original_title,
+ // publisher
+ "- rights copyright:",
+ doc_matters.conf_make_meta.meta.rights_copyright,
+ "- rights copyright text:",
+ doc_matters.conf_make_meta.meta.rights_copyright_text,
+ "- rights copyright audio:",
+ doc_matters.conf_make_meta.meta.rights_copyright_audio,
+ "- rights copyright cover:",
+ doc_matters.conf_make_meta.meta.rights_copyright_cover,
+ "- rights copyright illustrations:",
+ doc_matters.conf_make_meta.meta.rights_copyright_illustrations,
+ "- rights copyright photographs:",
+ doc_matters.conf_make_meta.meta.rights_copyright_photographs,
+ "- rights copyright translation:",
+ doc_matters.conf_make_meta.meta.rights_copyright_translation,
+ "- rights copyright video:",
+ doc_matters.conf_make_meta.meta.rights_copyright_video,
+ "- rights license:",
+ doc_matters.conf_make_meta.meta.rights_license,
+ );
+ }
+ }
+}
diff --git a/src/doc_reform/meta/metadoc_show_summary.d b/src/doc_reform/meta/metadoc_show_summary.d
new file mode 100644
index 0000000..67db962
--- /dev/null
+++ b/src/doc_reform/meta/metadoc_show_summary.d
@@ -0,0 +1,113 @@
+module doc_reform.meta.metadoc_show_summary;
+template DocReformMetaDocSummary() {
+ void DocReformMetaDocSummary(S,T)(
+ const S doc_abstraction,
+ T doc_matters,
+ ) {
+ import
+ doc_reform.meta.defaults,
+ doc_reform.meta.rgx;
+ import
+ std.array,
+ std.exception,
+ std.regex,
+ std.stdio,
+ std.string,
+ std.traits,
+ std.typecons,
+ std.uni,
+ std.utf,
+ std.conv : to;
+ mixin InternalMarkup;
+ auto markup = InlineMarkup();
+ auto min_repeat_number = 66;
+ auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length
+ + doc_matters.conf_make_meta.meta.creator_author.length + 4);
+ char_repeat_number = (char_repeat_number > min_repeat_number)
+ ? char_repeat_number
+ : min_repeat_number;
+ if (doc_matters.opt.action.verbose
+ || doc_matters.opt.action.show_summary) {
+ string[string] check = [
+ "last_object_number" : "NA [debug \"checkdoc\" not run]",
+ "last_object_number_body" : "0",
+ "last_object_number_book_index" : "0",
+ ];
+ foreach (k; doc_matters.has.keys_seq.seg) {
+ foreach (obj; doc_abstraction[k]) {
+ if (obj.metainfo.is_of_part != "empty") {
+ if (!empty(obj.metainfo.object_number)) {
+ if (k == "body") {
+ check["last_object_number_body"] = obj.metainfo.object_number;
+ }
+ if (!(obj.metainfo.object_number.empty)) {
+ check["last_object_number"] = obj.metainfo.object_number;
+ }
+ }
+ if (k == "bookindex") {
+ if (obj.metainfo.object_number_type == 2) {
+ check["last_object_number_book_index"] = obj.metainfo.object_number_book_index;
+ }
+ }
+ }
+ }
+ }
+ writefln(
+ "%s\n\"%s\", %s\n%s [%s]\n%s\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%s",
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ doc_matters.conf_make_meta.meta.title_full,
+ doc_matters.conf_make_meta.meta.creator_author,
+ doc_matters.src.filename,
+ doc_matters.src.language,
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ "- toc arr length:",
+ to!int(doc_abstraction["toc"].length),
+ "- doc_abstraction arr length:",
+ to!int(doc_abstraction["body"].length),
+ " doc body last obj on.#:",
+ to!int(check["last_object_number_body"]),
+ " - number of tables:",
+ doc_matters.has.tables,
+ " - number of codeblocks:",
+ doc_matters.has.codeblocks,
+ " - number of poems:",
+ doc_matters.has.poems,
+ " - number of blocks:",
+ doc_matters.has.blocks,
+ " - number of groups:",
+ doc_matters.has.groups,
+ " - number of images:",
+ doc_matters.has.images,
+ "- endnotes length:", // subtract headings
+ (doc_abstraction["endnotes"].length > 2)
+ ? (to!int(doc_abstraction["endnotes"].length - 2))
+ : 0,
+ "- glossary length:",
+ (doc_abstraction["glossary"].length > 1)
+ ? (to!int(doc_abstraction["glossary"].length))
+ : 0,
+ "- biblio length:",
+ (doc_abstraction["bibliography"].length > 1)
+ ? (to!int(doc_abstraction["bibliography"].length))
+ : 0,
+ "- bookindex length:",
+ (doc_abstraction["bookindex"].length > 1)
+ ? (to!int(doc_abstraction["bookindex"].length))
+ : 0,
+ " book idx last obj on.#:",
+ to!int(check["last_object_number_book_index"]),
+ "- blurb length:",
+ (doc_abstraction["blurb"].length > 1)
+ ? (to!int(doc_abstraction["blurb"].length))
+ : 0,
+ "* last obj on.#:",
+ to!int(check["last_object_number"]),
+ "number of segments:",
+ (doc_matters.has.segnames_lv4.length > 1)
+ ? (to!int(doc_matters.has.segnames_lv4.length))
+ : 0,
+ markup.repeat_character_by_number_provided("-", min_repeat_number),
+ );
+ }
+ }
+}