aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
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 /org
parentsub dependency update, updates D-YAML (diff)
pdf output links, should user choose to have it
Diffstat (limited to 'org')
-rw-r--r--org/default_paths.org33
-rw-r--r--org/out_metadata.org11
-rw-r--r--org/out_xmls.org21
-rw-r--r--org/spine.org5
4 files changed, 62 insertions, 8 deletions
diff --git a/org/default_paths.org b/org/default_paths.org
index 7748ab8..0579408 100644
--- a/org/default_paths.org
+++ b/org/default_paths.org
@@ -989,6 +989,7 @@ import doc_reform.meta.rgx;
<<template_paths_html_2>>
<<template_paths_epub>>
<<template_paths_odf>>
+<<template_paths_pdf>>
<<template_paths_latex>>
<<template_paths_latex_sty>>
<<template_paths_sqlite_0>>
@@ -1609,7 +1610,37 @@ template spinePathsLaTeXsty() {
}
#+END_SRC
-** _sqlite_ :sqlite:
+** _pdf_ :pdf:
+
+#+NAME: template_paths_pdf
+#+BEGIN_SRC d
+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();
+ }
+}
+#+END_SRC
+
+** _sqlite_ :sqlite:
*** discrete
#+NAME: template_paths_sqlite_0
diff --git a/org/out_metadata.org b/org/out_metadata.org
index f0106d8..605c32e 100644
--- a/org/out_metadata.org
+++ b/org/out_metadata.org
@@ -79,6 +79,7 @@ if (doc_matters.opt.action.debug_do) {
}
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>
@@ -138,7 +139,15 @@ metadata_ ~= "<p class=\"lev1\">● outputs: [<a href=\"" ~ doc_matters.src.f
~ "[<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/org/out_xmls.org b/org/out_xmls.org
index fa2acc0..7f3f52a 100644
--- a/org/out_xmls.org
+++ b/org/out_xmls.org
@@ -404,18 +404,27 @@ import
) {
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/org/spine.org b/org/spine.org
index f8e34e3..52c0e6c 100644
--- a/org/spine.org
+++ b/org/spine.org
@@ -355,6 +355,7 @@ bool[string] opts = [
"curate-topics" : false,
"html" : false,
"html-link-curate" : false,
+ "html-link-pdf" : false,
"html-link-search" : false,
"html-seg" : false,
"html-scroll" : false,
@@ -470,6 +471,7 @@ auto helpInfo = getopt(args,
"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"],
@@ -648,6 +650,9 @@ struct OptActions {
@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;
}