diff options
Diffstat (limited to 'src/sisudoc/meta/metadoc_show_config.d')
-rw-r--r-- | src/sisudoc/meta/metadoc_show_config.d | 232 |
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, + ); + } + } +} |