aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--meson.build2
-rw-r--r--org/doc_reform.org69
-rw-r--r--org/dr_build_scaffold.org2
-rw-r--r--org/meta_conf_make_meta.org48
-rw-r--r--org/output_harvest_metadata.org148
-rw-r--r--org/output_show.org464
-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
14 files changed, 1060 insertions, 197 deletions
diff --git a/meson.build b/meson.build
index 46ff731..21b34e1 100644
--- a/meson.build
+++ b/meson.build
@@ -18,7 +18,7 @@ doc_reform_sources = [
'src/doc_reform/meta/metadoc_harvests_authors.d',
'src/doc_reform/meta/metadoc_harvests_topics.d',
'src/doc_reform/meta/metadochead.d',
- 'src/doc_reform/meta/metadoc_summary.d',
+ 'src/doc_reform/meta/metadoc_show_summary.d',
'src/doc_reform/meta/object_setter.d',
'src/doc_reform/meta/package.d',
'src/doc_reform/meta/rgx.d',
diff --git a/org/doc_reform.org b/org/doc_reform.org
index a8fd2a6..1d853c1 100644
--- a/org/doc_reform.org
+++ b/org/doc_reform.org
@@ -348,6 +348,9 @@ bool[string] opts = [
"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,
@@ -408,6 +411,9 @@ auto helpInfo = getopt(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"],
@@ -555,6 +561,15 @@ struct OptActions {
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"];
}
@@ -965,8 +980,9 @@ if ((doc_matters.opt.action.debug_do)
#+END_SRC
*** 2. _output processing_ (post abstraction processing)
-**** 0. abstraction _print summary_ :abstraction:summary:
-- abstraction summary
+**** 0. abstraction
+***** show document summary - abstraction _print summary_ (to screen) :abstraction:summary:
+--show-summary (abstraction summary)
#+NAME: doc_reform_each_file_do_debugs_checkdoc
#+BEGIN_SRC d
@@ -974,12 +990,51 @@ if ((doc_matters.opt.action.debug_do)
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);
}
#+END_SRC
-**** 0. abstraction harvest :abstraction:harvest:
+***** show metadata (doc headers metadata)
+--show-metadata
+
+#+NAME: doc_reform_each_file_do_debugs_checkdoc
+#+BEGIN_SRC d
+/+ ↓ debugs +/
+if (doc_matters.opt.action.show_metadata
+) {
+ import doc_reform.meta.metadoc_show_metadata;
+ DocReformShowMetaData!()(doc_matters);
+}
+#+END_SRC
+
+***** show make (make files & doc headers)
+--show-make
+
+#+NAME: doc_reform_each_file_do_debugs_checkdoc
+#+BEGIN_SRC d
+/+ ↓ debugs +/
+if (doc_matters.opt.action.show_make
+) {
+ import doc_reform.meta.metadoc_show_make;
+ DocReformShowMake!()(doc_matters);
+}
+#+END_SRC
+
+***** show config (config files & doc headers)
+--show-config
+
+#+NAME: doc_reform_each_file_do_debugs_checkdoc
+#+BEGIN_SRC d
+/+ ↓ debugs +/
+if (doc_matters.opt.action.show_config
+) {
+ import doc_reform.meta.metadoc_show_config;
+ DocReformShowConfig!()(doc_matters);
+}
+#+END_SRC
+
+***** abstraction harvest :abstraction:harvest:
- abstraction harvest
#+NAME: doc_reform_each_file_do_debugs_checkdoc
@@ -1028,7 +1083,7 @@ if (!(doc_matters.opt.action.skip_output)) {
scope(exit) {
if (!(_opt_action.quiet)) {
writefln(
- "processed file: %s (%s)",
+ "processed file: %s [%s]",
manifest.src.filename,
manifest.src.language
);
@@ -1356,7 +1411,7 @@ struct DocumentMatters {
return SQLite_();
}
auto output_path() {
- return _manifest.output.path;
+ return _make_and_meta_struct.conf.output_path;
}
auto srcs() {
struct SRC_ {
@@ -1451,7 +1506,7 @@ struct DocumentMattersAbridged {
return SQLite_();
}
auto output_path() {
- return _manifest.output.path;
+ return _make_and_meta_struct.conf.output_path;
}
}
#+END_SRC
diff --git a/org/dr_build_scaffold.org b/org/dr_build_scaffold.org
index d17ed7b..815be88 100644
--- a/org/dr_build_scaffold.org
+++ b/org/dr_build_scaffold.org
@@ -1020,7 +1020,7 @@ doc_reform_sources = [
'src/doc_reform/meta/metadoc_harvests_authors.d',
'src/doc_reform/meta/metadoc_harvests_topics.d',
'src/doc_reform/meta/metadochead.d',
- 'src/doc_reform/meta/metadoc_summary.d',
+ 'src/doc_reform/meta/metadoc_show_summary.d',
'src/doc_reform/meta/object_setter.d',
'src/doc_reform/meta/package.d',
'src/doc_reform/meta/rgx.d',
diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org
index ff1efb9..a8a5876 100644
--- a/org/meta_conf_make_meta.org
+++ b/org/meta_conf_make_meta.org
@@ -57,6 +57,7 @@ module doc_reform.meta.conf_make_meta_structs;
import
std.exception,
std.json,
+ std.path,
std.regex,
std.stdio,
std.string,
@@ -225,6 +226,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;
@@ -349,6 +351,7 @@ static template contentYAMLtoDocReformStruct() {
std.algorithm,
std.array,
std.exception,
+ std.path,
std.regex,
std.stdio,
std.string,
@@ -593,24 +596,33 @@ if ("webserv" in _yaml
}
}
}
+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)
@@ -625,18 +637,18 @@ if ("flag" in _yaml
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/org/output_harvest_metadata.org b/org/output_harvest_metadata.org
index e6d5ab5..a25ab61 100644
--- a/org/output_harvest_metadata.org
+++ b/org/output_harvest_metadata.org
@@ -15,153 +15,7 @@
#+EXPORT_EXCLUDE_TAGS: noexport
#+TAGS: assert(a) class(c) debug(d) mixin(m) doc_reform(s) tangle(T) template(t) WEB(W) noexport(n)
-* document abstraction _summary_ :module:doc_reform:metadoc_summary:
-** 0. module template metadoc summary
-- document summary from abstraction
-
-#+BEGIN_SRC d :tangle "../src/doc_reform/meta/metadoc_summary.d"
-module doc_reform.meta.metadoc_summary;
-template DocReformMetaDocSummary() {
- void DocReformMetaDocSummary(S,T)(
- const S doc_abstraction,
- T doc_matters,
- ) {
- <<metadoc_summary_imports>>
- mixin InternalMarkup;
- <<metadoc_summary_initialize>>
- if (doc_matters.opt.action.verbose
- || doc_matters.opt.action.show_summary
- ) {
- <<meta_metadoc_summary_document>>
- }
- }
-}
-#+END_SRC
-
-** init
-*** imports
-
-#+name: metadoc_summary_imports
-#+BEGIN_SRC d
-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;
-#+END_SRC
-
-*** initialize :report:
-
-#+name: metadoc_summary_initialize
-#+BEGIN_SRC d
-auto markup = InlineMarkup();
-#+END_SRC
-
-** (last ocn)
-
-#+name: meta_metadoc_summary_document
-#+BEGIN_SRC d
-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;
- }
- }
- }
- }
-}
-#+END_SRC
-
-** document summary
-
-#+name: meta_metadoc_summary_document
-#+BEGIN_SRC d
-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;
-writefln(
- "%s\n\"%s\", %s\n%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,
- 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),
-);
-#+END_SRC
+* document harvest _summary_ :module:doc_reform:metadoc_show_summary:
** 0. module template metadoc harvest
diff --git a/org/output_show.org b/org/output_show.org
new file mode 100644
index 0000000..0c54c5f
--- /dev/null
+++ b/org/output_show.org
@@ -0,0 +1,464 @@
+-*- mode: org -*-
+#+TITLE: metadata (multidocument) harvests
+#+DESCRIPTION: documents - structuring, various output representations & search
+#+FILETAGS: :doc_reform:hub:
+#+AUTHOR: Ralph Amissah
+#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
+#+COPYRIGHT: Copyright (C) 2015 - 2019 Ralph Amissah
+#+LANGUAGE: en
+#+STARTUP: indent content hideblocks hidestars
+#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
+#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
+#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
+#+PROPERTY: header-args :results silent :padline no :exports code :cache no :noweb yes
+#+EXPORT_SELECT_TAGS: export
+#+EXPORT_EXCLUDE_TAGS: noexport
+#+TAGS: assert(a) class(c) debug(d) mixin(m) doc_reform(s) tangle(T) template(t) WEB(W) noexport(n)
+
+* document abstraction _summary_ :module:doc_reform:metadoc_show_summary:
+** 0. module template metadoc summary
+- document summary from abstraction
+
+#+BEGIN_SRC d :tangle "../src/doc_reform/meta/metadoc_show_summary.d"
+module doc_reform.meta.metadoc_show_summary;
+template DocReformMetaDocSummary() {
+ void DocReformMetaDocSummary(S,T)(
+ const S doc_abstraction,
+ T doc_matters,
+ ) {
+ <<metadoc_show_summary_imports>>
+ <<metadoc_show_imports_shared>>
+ mixin InternalMarkup;
+ <<metadoc_show_initialize>>
+ if (doc_matters.opt.action.verbose
+ || doc_matters.opt.action.show_summary) {
+ <<meta_metadoc_show_summary_document>>
+ }
+ }
+}
+#+END_SRC
+
+** (last ocn)
+
+#+name: meta_metadoc_show_summary_document
+#+BEGIN_SRC d
+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;
+ }
+ }
+ }
+ }
+}
+#+END_SRC
+
+** document summary
+
+#+name: meta_metadoc_show_summary_document
+#+BEGIN_SRC d
+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),
+);
+#+END_SRC
+
+* show config
+** 0. module template show config
+--show-config (show config)
+
+#+BEGIN_SRC d :tangle "../src/doc_reform/meta/metadoc_show_config.d"
+module doc_reform.meta.metadoc_show_config;
+template DocReformShowConfig() {
+ void DocReformShowConfig(T)(
+ T doc_matters,
+ ) {
+ <<metadoc_show_summary_imports>>
+ <<metadoc_show_imports_shared>>
+ mixin InternalMarkup;
+ <<metadoc_show_initialize>>
+ 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) {
+ <<meta_metadoc_show_config>>
+ }
+ }
+}
+#+END_SRC
+
+** show config
+
+#+name: meta_metadoc_show_config
+#+BEGIN_SRC d
+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,
+);
+#+END_SRC
+
+* show make
+** 0. module template show make
+--show-make (show document make)
+
+#+BEGIN_SRC d :tangle "../src/doc_reform/meta/metadoc_show_make.d"
+module doc_reform.meta.metadoc_show_make;
+template DocReformShowMake() {
+ void DocReformShowMake(T)(
+ T doc_matters,
+ ) {
+ <<metadoc_show_summary_imports>>
+ <<metadoc_show_imports_shared>>
+ mixin InternalMarkup;
+ <<metadoc_show_initialize>>
+ 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) {
+ <<meta_metadoc_show_make>>
+ }
+ }
+}
+#+END_SRC
+
+** show make
+
+#+name: meta_metadoc_show_make
+#+BEGIN_SRC d
+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,
+);
+#+END_SRC
+
+
+* show metadata
+** 0. module template show metadata
+--show-metadata (show document metadata)
+
+#+BEGIN_SRC d :tangle "../src/doc_reform/meta/metadoc_show_metadata.d"
+module doc_reform.meta.metadoc_show_metadata;
+template DocReformShowMetaData() {
+ void DocReformShowMetaData(T)(
+ T doc_matters,
+ ) {
+ <<metadoc_show_summary_imports>>
+ <<metadoc_show_imports_shared>>
+ mixin InternalMarkup;
+ <<metadoc_show_initialize>>
+ 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) {
+ <<meta_metadoc_show_metadata>>
+ }
+ }
+}
+#+END_SRC
+
+** show metadata
+
+#+name: meta_metadoc_show_metadata
+#+BEGIN_SRC d
+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,
+);
+#+END_SRC
+
+* shared init ?
+** init
+
+*** imports
+
+#+name: metadoc_show_imports_shared
+#+BEGIN_SRC d
+import
+ std.array,
+ std.exception,
+ std.regex,
+ std.stdio,
+ std.string,
+ std.traits,
+ std.typecons,
+ std.uni,
+ std.utf,
+ std.conv : to;
+#+END_SRC
+
+*** imports
+
+#+name: metadoc_show_summary_imports
+#+BEGIN_SRC d
+import
+ doc_reform.meta.defaults,
+ doc_reform.meta.rgx;
+#+END_SRC
+
+*** initialize :report:
+
+#+name: metadoc_show_initialize
+#+BEGIN_SRC d
+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;
+#+END_SRC
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),
+ );
+ }
+ }
+}