aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/meta/conf_make_meta_structs.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/meta/conf_make_meta_structs.d')
-rw-r--r--src/doc_reform/meta/conf_make_meta_structs.d316
1 files changed, 0 insertions, 316 deletions
diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d
deleted file mode 100644
index b80bb45..0000000
--- a/src/doc_reform/meta/conf_make_meta_structs.d
+++ /dev/null
@@ -1,316 +0,0 @@
-/+
-- 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 - 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 doc_reform.meta.conf_make_meta_structs;
-@safe:
-import
- std.exception,
- std.json,
- std.path,
- std.regex,
- std.stdio,
- std.string,
- std.typecons,
- std.utf,
- std.conv : to;
-import
- doc_reform.meta.defaults,
- doc_reform.meta.rgx_yaml,
- doc_reform.meta.rgx;
-mixin spineRgxIn;
-static auto rgx = RgxI();
-mixin spineRgxYamlTags;
-static auto rgx_y = RgxYaml();
-mixin InternalMarkup;
-static auto mkup = InlineMarkup();
-string url_markup(string line) {
- string line_ = line
- .replaceAll(
- rgx.smid_inline_link_markup_regular,
- ("$1"
- ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
- ~ mkup.url_o ~ "$3" ~ mkup.url_c
- ) // ("$1{ $2 }$3$4")
- )
- .replaceAll(
- rgx.smid_inline_link_naked_url,
- ("$1"
- ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
- ~ mkup.url_o ~ "$2" ~ mkup.url_c
- ) // ("$1{ $2 }$2$3")
- )
- .replaceAll(
- rgx.arr_delimiter,
- mkup.br_line
- );
- return line_;
-}
-struct ConfCompositeMakeStr {
- string doc_type = "book"; // book, article
- string breaks;
- string bold;
- string cover_image;
- string css;
- string emphasis;
- string[] footer;
- string[] headings;
- string[] home_button_image;
- string home_button_text = "┥Spine, Doc Reform┝┤https://www.doc-reform.org├"
- ~ " ┥www.doc-reform.org┝┤https://www.doc-reform.org├"
- ~ " ┥sources / git┝┤https://git.doc-reform.org/software/spine├";
- string italics;
- string auto_num_top_at_level;
- int auto_num_top_lv = 9;
- int auto_num_depth = 2;
- string[][] substitute;
- string texpdf_font;
-}
-@trusted struct confCompositeMakeBuild {
- string[] bold(string _mk) {
- string[] _out;
- if (_mk) {
- _out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "*{$1}*", "<b>$1</b>"];
- }
- return _out;
- }
- string doc_type(string _mk) {
- return _mk;
- }
- string breaks(string _mk) {
- return _mk;
- }
- string cover_image(string _mk) {
- return _mk;
- }
- string css(string _mk) {
- return _mk;
- }
- string[] emphasis(string _mk) {
- string[] _out;
- if (_mk) {
- _out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "!{$1}!", "<em>$1</em>" ];
- }
- return _out;
- }
- string[] footer(string[] _mk) {
- string line_;
- string[] _mk2;
- foreach (line; _mk) {
- _mk2 ~= url_markup(line);
- }
- return _mk2;
- }
- string[] headings(string[] _mk) {
- return _mk;
- }
- string[] home_button_image(string[] _mk) {
- return _mk;
- }
- string home_button_text(string _mk) {
- return url_markup(_mk);
- }
- string[] italics(string _mk) {
- string[] _out;
- if (_mk) {
- _out = [ (cast(string) (`(` ~ _mk.dup ~ `)`)), "/{$1}/", "<i>$1</i>" ];
- }
- return _out;
- }
- string auto_num_top_at_level(string _mk) {
- return _mk;
- }
- int auto_num_top_lv(int _mk) {
- return _mk;
- }
- int auto_num_depth(int _mk) {
- return _mk;
- }
- string[][] substitute(string[][] _mk) {
- return _mk;
- }
- string texpdf_font(string _mk) {
- return _mk;
- }
-}
-struct ConfCompositeMakeInit {
- string doc_type;
- string breaks;
- string cover_image;
- string css;
- string[] bold;
- string[] emphasis;
- string[] footer;
- string[] headings;
- string[] home_button_image;
- string home_button_text = "┥Spine, Doc Reform┝┤https://www.doc-reform.org├"
- ~ " ┥www.doc-reform.org┝┤https://www.doc-reform.org├"
- ~ " ┥sources / git┝┤https://git.doc-reform.org/software/spine├";
- string[] italics;
- string auto_num_top_at_level;
- int auto_num_top_lv = 9;
- int auto_num_depth = 2;
- string[][] substitute;
- string texpdf_font;
-}
-struct ConfCompositeSiteLocal {
- string w_srv_http;
- string w_srv_host;
- string w_srv_data_http; // if not set same as webserv_http
- string w_srv_data_host; // if not set same as webserv_host
- string w_srv_data_root_part;
- string w_srv_data_root_url;
- string w_srv_data_root_url_html;
- string w_srv_data_root_path;
- string w_srv_images_root_part;
- // string w_srv_url_doc_path;
- string w_srv_cgi_search_form_title;
- string w_srv_cgi_http; // if not set same as webserv_http
- string w_srv_cgi_host; // if not set same as webserv_host
- string w_srv_cgi_bin_subpath;
- string w_srv_cgi_bin_path;
- string w_srv_cgi_search_script;
- string w_srv_cgi_search_script_raw_fn_d;
- string w_srv_cgi_port;
- string w_srv_cgi_user;
- string w_srv_cgi_action;
- string w_srv_cgi_bin_url;
- string w_srv_db_sqlite_filename;
- string w_srv_db_sqlite_path;
- // string w_srv_db_pg;
- string w_srv_db_pg_table;
- string w_srv_db_pg_user;
- // string webserv_cgi_file_links;
- string output_path;
- string processing_path;
- string processing_dir;
- string processing_concord_max;
- string flag_act0;
- string flag_act1;
- string flag_act2;
- string flag_act3;
- string flag_act4;
- string flag_act5;
- string flag_act6;
- string flag_act7;
- string flag_act8;
- string flag_act9;
- string[] set_papersize;
- string set_text_wrap;
- string set_emphasis;
- string set_language;
- string set_digest;
- string permission_share_source;
- string search_flag;
- string search_action;
- string search_db;
- string search_title;
-}
-struct MetaComposite {
- string classify_dewey;
- string classify_keywords;
- string classify_loc;
- string classify_subject;
- string classify_topic_register;
- string[] classify_topic_register_arr;
- string[] classify_topic_register_expanded_arr; // experimental use in sqlite topics table
- string[] creator_author_arr;
- string creator_author;
- string creator_author_surname_fn;
- string creator_author_surname;
- string creator_author_email;
- string creator_illustrator;
- string creator_translator;
- string date_added_to_site;
- string date_available;
- string date_created;
- string date_issued;
- string date_modified;
- string date_published;
- string date_valid;
- string identifier_isbn;
- string identifier_oclc;
- string identifier_pg;
- string language_document;
- string language_document_char;
- string links;
- string notes_abstract;
- string notes_description;
- string notes_summary;
- string original_language;
- string original_language_char;
- string original_publisher;
- string original_source;
- string original_title;
- string publisher;
- string rights_copyright;
- string rights_copyright_audio;
- string rights_copyright_cover;
- string rights_copyright_illustrations;
- string rights_copyright_photographs;
- string rights_copyright_text;
- string rights_copyright_translation;
- string rights_copyright_video;
- string rights_license;
- string title_edition;
- string title_full;
- string title_language;
- string title_main;
- string title_note;
- string title_short;
- string title_sub;
- string title_subtitle;
-}
-struct ConfComposite {
- MetaComposite meta;
- ConfCompositeMakeInit make;
- ConfCompositeMakeStr make_str;
- ConfCompositeSiteLocal conf;
-}
-JSONValue config_jsonstr = `{
-}`;