diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2021-10-13 13:33:08 -0400 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2021-11-27 19:51:22 -0500 |
commit | 0ff37b772594b21a26b4b878a5ddbc6f1e0d1e67 (patch) | |
tree | 86de7f449aab13cee6be7dbff314a024c1aeb499 /src/doc_reform/meta | |
parent | configuration, hierarchy filenames & paths ... (diff) |
org files, tangle output, some fixes
Diffstat (limited to 'src/doc_reform/meta')
-rw-r--r-- | src/doc_reform/meta/conf_make_meta_yaml.d | 101 | ||||
-rw-r--r-- | src/doc_reform/meta/metadoc.d | 254 |
2 files changed, 127 insertions, 228 deletions
diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d index ef40a09..de218ee 100644 --- a/src/doc_reform/meta/conf_make_meta_yaml.d +++ b/src/doc_reform/meta/conf_make_meta_yaml.d @@ -786,7 +786,6 @@ template contentYAMLtoSpineStruct() { _struct_composite.make.substitute = _mk.substitute(_struct_composite.make_str.substitute); _struct_composite.make.texpdf_font = _mk.texpdf_font(_struct_composite.make_str.texpdf_font); } - /+ meta ------------------------------------------------------------------- +/ if (_struct_composite.meta.creator_author.empty) { if ("creator" in _yaml @@ -1162,56 +1161,6 @@ template contentYAMLtoSpineStruct() { return _struct_composite; } } -/+ -- Name: 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 - 2021 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.doc_reform.org] - [https://www.sisudoc.org] - - - Git - [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary] - -+/ template configParseYAMLreturnSpineStruct() { import dyaml; import @@ -1245,56 +1194,6 @@ template configParseYAMLreturnSpineStruct() { return _make_and_meta_struct; } } -/+ -- Name: 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 - 2021 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.doc_reform.org] - [https://www.sisudoc.org] - - - Git - [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary] - -+/ template docHeaderMakeAndMetaTupYamlExtractAndConvertToStruct() { import std.exception, diff --git a/src/doc_reform/meta/metadoc.d b/src/doc_reform/meta/metadoc.d index 3d04236..d8b252e 100644 --- a/src/doc_reform/meta/metadoc.d +++ b/src/doc_reform/meta/metadoc.d @@ -101,143 +101,143 @@ template spineAbstraction() { writeln("step4 commence → (doc_matters)"); } struct DocumentMatters { - @safe auto generator_program() { - struct Prog_ { - @safe string project_name() { - return "spine"; - } - @safe string name() { - return program_info.name; - } - @safe string ver() { - return program_info.ver; - } - @trusted string name_and_version() { - return format("%s-%s", - name, - ver, - ); - } - @safe string url_home() { - return "https://sisudoc.org"; - } - @safe string url_git() { - return "https://git.sisudoc.org/software/sisu"; - } - @safe auto compiler() { - return program_info.compiler; - } - @safe auto stime() { - return Clock.currTime(UTC()).toSimpleString(); + @safe auto generator_program() { + struct Prog_ { + @safe string project_name() { + return "spine"; + } + @safe string name() { + return program_info.name; + } + @safe string ver() { + return program_info.ver; + } + @trusted string name_and_version() { + return format("%s-%s", + name, + ver, + ); + } + @safe string url_home() { + return "https://sisudoc.org"; + } + @safe string url_git() { + return "https://git.sisudoc.org/software/sisu"; + } + @safe auto compiler() { + return program_info.compiler; + } + @safe auto stime() { + return Clock.currTime(UTC()).toSimpleString(); + } } + return Prog_(); } - return Prog_(); - } - @safe auto generated_time() { - auto _st = Clock.currTime(UTC()); - auto _time = _st.year.to!string - ~ "-" ~ _st.month.to!int.to!string // prefer as month number - ~ "-" ~ _st.day.to!string - ~ " [" ~ _st.isoWeek.to!string ~ "/" ~ _st.dayOfWeek.to!int.to!string ~ "]" - ~ " " ~ _st.hour.to!string - ~ ":" ~ _st.minute.to!string - ~ ":" ~ _st.second.to!string; - return _time; - } - @safe auto conf_make_meta() { - return _make_and_meta_struct; - } - @safe auto has() { - return _doc_has_struct; - } - @safe auto env() { - struct Env_ { - @safe auto pwd() { - return _manifest.env.pwd; - } - @safe auto home() { - return _manifest.env.home; - } + @safe auto generated_time() { + auto _st = Clock.currTime(UTC()); + auto _time = _st.year.to!string + ~ "-" ~ _st.month.to!int.to!string // prefer as month number + ~ "-" ~ _st.day.to!string + ~ " [" ~ _st.isoWeek.to!string ~ "/" ~ _st.dayOfWeek.to!int.to!string ~ "]" + ~ " " ~ _st.hour.to!string + ~ ":" ~ _st.minute.to!string + ~ ":" ~ _st.second.to!string; + return _time; } - return Env_(); - } - @safe auto opt() { - struct Opt_ { - @safe auto action() { - /+ getopt options, commandline instructions, raw - - processing instructions --epub --html etc. - - command line config instructions --output - +/ - return _opt_action; - } + @safe auto conf_make_meta() { + return _make_and_meta_struct; } - return Opt_(); - } - @safe auto src() { - return _manifest.src; - } - @safe auto src_path_info() { - return spinePathsSRC!()(_manifest.env.pwd, _manifest.src.file_with_absolute_path); // would like (to have and use) relative path - } - @safe auto pod() { - return _manifest.pod; - } - @safe auto sqlite() { - struct SQLite_ { - @safe string filename() { - string _fn = ""; - string _pth = ""; - if (_opt_action.sqliteDB_filename.length > 0) { - _fn = _opt_action.sqliteDB_filename; - } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_filename.length > 0) { - _fn = _make_and_meta_struct.conf.w_srv_db_sqlite_filename; - } - return _fn; - } - @safe string path() { - string _pth = ""; - if (_opt_action.sqliteDB_path.length > 0) { - _pth = _opt_action.sqliteDB_path; - } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_path.length > 0) { - _pth = _make_and_meta_struct.conf.w_srv_db_sqlite_path; - } - return _pth; - } - @safe string cgi_filename() { - string _fn = ""; - if (_opt_action.cgi_sqlite_search_filename.length > 0) { - _fn = _opt_action.cgi_sqlite_search_filename; - } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script.length > 0) { - _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script; - } - return _fn; + @safe auto has() { + return _doc_has_struct; + } + @safe auto env() { + struct Env_ { + @safe auto pwd() { + return _manifest.env.pwd; + } + @safe auto home() { + return _manifest.env.home; + } } - @safe string cgi_filename_d() { - string _fn = ""; - if (_opt_action.cgi_sqlite_search_filename_d.length > 0) { - _fn = _opt_action.cgi_sqlite_search_filename_d; - } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d.length > 0) { - _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d; - } - return _fn; + return Env_(); + } + @safe auto opt() { + struct Opt_ { + @safe auto action() { + /+ getopt options, commandline instructions, raw + - processing instructions --epub --html etc. + - command line config instructions --output + +/ + return _opt_action; + } } + return Opt_(); } - return SQLite_(); - } - @safe auto output_path() { - return _make_and_meta_struct.conf.output_path; - } - @safe auto srcs() { - struct SRC_ { - auto file_insert_list() { - return _header_body_insertfilelist_imagelist[headBody.insert_file_list]; + @safe auto src() { + return _manifest.src; + } + @safe auto src_path_info() { + return spinePathsSRC!()(_manifest.env.pwd, _manifest.src.file_with_absolute_path); // would like (to have and use) relative path + } + @safe auto pod() { + return _manifest.pod; + } + @safe auto sqlite() { + struct SQLite_ { + @safe string filename() { + string _fn = ""; + string _pth = ""; + if (_opt_action.sqliteDB_filename.length > 0) { + _fn = _opt_action.sqliteDB_filename; + } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_filename.length > 0) { + _fn = _make_and_meta_struct.conf.w_srv_db_sqlite_filename; + } + return _fn; + } + @safe string path() { + string _pth = ""; + if (_opt_action.sqliteDB_path.length > 0) { + _pth = _opt_action.sqliteDB_path; + } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_path.length > 0) { + _pth = _make_and_meta_struct.conf.w_srv_db_sqlite_path; + } + return _pth; + } + @safe string cgi_filename() { + string _fn = ""; + if (_opt_action.cgi_sqlite_search_filename.length > 0) { + _fn = _opt_action.cgi_sqlite_search_filename; + } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script.length > 0) { + _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script; + } + return _fn; + } + @safe string cgi_filename_d() { + string _fn = ""; + if (_opt_action.cgi_sqlite_search_filename_d.length > 0) { + _fn = _opt_action.cgi_sqlite_search_filename_d; + } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d.length > 0) { + _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d; + } + return _fn; + } } - auto image_list() { - return _doc_has_struct.imagelist; + return SQLite_(); + } + @safe auto output_path() { + return _make_and_meta_struct.conf.output_path; + } + @safe auto srcs() { + struct SRC_ { + auto file_insert_list() { + return _header_body_insertfilelist_imagelist[headBody.insert_file_list]; + } + auto image_list() { + return _doc_has_struct.imagelist; + } } + return SRC_(); } - return SRC_(); - } } auto doc_matters = DocumentMatters(); if ((_opt_action.debug_do) |