diff options
Diffstat (limited to 'src/doc_reform/io_out')
-rw-r--r-- | src/doc_reform/io_out/metadata.d | 11 | ||||
-rw-r--r-- | src/doc_reform/io_out/paths_output.d | 24 | ||||
-rw-r--r-- | src/doc_reform/io_out/xmls.d | 21 |
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\">" ~ " ▤ html seg </a>]" ~ "[<a href=\"../../" ~ pth_epub.internal_base ~ "/" ~ doc_matters.src.filename_base ~ "." ~ doc_matters.src.language ~ ".epub\">" - ~ " ◆ epub </a>]</p>"; + ~ " ◆ epub </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\">" + ~ " □ a4 pdf </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"> ≅ </a>|<a href="%s"> %s </a>|<a href="%sepub/%s.%s.epub"> ◆ </a>|<a href="%smetadata.%s.html"> m </a>|<a href="%s../../authors.html"> A </a>|<a href="%s../../topics.html"> T </a>]</p>┃", + ? format(q"┃<p class="small">[<a href="%s"> ≅ </a>|<a href="%s"> %s </a>|<a href="%sepub/%s.%s.epub"> ◆ </a>|%s<a href="%smetadata.%s.html"> m </a>|<a href="%s../../authors.html"> A </a>|<a href="%s../../topics.html"> T </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\"> □ </a>|") + : "", (type == "seg") ? "../" : "", doc_matters.src.filename_base, (type == "seg") ? "../" : "", |