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) { | 
