diff options
Diffstat (limited to 'src/sisudoc/io_out/metadata.d')
-rw-r--r-- | src/sisudoc/io_out/metadata.d | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/src/sisudoc/io_out/metadata.d b/src/sisudoc/io_out/metadata.d index 59329e7..95fc465 100644 --- a/src/sisudoc/io_out/metadata.d +++ b/src/sisudoc/io_out/metadata.d @@ -48,9 +48,9 @@ +/ module sisudoc.io_out.metadata; -@safe: +// @safe: template outputMetadata() { - void outputMetadata(T)( T doc_matters) { + void outputMetadata(T)(T doc_matters) { string inline_search_form(M)( M doc_matters, ) { @@ -475,13 +475,6 @@ string theme_light_1 = format(q"┃ } else if (doc_matters.opt.action.debug_do) { writeln("WARNING no summary of text provided in document header ", doc_matters.src.filename_base); } - metadata_ ~= "<hr /><p class=\"lev1\">source: " ~ doc_matters.src.filename_base ~ "</p>"; - if (doc_matters.opt.action.html_link_markup_source) { - metadata_ ~= "<p class=\"lev1\">● markup source: the pod [<a href=\"../../" ~ pth_pod.internal_base ~ "/" ~ doc_matters.src.filename_base ~ ".zip\" class=\"lnkicon\">" - ~ " 🫛 zipped </a>| " - ~ "<a href=\"../../" ~ pth_pod.internal_base ~ "/" ~ doc_matters.src.filename_base ~ "/\" class=\"lnkicon\">" - ~ " 🫛 tree </a>] "; - } metadata_ ~= "<p class=\"lev1\">● outputs: [ html: <a href=\"" ~ doc_matters.src.filename_base ~ ".html\" class=\"lnkicon\">" ~ " ▤ scroll </a> " ~ "|<a href=\"" ~ doc_matters.src.filename_base ~ "/toc.html\" class=\"lnkicon\">" @@ -509,18 +502,32 @@ string theme_light_1 = format(q"┃ ~ " □ pdf (U.S. letter) </a>] "; } metadata_ ~= "</p>"; - metadata_ ~= "<hr /><p class=\"lev0\">Digests:</p>"; - metadata_ ~= "<p class=\"lev1\"><tt>" + if (doc_matters.opt.action.html_link_markup_source) { + metadata_ ~= "<hr /><p class=\"lev1\">source: " ~ doc_matters.src.filename_base ~ "</p>"; + metadata_ ~= "<p class=\"lev1\">● markup source: the pod [<a href=\"../../" ~ pth_pod.internal_base ~ "/" ~ doc_matters.src.filename_base ~ ".zip\" class=\"lnkicon\">" + ~ " 🫛 zipped </a>| " + ~ "<a href=\"../../" ~ pth_pod.internal_base ~ "/" ~ doc_matters.src.filename_base ~ "/\" class=\"lnkicon\">" + ~ " 🫛 tree </a>] "; + metadata_ ~= "<p class=\"lev1\">● source digests:" + ~ " [ <a href=\"../../" ~ pth_pod.internal_base ~ "/" ~ doc_matters.src.filename_base ~ ".digests.txt\" class=\"lnkizipcon\">" + ~ " # digests </a>]</p>"; + auto pths_pod = spinePathsPods!()(doc_matters); + auto fn_pod = pths_pod.pod_filename(doc_matters.src.filename).zpod; + if (doc_matters.opt.action.pod) { + try { // get sha digest for pod + metadata_ ~= "<p class=\"lev2\">"; + auto data = (cast(byte[]) (fn_pod).read); // prevents code from being safe + metadata_ ~= "<tt>" ~ data.sha256Of.toHexString ~ "::" ~ data.length.to!string ~ "</tt> - " ~ doc_matters.src.filename_base ~ ".zip"; + metadata_ ~= "</p>"; + } catch (Exception ex) { + writeln("WARNING, source doc_matters.src.filename_base not found: ", doc_matters.src.filename_base, ".zip\n ", fn_pod); + } + } + } + metadata_ ~= "<p class=\"lev2\"><tt>" ~ doc_matters.doc_digest.markup_doc.toHexString - ~ "</tt> - src doc digest" - ~ "</p>" - ~ "<p class=\"lev1\"><tt>" - ~ doc_matters.doc_digest.header.toHexString - ~ "</tt> - doc header" - ~ "</p>" - ~ "<p class=\"lev1\"><tt>" - ~ doc_matters.doc_digest.text.toHexString - ~ "</tt> - doc text" + ~ "</tt> - " + ~ doc_matters.src.filename ~ "</p>"; if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) { metadata_ ~= "<hr /><p class=\"lev0\">Topics:</p>"; |