aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/meta/metadoc_show_config.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/meta/metadoc_show_config.d')
-rw-r--r--src/sisudoc/meta/metadoc_show_config.d232
1 files changed, 232 insertions, 0 deletions
diff --git a/src/sisudoc/meta/metadoc_show_config.d b/src/sisudoc/meta/metadoc_show_config.d
new file mode 100644
index 0000000..8a6af5d
--- /dev/null
+++ b/src/sisudoc/meta/metadoc_show_config.d
@@ -0,0 +1,232 @@
+/+
+- Name: SisuDoc Spine, Doc Reform [a part of]
+ - Description: documents, structuring, processing, publishing, search
+ - static content generator
+
+ - Author: Ralph Amissah
+ [ralph.amissah@gmail.com]
+
+ - Copyright: (C) 2015 - 2024 Ralph Amissah, All Rights Reserved.
+
+ - License: AGPL 3 or later:
+
+ Spine (SiSU), a framework for document structuring, publishing and
+ search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU AFERO General Public License as published by the
+ Free Software Foundation, either version 3 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see [https://www.gnu.org/licenses/].
+
+ If you have Internet connection, the latest version of the AGPL should be
+ available at these locations:
+ [https://www.fsf.org/licensing/licenses/agpl.html]
+ [https://www.gnu.org/licenses/agpl.html]
+
+ - Spine (by Doc Reform, related to SiSU) uses standard:
+ - docReform markup syntax
+ - standard SiSU markup syntax with modified headers and minor modifications
+ - docReform object numbering
+ - standard SiSU object citation numbering & system
+
+ - Homepages:
+ [https://www.sisudoc.org]
+ [https://www.doc-reform.org]
+
+ - Git
+ [https://git.sisudoc.org/]
+
++/
+module sisudoc.meta.metadoc_show_config;
+@safe:
+template spineShowSiteConfig() {
+ void spineShowSiteConfig(O,T)(
+ O opt_action,
+ T config,
+ ) {
+ 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;
+ mixin InternalMarkup;
+ auto markup = InlineMarkup();
+ auto char_repeat_number = 66;
+ if (opt_action.show_config) {
+ writefln(
+ "\n%s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n",
+ markup.repeat_character_by_number_provided("-", char_repeat_number),
+ "- webserv host name:",
+ config.conf.w_srv_host,
+ "- webserv doc root (part):",
+ config.conf.w_srv_data_root_part,
+ "- webserv doc path:",
+ config.conf.w_srv_data_root_path,
+ "- webserv images (location):",
+ config.conf.w_srv_images_root_part,
+ "- webserv doc root url:",
+ config.conf.w_srv_data_root_url,
+ "- webserv cgi host (host):",
+ config.conf.w_srv_cgi_host,
+ "- webserv cgi host path:",
+ config.conf.w_srv_cgi_bin_path,
+ "- webserv cgi host (part):",
+ config.conf.w_srv_cgi_bin_subpath,
+ "- webserv cgi search script:",
+ config.conf.w_srv_cgi_search_script,
+ "- webserv cgi search script in d:",
+ config.conf.w_srv_cgi_search_script_raw_fn_d,
+ "- webserv cgi port:",
+ config.conf.w_srv_cgi_port,
+ "- webserv cgi user:",
+ config.conf.w_srv_cgi_user,
+ "- webserv cgi url:",
+ config.conf.w_srv_cgi_bin_url,
+ "- webserv cgi action:",
+ config.conf.w_srv_cgi_action,
+ "- webserv cgi title:",
+ config.conf.w_srv_cgi_search_form_title,
+ // "- webserv cgi file links:",
+ // config.conf.w_srv_cgi_file_links,
+ "- webserv sqlite db:",
+ config.conf.w_srv_db_sqlite_filename,
+ "- output path:",
+ config.conf.output_path,
+ "- processing concordance max:",
+ config.conf.processing_concord_max,
+ // "- flag act0:",
+ // config.conf.flag_act0,
+ "- default papersize:",
+ config.conf.set_papersize,
+ "- default text wrap:",
+ config.conf.set_text_wrap,
+ "- default emphasis markup symbol:",
+ config.conf.set_emphasis,
+ "- default language:",
+ config.conf.set_language,
+ "- default hash digest:",
+ config.conf.set_digest,
+ "- search flag:",
+ config.conf.search_flag,
+ "- search action:",
+ config.conf.search_action,
+ "- search db:",
+ config.conf.search_db,
+ "- search title:",
+ config.conf.search_title,
+ );
+ }
+ }
+}
+template spineShowConfig() {
+ void spineShowConfig(T)(
+ T doc_matters,
+ ) {
+ 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;
+ 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%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-s%10-s\n%40-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 host name:",
+ doc_matters.conf_make_meta.conf.w_srv_host,
+ "- webserv doc root (part):",
+ doc_matters.conf_make_meta.conf.w_srv_data_root_part,
+ "- webserv doc path:",
+ doc_matters.conf_make_meta.conf.w_srv_data_root_path,
+ "- webserv images (location):",
+ doc_matters.conf_make_meta.conf.w_srv_images_root_part,
+ "- webserv doc root url:",
+ doc_matters.conf_make_meta.conf.w_srv_data_root_url,
+ "- webserv cgi host (host):",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_host,
+ "- webserv cgi host path:",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_bin_path,
+ "- webserv cgi host (part):",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_bin_subpath,
+ "- webserv cgi search script:",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_search_script,
+ "- webserv cgi search script in d:",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_search_script_raw_fn_d,
+ "- webserv cgi url:",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_bin_url,
+ "- webserv cgi action:",
+ doc_matters.conf_make_meta.conf.w_srv_cgi_action,
+ // "- webserv cgi file links:",
+ // doc_matters.conf_make_meta.conf.w_srv_cgi_file_links,
+ "- webserv sqlite db:",
+ doc_matters.conf_make_meta.conf.w_srv_db_sqlite_filename,
+ "- 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,
+ "- default papersize:",
+ doc_matters.conf_make_meta.conf.set_papersize,
+ "- default text wrap:",
+ doc_matters.conf_make_meta.conf.set_text_wrap,
+ "- default emphasis markup symbol:",
+ doc_matters.conf_make_meta.conf.set_emphasis,
+ "- default language:",
+ doc_matters.conf_make_meta.conf.set_language,
+ "- default hash digest:",
+ doc_matters.conf_make_meta.conf.set_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,
+ );
+ }
+ }
+}