aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/io_out
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/io_out')
-rw-r--r--src/doc_reform/io_out/html_snippet.d86
-rw-r--r--src/doc_reform/io_out/latex.d26
-rw-r--r--src/doc_reform/io_out/odt.d16
-rw-r--r--src/doc_reform/io_out/paths_output.d3
-rw-r--r--src/doc_reform/io_out/source_pod.d8
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">⟰&nbsp;</a>&nbsp;
+ <a href="%s">&nbsp;≅&nbsp;</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) {