diff options
Diffstat (limited to 'src/sisudoc/io_out/curate/metadoc_curate.d')
| -rw-r--r-- | src/sisudoc/io_out/curate/metadoc_curate.d | 90 |
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; + } +} |
