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/metadata.d11
-rw-r--r--src/doc_reform/io_out/paths_output.d24
-rw-r--r--src/doc_reform/io_out/xmls.d21
3 files changed, 49 insertions, 7 deletions
diff --git a/src/doc_reform/io_out/metadata.d b/src/doc_reform/io_out/metadata.d
index 9d6d57a..e3c04c1 100644
--- a/src/doc_reform/io_out/metadata.d
+++ b/src/doc_reform/io_out/metadata.d
@@ -344,6 +344,7 @@ string theme_light_1 = format(q"┃
}
auto pth_html = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language);
auto pth_epub = spinePathsEPUB!()(doc_matters.output_path, doc_matters.src.language);
+ auto pth_pdf = spinePathsPDF!()(doc_matters);
auto pth_pod = spinePathsPods!()(doc_matters);
metadata_ ~= format(q"┃<body lang="en" xml:lang="en">
<a name="top" id="top"></a>
@@ -403,7 +404,15 @@ string theme_light_1 = format(q"┃
~ "[<a href=\"" ~ doc_matters.src.filename_base ~ "/toc.html\">"
~ "&nbsp;▤&nbsp;html&nbsp;seg&nbsp;</a>]"
~ "[<a href=\"../../" ~ pth_epub.internal_base ~ "/" ~ doc_matters.src.filename_base ~ "." ~ doc_matters.src.language ~ ".epub\">"
- ~ "&nbsp;◆&nbsp;epub&nbsp;</a>]</p>";
+ ~ "&nbsp;◆&nbsp;epub&nbsp;</a>]";
+ if (doc_matters.opt.action.html_pdf_link) {
+ metadata_ ~= "[<a href=\"../../pdf/"
+ ~ doc_matters.src.filename_base
+ ~ "." ~ doc_matters.src.language ~ ".a4.portrait.pdf\">"
+ ~ "&nbsp;□&nbsp;a4&nbsp;pdf&nbsp;</a>]</p>";
+ } else {
+ metadata_ ~= "</p>";
+ }
if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {
metadata_ ~= "<hr /><p class=\"lev0\">Topics:</p>";
string[] _top = ["", "", "", "", ""];
diff --git a/src/doc_reform/io_out/paths_output.d b/src/doc_reform/io_out/paths_output.d
index a6a1a9b..fc31711 100644
--- a/src/doc_reform/io_out/paths_output.d
+++ b/src/doc_reform/io_out/paths_output.d
@@ -540,6 +540,30 @@ template spinePathsODT() {
return _PathsStruct();
}
}
+template spinePathsPDF() {
+ mixin spineRgxIn;
+ static auto rgx = RgxI();
+ auto spinePathsPDF(M)(
+ M doc_matters,
+ ) {
+ struct _PathsStruct {
+ string base_filename(string fn_src) {
+ return fn_src.baseName.stripExtension;
+ }
+ auto out_pth() {
+ string output_dir = doc_matters.output_path ~ "/pdf";
+ return spineOutPaths!()(output_dir);
+ }
+ string base() {
+ return (((out_pth.output_root).chainPath("pdf")).asNormalizedPath).array;
+ }
+ string pdf_path_stuff() {
+ return ((base.chainPath(base_filename(doc_matters.src.filename))).asNormalizedPath).array;
+ }
+ }
+ return _PathsStruct();
+ }
+}
template spinePathsLaTeX() {
mixin spineRgxIn;
static auto rgx = RgxI();
diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d
index 62d8842..d7d3436 100644
--- a/src/doc_reform/io_out/xmls.d
+++ b/src/doc_reform/io_out/xmls.d
@@ -290,18 +290,27 @@ template outputXHTMLs() {
) {
string o;
string metadata_links = ((doc_matters.opt.action.html_curate_link)
- ? format(q"┃<p class="small">[<a href="%s">&nbsp;≅&nbsp;</a>|<a href="%s">&nbsp;%s&nbsp;</a>|<a href="%sepub/%s.%s.epub">&nbsp;◆&nbsp;</a>|<a href="%smetadata.%s.html">&nbsp;m&nbsp;</a>|<a href="%s../../authors.html">&nbsp;A&nbsp;</a>|<a href="%s../../topics.html">&nbsp;T&nbsp;</a>]</p>┃",
+ ? format(q"┃<p class="small">[<a href="%s">&nbsp;≅&nbsp;</a>|<a href="%s">&nbsp;%s&nbsp;</a>|<a href="%sepub/%s.%s.epub">&nbsp;◆&nbsp;</a>|%s<a href="%smetadata.%s.html">&nbsp;m&nbsp;</a>|<a href="%s../../authors.html">&nbsp;A&nbsp;</a>|<a href="%s../../topics.html">&nbsp;T&nbsp;</a>]</p>┃",
(doc_matters.opt.action.webserver_url_doc_root.length > 0)
- ? doc_matters.opt.action.webserver_url_doc_root
- : doc_matters.conf_make_meta.conf.w_srv_data_root_url
- , // HOME index.html equivalent _cfg.www_url_doc_root,
+ ? doc_matters.opt.action.webserver_url_doc_root
+ : doc_matters.conf_make_meta.conf.w_srv_data_root_url
+ , // HOME index.html equivalent _cfg.www_url_doc_root,
(type == "seg")
- ? "../" ~ doc_matters.src.filename_base ~ ".html"
- : "./" ~ doc_matters.src.filename_base ~ "/toc.html",
+ ? "../" ~ doc_matters.src.filename_base ~ ".html"
+ : "./" ~ doc_matters.src.filename_base ~ "/toc.html",
(type == "seg") ? "▣" : "▤", // ■ □ ▢ ▣ ▤ ▥ ▦ ▧ ▨ 〓
(type == "seg") ? "../../" : "../",
doc_matters.src.filename_base,
doc_matters.src.lng,
+ (doc_matters.opt.action.html_pdf_link)
+ ? ("<a href=\""
+ ~ ((type == "seg") ? "../../../" : "../../")
+ ~ "pdf/"
+ ~ doc_matters.src.filename_base
+ ~ "."
+ ~ doc_matters.src.lng
+ ~ ".a4.portrait.pdf\">&nbsp;□&nbsp;</a>|")
+ : "",
(type == "seg") ? "../" : "",
doc_matters.src.filename_base,
(type == "seg") ? "../" : "",