aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/meta/metadoc_curate.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2024-04-10 22:24:34 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2024-04-10 23:08:18 -0400
commit90873fabd7451e1dd8c4b39303906e19bdc481f7 (patch)
tree2dbb0e41f3e9c761645c8b37dafe979a01d38d32 /src/sisudoc/meta/metadoc_curate.d
parent0.15.0 (diff)
0.16.0 sisudoc (src/sisudoc sisudoc spine)
- src/sisudoc (replaces src/doc_reform) - sisudoc spine (used more)
Diffstat (limited to 'src/sisudoc/meta/metadoc_curate.d')
-rw-r--r--src/sisudoc/meta/metadoc_curate.d92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/sisudoc/meta/metadoc_curate.d b/src/sisudoc/meta/metadoc_curate.d
new file mode 100644
index 0000000..3b5654b
--- /dev/null
+++ b/src/sisudoc/meta/metadoc_curate.d
@@ -0,0 +1,92 @@
+/+
+- 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_curate;
+@safe:
+template spineMetaDocCurate() {
+ auto spineMetaDocCurate(T,H)(
+ T doc_matters,
+ H hvst,
+ ) {
+ 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;
+ static auto mkup = InlineMarkup();
+ import sisudoc.io_out.paths_output;
+ auto pth_html_abs = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language);
+ auto pth_html_rel = spineDocRootTreeHTML!()(doc_matters.src.language);
+ hvst.curate.title = doc_matters.conf_make_meta.meta.title_full;
+ hvst.curate.author = doc_matters.conf_make_meta.meta.creator_author;
+ hvst.curate.author_surname = doc_matters.conf_make_meta.meta.creator_author_surname;
+ hvst.curate.author_surname_fn = doc_matters.conf_make_meta.meta.creator_author_surname_fn;
+ hvst.curate.author_arr = doc_matters.conf_make_meta.meta.creator_author_arr;
+ hvst.curate.language_original = doc_matters.conf_make_meta.meta.original_language;
+ hvst.curate.language = doc_matters.src.language;
+ hvst.curate.uid = doc_matters.src.doc_uid;
+ hvst.curate.date_published = doc_matters.conf_make_meta.meta.date_published;
+ hvst.curate.topic_register_arr = doc_matters.conf_make_meta.meta.classify_topic_register_arr;
+ hvst.curate.path_html_metadata = pth_html_rel.fn_metadata(doc_matters.src.filename);
+ hvst.curate.path_html_scroll = pth_html_rel.fn_scroll(doc_matters.src.filename);
+ hvst.curate.path_html_segtoc = pth_html_rel.fn_seg(doc_matters.src.filename, "toc");
+ hvst.curate.path_abs_html_scroll = pth_html_abs.fn_scroll(doc_matters.src.filename);
+ hvst.curate.path_abs_html_segtoc = pth_html_abs.fn_seg(doc_matters.src.filename, "toc");
+ return hvst.curate;
+ }
+}