aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/io_out/curate/metadoc_curate.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/io_out/curate/metadoc_curate.d')
-rw-r--r--src/sisudoc/io_out/curate/metadoc_curate.d90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/sisudoc/io_out/curate/metadoc_curate.d b/src/sisudoc/io_out/curate/metadoc_curate.d
new file mode 100644
index 0000000..8e87167
--- /dev/null
+++ b/src/sisudoc/io_out/curate/metadoc_curate.d
@@ -0,0 +1,90 @@
+/+
+- 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 (continuously updated, current 2026) 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.io_out.curate.metadoc_curate;
+@safe:
+template spineMetaDocCurate() {
+ auto spineMetaDocCurate(T,H)(
+ T doc_matters,
+ H hvst,
+ ) {
+ import sisudoc.meta.defaults;
+ import sisudoc.meta.rgx;
+ import std.array;
+ import std.exception;
+ import std.regex;
+ import std.stdio;
+ import std.string;
+ import std.typecons;
+ import std.uni;
+ import std.utf;
+ import 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;
+ }
+}