diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/doc_reform/io_out/html_snippet.d | 86 | ||||
-rw-r--r-- | src/doc_reform/io_out/latex.d | 26 | ||||
-rw-r--r-- | src/doc_reform/io_out/odt.d | 16 | ||||
-rw-r--r-- | src/doc_reform/io_out/paths_output.d | 3 | ||||
-rw-r--r-- | src/doc_reform/io_out/source_pod.d | 8 |
5 files changed, 134 insertions, 5 deletions
diff --git a/src/doc_reform/io_out/html_snippet.d b/src/doc_reform/io_out/html_snippet.d new file mode 100644 index 0000000..fea78a8 --- /dev/null +++ b/src/doc_reform/io_out/html_snippet.d @@ -0,0 +1,86 @@ +/+ +- 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 - 2023 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.io_out.html_snippet; +template htmlSnippet() { + import + std.file, + std.outbuffer, + std.format, + std.uri, + std.conv : to; + import + doc_reform.io_out.rgx, + doc_reform.meta.rgx_files, + doc_reform.io_out.rgx_xhtml; + auto format_html_blank_page_guide_home()( + string css_style, + string home_url, + string collection_home_path + ) { + auto html_blank_default = format(q"┃<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/plain; charset=UTF-8" /> + <link href="%s" rel="stylesheet" /> + </head> + <body> + <p class="heading"> + <a href="%s">⟰ </a> + <a href="%s"> ≅ </a> + </p> + </body> +</html>┃", + css_style, + home_url, + collection_home_path + ); + return html_blank_default; + } +} diff --git a/src/doc_reform/io_out/latex.d b/src/doc_reform/io_out/latex.d index 231d0c5..b09eec8 100644 --- a/src/doc_reform/io_out/latex.d +++ b/src/doc_reform/io_out/latex.d @@ -1363,8 +1363,14 @@ template outputLaTeX() { } } if (!exists(pth_latex.latex_path_stuff ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; auto f = File(pth_latex.latex_path_stuff ~"/index.html", "w"); - f.writeln(""); + f.writeln(format_html_blank_page_guide_home( + "../../css/html_scroll.css", + "https://sisudoc.org", + "../../index.html", + )); } } catch (ErrnoException ex) { // handle error @@ -1409,9 +1415,25 @@ template outputLaTeXstyInit() { auto f = File(pth_latex.latex_document_header_sty(filename), "w"); f.writeln(latex_sty); } + if (!exists(pth_latex.base ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; + auto f = File(pth_latex.base ~"/index.html", "w"); + f.writeln(format_html_blank_page_guide_home( + "../css/html_scroll.css", + "https://sisudoc.org", + "../index.html", + )); + } if (!exists(pth_latex.base_sty ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; auto f = File(pth_latex.base_sty ~"/index.html", "w"); - f.writeln(""); + f.writeln(format_html_blank_page_guide_home( + "../../css/html_scroll.css", + "https://sisudoc.org", + "../../index.html", + )); } } catch (ErrnoException ex) { // handle error diff --git a/src/doc_reform/io_out/odt.d b/src/doc_reform/io_out/odt.d index df52149..f4a5c49 100644 --- a/src/doc_reform/io_out/odt.d +++ b/src/doc_reform/io_out/odt.d @@ -1000,8 +1000,14 @@ template outputODT() { pth_odt.base_pth.mkdirRecurse; } if (!exists(pth_odt.base_pth ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; auto f = File(pth_odt.base_pth ~"/index.html", "w"); - f.writeln(""); + f.writeln(format_html_blank_page_guide_home( + "../../css/html_scroll.css", + "https://sisudoc.org", + "../../index.html", + )); } // return 0; } @@ -2099,8 +2105,14 @@ template outputODT() { } } if (!exists(pth_odt.base_pth ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; auto f = File(pth_odt.base_pth ~"/index.html", "w"); - f.writeln(""); + f.writeln(format_html_blank_page_guide_home( + "../../css/html_scroll.css", + "https://sisudoc.org", + "../../index.html", + )); } } catch (ErrnoException ex) { // Handle error diff --git a/src/doc_reform/io_out/paths_output.d b/src/doc_reform/io_out/paths_output.d index dc35618..b9da41d 100644 --- a/src/doc_reform/io_out/paths_output.d +++ b/src/doc_reform/io_out/paths_output.d @@ -602,6 +602,9 @@ template spinePathsLaTeXsty() { auto out_pth() { return spineOutPaths!()(output_dir); } + string base() { + return (((out_pth.output_root).chainPath("latex")).asNormalizedPath).array; + } string base_sty() { return (((out_pth.output_root).chainPath("latex").chainPath("sty")).asNormalizedPath).array; } diff --git a/src/doc_reform/io_out/source_pod.d b/src/doc_reform/io_out/source_pod.d index f61721c..23017ff 100644 --- a/src/doc_reform/io_out/source_pod.d +++ b/src/doc_reform/io_out/source_pod.d @@ -129,8 +129,14 @@ template spinePod() { } } if (!exists(pths_pod.pod_dir_() ~ "/index.html")) { + import doc_reform.io_out.html_snippet; + mixin htmlSnippet; auto f = File(pths_pod.pod_dir_() ~"/index.html", "w"); - f.writeln(""); + f.writeln(format_html_blank_page_guide_home( + "../../css/html_scroll.css", + "https://sisudoc.org", + "../../index.html", + )); } if (doc_matters.opt.action.debug_do_pod && doc_matters.opt.action.vox_gt1) { |