/+ - 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.doc_reform.org] [https://www.sisudoc.org] - Git [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary] +/ module doc_reform.meta.metadoc_curate; template spineMetaDocCurate() { @safe auto spineMetaDocCurate(T,H)( T doc_matters, H hvst, ) { import doc_reform.meta.defaults, doc_reform.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 doc_reform.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; } }