aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2022-05-25 16:31:55 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2022-05-27 15:33:38 -0400
commit2eff2b6306cc5db64fa444ae070849ec547f038a (patch)
treed055e971cfdc6e36a296a6d20b3d1fea5747501f /src
parentsub dependency update, updates D-YAML (diff)
pdf output links, should user choose to have it
Diffstat (limited to 'src')
-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
-rwxr-xr-xsrc/doc_reform/spine.d5
4 files changed, 54 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") ? "../" : "",
diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d
index 06b483c..6d1a133 100755
--- a/src/doc_reform/spine.d
+++ b/src/doc_reform/spine.d
@@ -136,6 +136,7 @@ string program_name = "spine";
"curate-topics" : false,
"html" : false,
"html-link-curate" : false,
+ "html-link-pdf" : false,
"html-link-search" : false,
"html-seg" : false,
"html-scroll" : false,
@@ -237,6 +238,7 @@ string program_name = "spine";
"hide-ocn", "object cite numbers", &opts["hide-ocn"],
"html", "process html output", &opts["html"],
"html-link-curate", "place links back to curate in segmented html", &opts["html-link-curate"],
+ "html-link-pdf", "provide a link to pdf a4 output", &opts["html-link-pdf"],
"html-link-search", "html embedded search submission", &opts["html-link-search"],
"html-seg", "process html output", &opts["html-seg"],
"html-scroll", "process html output", &opts["html-scroll"],
@@ -408,6 +410,9 @@ string program_name = "spine";
@trusted bool html_curate_link() {
return (opts["html-link-curate"]) ? true : false;
}
+ @trusted bool html_pdf_link() {
+ return (opts["html-link-pdf"]) ? true : false;
+ }
@trusted bool html_search_link() {
return (opts["html-link-search"]) ? true : false;
}