diff options
Diffstat (limited to 'org/out_xmls.org')
-rw-r--r-- | org/out_xmls.org | 165 |
1 files changed, 82 insertions, 83 deletions
diff --git a/org/out_xmls.org b/org/out_xmls.org index ed3c92a..b5107f2 100644 --- a/org/out_xmls.org +++ b/org/out_xmls.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:xml: #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] -#+COPYRIGHT: Copyright (C) 2015 - 2019 Ralph Amissah +#+COPYRIGHT: Copyright (C) 2015 - 2020 Ralph Amissah #+LANGUAGE: en -#+STARTUP: indent content hideblocks hidestars -#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t -#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc -#+OPTIONS: author:nil email:nil creator:nil timestamp:nil -#+PROPERTY: header-args :padline no :exports code :cache no :noweb yes -#+EXPORT_SELECT_TAGS: export -#+EXPORT_EXCLUDE_TAGS: noexport -#+TAGS: assert(a) class(c) debug(d) mixin(m) spine(s) tangle(T) template(t) WEB(W) noexport(n) +#+STARTUP: content hideblocks hidestars noindent entitiespretty +#+PROPERTY: header-args :exports code +#+PROPERTY: header-args+ :noweb yes +#+PROPERTY: header-args+ :eval no +#+PROPERTY: header-args+ :results no +#+PROPERTY: header-args+ :cache no +#+PROPERTY: header-args+ :padline no - [[./spine.org][spine]] [[./][org/]] - [[./output_hub.org][output_hub]] @@ -37,7 +36,7 @@ template outputXHTMLs() { *** output imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import doc_reform.io_out; import @@ -56,7 +55,7 @@ import *** misc **** div delimiter -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string div_delimit( string part, @@ -92,7 +91,7 @@ import **** special characters text -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string special_characters_text(string _txt) { _txt = _txt @@ -107,7 +106,7 @@ import **** special characters -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string special_characters(O)( const O obj, @@ -123,7 +122,7 @@ import **** font_face -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string font_face(string _txt) { _txt = _txt @@ -143,7 +142,7 @@ import **** anchor tags -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string _xhtml_anchor_tags(O)(O obj) { const(string[]) anchor_tags = obj.tags.anchor_tags; @@ -162,7 +161,7 @@ import **** doc head & tails ***** metadata -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string header_metadata(M)( M doc_matters, @@ -205,7 +204,7 @@ import ***** site info button -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string site_info_button(M)( M doc_matters, @@ -235,7 +234,7 @@ import ***** search form -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string inline_search_form(M)( M doc_matters, @@ -272,7 +271,7 @@ import ***** html head & head banner -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string html_head(M)( M doc_matters, @@ -328,7 +327,7 @@ import ***** epub seg head -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string epub3_seg_head(M)( M doc_matters, @@ -402,7 +401,7 @@ import ***** xhtml tail -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string tail() { string o; @@ -418,7 +417,7 @@ import *** inline markup **** images -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string inline_images(O,M)( string _txt, @@ -451,7 +450,7 @@ import **** links ***** scroll, seg, epub -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string inline_links(O,M)( string _txt, @@ -549,7 +548,7 @@ import **** notes ***** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string inline_notes_scroll(O,M)( string _txt, @@ -586,7 +585,7 @@ import ***** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) inline_notes_seg(O,M)( string _txt, @@ -657,7 +656,7 @@ import **** inline markup ***** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string inline_markup_scroll(O,M)( string _txt, @@ -679,7 +678,7 @@ import ***** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe auto inline_markup_seg(O,M)( string _txt, @@ -706,7 +705,7 @@ import *** toc **** subtoc -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string lev4_heading_subtoc(O,M)( const O obj, @@ -739,7 +738,7 @@ import **** navigation pre next svg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe auto nav_pre_next_svg(O,M)( const O obj, @@ -822,7 +821,7 @@ import *** heading **** heading -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string heading(O,M)( string _txt, @@ -893,7 +892,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string heading_scroll(O,M)( string _txt, @@ -909,7 +908,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) heading_seg(O,M)( string _txt, @@ -933,7 +932,7 @@ import *** para **** para -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string para(O,M)( string _txt, @@ -989,7 +988,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string para_scroll(O,M)( string _txt, @@ -1008,7 +1007,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) para_seg(O,M)( string _txt, @@ -1032,7 +1031,7 @@ import *** quote **** quote -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string quote(O,M)( string _txt, @@ -1074,7 +1073,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string quote_scroll(O,M)( string _txt, @@ -1090,7 +1089,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) quote_seg(O,M)( string _txt, @@ -1114,7 +1113,7 @@ import *** group **** group -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string group(O,M)( string _txt, @@ -1156,7 +1155,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string group_scroll(O,M)( string _txt, @@ -1173,7 +1172,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) group_seg(O,M)( string _txt, @@ -1197,7 +1196,7 @@ import *** block **** block -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string block(O,M)( string _txt, @@ -1235,7 +1234,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string block_scroll(O,M)( string _txt, @@ -1252,7 +1251,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) block_seg(O,M)( string _txt, @@ -1276,7 +1275,7 @@ import *** poem verse **** verse -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string verse(O,M)( string _txt, @@ -1314,7 +1313,7 @@ import **** scroll -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string verse_scroll(O,M)( string _txt, @@ -1331,7 +1330,7 @@ import **** seg -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string[]) verse_seg(O,M)( string _txt, @@ -1354,7 +1353,7 @@ import *** code -#+name: xhtml_format_objects_code +#+NAME: xhtml_format_objects_code #+BEGIN_SRC d @safe string code(O,M)( string _txt, @@ -1426,7 +1425,7 @@ align="left|right|center" "style=\"text-align:" ~ "right\"" -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe Tuple!(string, string) tablarize(O)( string _txt, @@ -1465,7 +1464,7 @@ align="left|right|center" **** table -#+name: xhtml_format_objects +#+NAME: xhtml_format_objects #+BEGIN_SRC d @safe string table(O,M)( string _txt, @@ -1521,7 +1520,7 @@ template outputHTML() { ** scroll :scroll: *** ↻ loop & switch (sections & objects) format html output -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d @safe void scroll(D,M)( const D doc_abstraction, @@ -1539,7 +1538,7 @@ template outputHTML() { **** ↻ the loops & outer switch (sections & objects) format output -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d foreach (part; doc_matters.has.keys_seq.scroll) { foreach (obj; doc_abstraction[part]) { @@ -1550,7 +1549,7 @@ template outputHTML() { ***** frontmatter -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d case "frontmatter": assert(part == "head" || "toc"); switch (obj.metainfo.is_of_type) { @@ -1586,7 +1585,7 @@ template outputHTML() { ***** body -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d case "body": assert(part == "body" || "head"); switch (obj.metainfo.is_of_type) { @@ -1654,7 +1653,7 @@ template outputHTML() { ***** backmatter -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d case "backmatter": assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -1715,7 +1714,7 @@ template outputHTML() { ***** closings & post loop -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d } } @@ -1727,7 +1726,7 @@ template outputHTML() { *** write output file -#+name: output_html_scroll +#+NAME: output_html_scroll #+BEGIN_SRC d @trusted void scroll_write_output(D,M)( D doc, @@ -1757,7 +1756,7 @@ template outputHTML() { ** seg :seg: *** ↻ loop & switch (sections & objects) format html output -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d @safe void seg(D,M)( const D doc_abstraction, @@ -1779,7 +1778,7 @@ template outputHTML() { **** ↻ the loop (sections & objects) format output -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d foreach (part; doc_matters.has.keys_seq.seg) { foreach (obj; doc_abstraction[part]) { @@ -1789,7 +1788,7 @@ template outputHTML() { ***** all headings -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d if (obj.metainfo.is_a == "heading") { assert(part == "head" || "toc" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -1862,7 +1861,7 @@ template outputHTML() { ***** non-heading -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d } else { assert(part == "head" || "toc" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -1871,7 +1870,7 @@ template outputHTML() { ****** frontmatter -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d case "frontmatter": assert(part == "head" || "toc"); switch (obj.metainfo.is_of_type) { @@ -1905,7 +1904,7 @@ template outputHTML() { ****** body -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d case "body": assert(part == "body"); switch (obj.metainfo.is_of_type) { @@ -1981,7 +1980,7 @@ template outputHTML() { ****** backmatter -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d case "backmatter": assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -2047,7 +2046,7 @@ template outputHTML() { ***** closings & post loop -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d } } @@ -2058,7 +2057,7 @@ template outputHTML() { *** write output files -#+name: output_html_seg +#+NAME: output_html_seg #+BEGIN_SRC d @trusted void seg_write_output(D,E,M)( // @system? D doc_html, @@ -2098,7 +2097,7 @@ template outputHTML() { ** css :css: -#+name: output_html_css +#+NAME: output_html_css #+BEGIN_SRC d @safe void css(M)(M doc_matters) { auto css = spineCss(doc_matters); @@ -2119,7 +2118,7 @@ template outputHTML() { ** images :images: -#+name: copy_html_images +#+NAME: copy_html_images #+BEGIN_SRC d @trusted void images_cp(M)( // @system M doc_matters, @@ -2188,7 +2187,7 @@ template outputEPub3() { - mimetype file indicating that zip file contains an EPUB -#+name: output_epub3_fixed +#+NAME: output_epub3_fixed #+BEGIN_SRC d @safe string epub3_mimetypes() { string o; @@ -2201,7 +2200,7 @@ template outputEPub3() { - identifies the root package document (so systems can find it), [unchanged from epub2] -#+name: output_epub3_fixed +#+NAME: output_epub3_fixed #+BEGIN_SRC d @safe string epub3_container_xml() { string o; @@ -2223,7 +2222,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> - provides the default reading order - identifies the navigation document -#+name: output_epub3_constructs +#+NAME: output_epub3_constructs #+BEGIN_SRC d @safe string epub3_oebps_content(D,M,P)(D doc_abstraction, M doc_matters, P parts) { auto xhtml_format = outputXHTMLs(); @@ -2329,7 +2328,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> - toc_nav.xhtml declared as nav file in content.opf (epub3 navigation document) -#+name: output_epub3_constructs +#+NAME: output_epub3_constructs #+BEGIN_SRC d @safe string epub3_oebps_toc_nav_xhtml(D,I)(D doc_abstraction, I doc_matters) { enum DomTags { none, open, close, close_and_open, open_still, } @@ -2417,7 +2416,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> - toc.ncx (epub2 navigation document) - (replaced in epub3 by a declared xhtml nav file, in our case toc_nav.xhtml) -#+name: output_epub3_constructs +#+NAME: output_epub3_constructs #+BEGIN_SRC d @safe string epub2_oebps_toc_ncx(D,I)(D doc_abstraction, I doc_matters) { int counter = 0; @@ -2513,7 +2512,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ** the document contents :seg: *** ↻ loop & switch (sections & objects) format epub3 xhtml output -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d @system void outputEPub3(D,I)( const D doc_abstraction, @@ -2544,7 +2543,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> **** ↻ the loop (sections & objects) format output -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d foreach (part; doc_matters.has.keys_seq.seg) { foreach (obj; doc_abstraction[part]) { @@ -2553,7 +2552,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ***** all headings -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d if (obj.metainfo.is_a == "heading") { assert(part == "head" || "toc" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -2622,7 +2621,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ***** non-heading -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d } else { assert(part == "head" || "toc" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -2631,7 +2630,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ****** frontmatter -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d case "frontmatter": assert(part == "head" || "toc"); switch (obj.metainfo.is_of_type) { @@ -2666,7 +2665,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ****** body -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d case "body": assert(part == "body"); switch (obj.metainfo.is_of_type) { @@ -2742,7 +2741,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ****** backmatter -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d case "backmatter": assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -2853,7 +2852,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ***** closings & post loop -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d } } @@ -2870,7 +2869,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ** write output files :write:zip: -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d @system void epub3_write_output_files(W,M)( W epub_write, @@ -3066,7 +3065,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> ** zip debug, read zip archive :zip: -#+name: output_epub3_xhtml_seg +#+NAME: output_epub3_xhtml_seg #+BEGIN_SRC d debug(epub_archive) { if (exists(fn_epub)) { |