diff options
33 files changed, 931 insertions, 935 deletions
@@ -5,7 +5,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah + - Copyright: (C) 2015 - 2020 Ralph Amissah - code under src/ - License: AGPL 3 or later: @@ -11,7 +11,7 @@ project_name: Spine, Doc Reform name: Ralph Amissah email: ralph.amissah@gmail.com - copyright: "(C) 2015 - 2019 Ralph Amissah, All Rights Reserved." + copyright: "(C) 2015 - 2020 Ralph Amissah, All Rights Reserved." license: "AGPL 3 or later" @@ -2,7 +2,7 @@ name "spine" description "sisu document parser" homepage "http://sisudoc.org" authors "Ralph Amissah" -copyright "Copyright (C) 2016 - 2019 Ralph Amissah" +copyright "Copyright (C) 2016 - 2020 Ralph Amissah" license "AGPL-3.0+" targetPath "./bin" #sourcePath "./src/doc_reform" @@ -13,7 +13,7 @@ PRG_DOCDIR=./docs EMACSLISP=/usr/share/emacs/site-lisp ORG_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-???????? | cut -d '-' -f2`) EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VER_AVAILABLE))) -ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-???????? | cut -d '-' -f2`) +ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-contrib-???????? | cut -d '-' -f2`) EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_CONTRIB_VER_AVAILABLE))) ORGFILELIST=$(shell echo `ls -1 org/*.org`) ORGFILES="" diff --git a/org/COPYRIGHT b/org/COPYRIGHT index 2010396..2217fc4 100644 --- a/org/COPYRIGHT +++ b/org/COPYRIGHT @@ -5,7 +5,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah + - Copyright: (C) 2015 - 2020 Ralph Amissah - Spine, Doc Reform (related to SiSU) uses standard: - docReform markup syntax diff --git a/org/compile_time_info.org b/org/compile_time_info.org index 8590b39..53470db 100644 --- a/org/compile_time_info.org +++ b/org/compile_time_info.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:compile: #+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/]] * compilation info @@ -25,7 +24,7 @@ version(Windows) {} else { ... } ** _module template_ :module:compile_time_info: -#+begin_src d :tangle "../src/doc_reform/conf/compile_time_info.d" +#+BEGIN_SRC d :tangle "../src/doc_reform/conf/compile_time_info.d" /++ compile_time_info +/ @@ -33,14 +32,14 @@ module doc_reform.conf.compile_time_info; template CompileTimeInfo() { <<spine_compile_time_info>> } -#+end_src +#+END_SRC ** complile time os OS type shows during compilation *** set os flags -#+name: spine_compile_time_info +#+NAME: spine_compile_time_info #+BEGIN_SRC d version(Windows) { pragma(msg, "[ Windows compilation ]"); @@ -98,7 +97,7 @@ static if(sysWindows) { ** 64 bit compilation? -#+name: spine_compile_time_info +#+NAME: spine_compile_time_info #+BEGIN_SRC d version(D_LP64) { enum bits = "64 bit"; diff --git a/org/default_misc.org b/org/default_misc.org index d5fd76d..d0328f9 100644 --- a/org/default_misc.org +++ b/org/default_misc.org @@ -4,22 +4,21 @@ #+FILETAGS: :spine:default:misc: #+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/]] * meta defaults :module:meta: ** _module template_ -#+name: tangle_defaults +#+NAME: tangle_defaults #+BEGIN_SRC d :tangle "../src/doc_reform/meta/defaults.d" /++ default settings @@ -36,7 +35,7 @@ module doc_reform.meta.defaults; ** template: flags regex initialize :regex_flags: *** flags -#+name: meta_defaults_template_init_flags +#+NAME: meta_defaults_template_init_flags #+BEGIN_SRC d template spineRgxInitFlags() { /+ regex flags +/ @@ -84,7 +83,7 @@ template spineRgxInitFlags() { *** node -#+name: meta_defaults_template_node +#+NAME: meta_defaults_template_node #+BEGIN_SRC d template spineNode() { @safe static string[string] node_metadata_heading_str() { @@ -133,7 +132,7 @@ template spineNode() { ** template: harvest -#+name: meta_defaults_template_harvest +#+NAME: meta_defaults_template_harvest #+BEGIN_SRC d template spineHarvest() { @safe auto spineHarvest() { @@ -171,7 +170,7 @@ template spineHarvest() { ** template: bibliography :biblio: -#+name: meta_defaults_template_biblio +#+NAME: meta_defaults_template_biblio #+BEGIN_SRC d template spineBiblio() { // required: deemed_author (author || editor); year; fulltitle; @@ -215,6 +214,7 @@ template spineBiblio() { * 1. output defaults :module:output: ** _module template_ +#+NAME: tangle_defaults #+BEGIN_SRC d :tangle "../src/doc_reform/io_out/defaults.d" /++ default settings @@ -227,7 +227,7 @@ module doc_reform.io_out.defaults; ** imports -#+name: defaults_imports +#+NAME: defaults_imports #+BEGIN_SRC d import std.algorithm, @@ -254,11 +254,11 @@ import 21 special characters used: -#+BEGIN_SRC text +#+BEGIN_SRC txt 【】〖〗┥┝┤├¤░┘┙┚┼┿╂┊┏┚┆■☼ #+END_SRC -#+name: defaults_template_markup +#+NAME: defaults_template_markup #+BEGIN_SRC d template InternalMarkup() { import std.array; @@ -308,7 +308,7 @@ template InternalMarkup() { *** template: language codes -#+name: defaults_template_language_codes +#+NAME: defaults_template_language_codes #+BEGIN_SRC d template spineLanguageCodes() { /+ language codes +/ @@ -401,7 +401,7 @@ template spineLanguageCodes() { * __END__ ** +set colors for terminal+ (unused) :colors:terminal: -#+name: meta_ansi_colors +#+NAME: meta_ansi_colors #+BEGIN_SRC d static string[string] scr_txt_color = [ "off" : "\033[0m", diff --git a/org/default_paths.org b/org/default_paths.org index 2d03aa6..1ab7a0a 100644 --- a/org/default_paths.org +++ b/org/default_paths.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:paths: #+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/]] * 0. source paths @@ -43,7 +42,7 @@ import ** _manifest_ :manifest: -#+name: template_paths_src +#+NAME: template_paths_src #+BEGIN_SRC d template PodManifest() { mixin spineRgxInit; @@ -118,7 +117,7 @@ pod │ └── video └── pod.manifest -#+name: template_paths_src +#+NAME: template_paths_src #+BEGIN_SRC d template PathMatters() { mixin spineRgxInit; @@ -466,7 +465,7 @@ template PathMatters() { ** _config_ (dr_document_make & config_local_site) :config: -#+name: template_paths_src +#+NAME: template_paths_src #+BEGIN_SRC d template ConfigFilePaths() { mixin spineRgxInit; @@ -640,7 +639,7 @@ filelist for processing [things to ponder] *** manual source -#+name: template_paths_src +#+NAME: template_paths_src #+BEGIN_SRC d template spinePathsSRC() { mixin spineRgxInit; @@ -695,7 +694,7 @@ template spinePathsSRC() { *** pods internal, zipped, unzipped -#+name: template_paths_pods +#+NAME: template_paths_pods #+BEGIN_SRC d template spinePathsPods() { mixin spineRgxInit; @@ -990,7 +989,7 @@ import doc_reform.meta.rgx; - if pod and file have same name, keep name (makes no sense to repeat pod name) NO dr_markup.sisu_markup should be sisu_markup -#+name: template_paths_out +#+NAME: template_paths_out #+BEGIN_SRC d template spineOutPaths() { auto spineOutPaths()( @@ -1032,7 +1031,7 @@ template spineOutPathSQLite() { ** set -#+name: template_paths_out +#+NAME: template_paths_out #+BEGIN_SRC d template spineOutPathsFnPd() { /+ TODO stuff to work out here +/ @@ -1076,7 +1075,7 @@ template spineOutPathsFnPd() { ** _html_ :html: *** relative -#+name: template_paths_html +#+NAME: template_paths_html #+BEGIN_SRC d template spineDocRootTreeHTML() { mixin spineRgxInit; @@ -1142,7 +1141,7 @@ template spineDocRootTreeHTML() { *** absolute disk path -#+name: template_paths_html +#+NAME: template_paths_html #+BEGIN_SRC d template spinePathsHTML() { mixin spineRgxInit; @@ -1208,7 +1207,7 @@ template spinePathsHTML() { *** urls -#+name: template_paths_html +#+NAME: template_paths_html #+BEGIN_SRC d template spineUrlsHTML() { import std.format; @@ -1316,7 +1315,7 @@ template spineUrlsHTML() { ** _epub_ :epub: -#+name: template_paths_epub +#+NAME: template_paths_epub #+BEGIN_SRC d template spinePathsEPUB() { mixin spineRgxInit; @@ -1427,7 +1426,7 @@ template spinePathsEPUB() { ** _odt_ :odt: -#+name: template_paths_odf +#+NAME: template_paths_odf #+BEGIN_SRC d template spinePathsODT() { mixin spineRgxInit; @@ -1497,7 +1496,7 @@ template spinePathsODT() { ** _latex_ :latex: -#+name: template_paths_latex +#+NAME: template_paths_latex #+BEGIN_SRC d template spinePathsLaTeX() { mixin spineRgxInit; @@ -1533,7 +1532,7 @@ template spinePathsLaTeX() { ** _sqlite_ :sqlite: *** discrete -#+name: template_paths_sqlite +#+NAME: template_paths_sqlite #+BEGIN_SRC d template spinePathsSQLiteDiscrete() { mixin spineRgxInit; @@ -1565,7 +1564,7 @@ template spinePathsSQLiteDiscrete() { *** TODO collection -#+name: template_paths_sqlite +#+NAME: template_paths_sqlite #+BEGIN_SRC d template spinePathsSQLite() { mixin spineRgxInit; diff --git a/org/default_regex.org b/org/default_regex.org index 3dd9cd1..6891147 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:regex: #+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/]] * meta ctRegex @@ -25,13 +24,13 @@ http://dlang.org/phobos/std_regex.html 22 special characters used: -#+BEGIN_SRC text +#+BEGIN_SRC txt 【】〖〗┥┝┤├¤░┘┙┚┼┿╂┊┏┚┆■☼ #+END_SRC ** _module template_ :module: -#+name: tangle_meta_rgx +#+NAME: tangle_meta_rgx #+BEGIN_SRC d :tangle "../src/doc_reform/meta/rgx.d" /++ regex: regular expressions used in sisu document parser @@ -48,7 +47,7 @@ static template spineRgxInit() { ** misc :misc: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ misc +/ // static true_dollar = ctRegex!(`\$`, "gm"); @@ -86,7 +85,7 @@ static numeric_col = ctRegex!(`^[ 0-9,.%$£ ** comments :comment: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ comments +/ static comment = ctRegex!(`^%+ `); @@ -94,7 +93,7 @@ static comment = ctRegex!(`^%+ `); ** config -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ header +/ #+END_SRC @@ -102,7 +101,7 @@ static comment = ctRegex!(`^%+ `); ** native headers *** native header :native:header: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ header +/ static variable_doc_title = ctRegex!(`@title`); @@ -114,7 +113,7 @@ static yaml_config = ctRegex!(`^[a-z]+\s*:\s* ** heading & paragraph operators :paragraph:operator: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ heading & paragraph operators +/ static heading_a = ctRegex!(`^:?[A][~] `, "m"); @@ -145,7 +144,7 @@ static para_inline_link_anchor = ctRegex!(`\*[~](?P<ancho ** blocked markup *** blocked markup curly & tic :block: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ blocked markup +/ static block_open = ctRegex!("^((code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?[{][ ]*$)|^`{3} (code(?:[.][a-z][0-9a-z#+_]+)?|(?:poem|group|block|quote)(?:[.][a-z][0-9a-z_]+)?|table)(?:[(][ a-zA-Z0-9;:,]*[)])?|^[{]table[(](?:h;)?(?P<columns>(?:[ ,]+[0-9]+)+)[)][}]"); @@ -154,7 +153,7 @@ static block_poem_open = ctRegex!("^((poem(?:[(][ *** blocked markup tic :block:tic: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ blocked markup tics +/ static block_tic_code_open = ctRegex!("^`{3} code(?:[.](?P<syntax>[a-z][0-9a-z#+_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?"); @@ -168,7 +167,7 @@ static block_tic_close = ctRegex!("^(`{3})$","m") *** blocked markup curly :block:curly: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ blocked markup curly +/ static block_curly_code_open = ctRegex!(`^(?:code(?:[.](?P<syntax>[a-z][0-9a-z_]+))?(?:[(](?P<attrib>[ a-zA-Z0-9;:,]*)[)])?[{][ ]*$)`); @@ -189,14 +188,14 @@ static block_curly_table_special_markup = ctRegex!(`^[{]table[(](? *** block sub-matches :block: **** code -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static code_numbering = ctRegex!(`(?P<number>\blinenumber\b|\bnumber\b|\blnr\b)`); #+END_SRC **** table -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static table_head_instructions = ctRegex!(`(?:(?P<c_heading>h);)?(?:[ ]+c(?P<c_num>[0-9]):)?(?P<c_widths>(?:[, ]+[0-9]+[lr]?)+)`); static table_col_widths_and_alignment = ctRegex!(`(?P<width>[0-9]+)(?P<align>[lr]?)`); @@ -210,7 +209,7 @@ static table_col_separator_nl = ctRegex!(`[┊]$`, "mg") ** inline markup :inline:footnote: *** footnotes & endnotes -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ inline markup footnotes endnotes +/ static inline_notes_curly_gen = ctRegex!(`~\{.+?\}~`, "m"); @@ -228,7 +227,7 @@ static note_ref = ctRegex!(`^\S+?noteref_( *** links/ urls :inline:footnote: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static webserv_url_doc_root = ctRegex!(`(?P<url>(?P<domain>https?:\/\/[^ /]+)\/(?P<path>\S*))`, "mg"); static smid_inline_url_generic = ctRegex!(`(?:^|[}(\[ ])(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_#]`, "mg"); @@ -241,7 +240,7 @@ static smid_inline_link_endnote_url_helper = ctRegex!(`\{~\^\s+(?P<co *** images :images: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static image = ctRegex!(`([a-zA-Z0-9._-]+?\.(?:png|gif|jpg))`, "mg"); static smid_image = ctRegex!(`(?P<pre>(?:^|[ ]|[^\S]?)[{┥](?:~\^\s+|\s*))(?P<image>[a-zA-Z0-9._-]+?\.(?:png|gif|jpg))(?P<post>(?:.*?)\s*[}┝](?:image|┤.*?├|(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?=[;:!,?.]?([ )\]]|$)))`, "mg"); @@ -254,7 +253,7 @@ static smid_image_delimit = ctRegex!(`(?P<pre>^|[ ] *** inline markup book index :inline:bookindex: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ inline markup book index +/ static book_index = ctRegex!(`^=\{\s*(?P<bookindex>.+?)\}$`, "m"); @@ -265,7 +264,7 @@ static book_index_close = ctRegex!(`^(.*?)\}$`, "m ** switch *** switch off auto-heading number -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static auto_heading_numbering_lv1 = ctRegex!(`^1~`, "m"); static auto_heading_numbering_lv2 = ctRegex!(`^2~`, "m"); @@ -280,7 +279,7 @@ static auto_heading_numbering_off_lv4 = ctRegex!(`^4~\S*?-\s`, "m ** no object_number object :ocn:off:object: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ no object_number object +/ static object_number_off = ctRegex!(`~#[ ]*$`, "m"); @@ -291,7 +290,7 @@ static repeated_character_line_separator = ctRegex!(`^(?:[ ]*(?:(?:[. ** no object_number block :ocn:off:block: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ no object_number block +/ static object_number_off_block = ctRegex!(`^--~#$`); @@ -302,7 +301,7 @@ static object_number_block_marks = ctRegex!(`^--[+~-]#$`); ** ignore outside code blocks :block:code: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ ignore outside code blocks +/ static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$`); @@ -310,7 +309,7 @@ static skip_from_regular_parse = ctRegex!(`^(--[+~-]#|-[\\]{2}-|=[.\\]{2}=)$` ** line & page breaks :break: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ line & page breaks +/ static break_string = ctRegex!(`』`); @@ -318,7 +317,7 @@ static break_string = ctRegex!(`』`); ** biblio tags :biblio:tags: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ biblio tags +/ static biblio_tags = ctRegex!(`^(is|au|author_raw|author|author_arr|editor_raw|ed|editor_arr|ti|title|subtitle|fulltitle|lng|language|trans|src|jo|journal|in|vol|volume|edn|edition|yr|year|pl|place|pb|pub|publisher|url|pg|pages|note|short_name|id):\s+(.+)`); @@ -327,7 +326,7 @@ static biblio_abbreviations = ctRegex!(`^(au|ed|ti|lng ** bookindex split :bookindex:split: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ bookindex split +/ static bi_main_terms_split = ctRegex!(`\s*;\s*`); @@ -338,7 +337,7 @@ static bi_term_and_object_numbers_match = ctRegex!(`^(.+?)\+(\d+)` ** topic register split (document classify) -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d static topic_register_main_terms_split = ctRegex!(`\s*;\s*`); static topic_register_main_term_plus_rest_split = ctRegex!(`\s*:\s*`); @@ -348,7 +347,7 @@ static topic_register_multiple_sub_terms_split = ctRegex!(`␣([^|␣]+(? ** language codes :language:codes: -#+name: meta_rgx +#+NAME: meta_rgx #+BEGIN_SRC d /+ language codes +/ auto language_code_and_filename = @@ -364,6 +363,7 @@ http://dlang.org/phobos/std_regex.html ** _module template_ :module:output: +#+NAME: tangle_meta_rgx #+BEGIN_SRC d :tangle "../src/doc_reform/io_out/rgx.d" /++ regex: regular expressions used in sisu document parser @@ -381,7 +381,7 @@ static template spineOutputRgxInit() { ** special characters *** xhtml special characters -#+name: sp_ch_xhtml_rgx +#+NAME: sp_ch_xhtml_rgx #+BEGIN_SRC d static xhtml_ampersand = ctRegex!(`[&]`, "m"); // & static xhtml_quotation = ctRegex!(`["]`, "m"); // " @@ -392,7 +392,7 @@ static xhtml_line_break = ctRegex!(` [\\]{2}`, "m"); / *** latex special characters -#+name: sp_ch_xhtml_rgx +#+NAME: sp_ch_xhtml_rgx #+BEGIN_SRC d static latex_special_char = ctRegex!(`([%${}_#&\\])`); static latex_special_char_for_escape = ctRegex!(`([%${}_#\\])`); @@ -409,7 +409,7 @@ static latex_clean_bookindex_linebreak = ctRegex!(`\s*\\\\\\\\\s*`, " * 2. ctRegex defaults shared by meta & output (generic) ** misc generic -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d static newline = ctRegex!("\n", "mg"); static space = ctRegex!(`[ ]`, "mg"); @@ -420,7 +420,7 @@ static nbsp_char = ctRegex!(`░`, "mg"); ** filename (& path) (including insert file) :insert:file:path:filename: -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d static src_pth_sst_or_ssm = ctRegex!(`^(?P<path>[/]?(?:[a-zA-Z0-9._-]+/)*)(?P<filename>[a-zA-Z0-9._-]+[.](?P<extension>ss[tm]))$`); static src_pth_pod_sst_or_ssm = ctRegex!(`^(?P<podpath>[/]?(?:[a-zA-Z0-9._-]+/)*)media/text/[a-z]{2}/(?P<filename>[a-zA-Z0-9][a-zA-Z0-9._-]*?[.]ss[tm])$`); @@ -441,7 +441,7 @@ static src_formalised_file_path_parts = ctRegex!(`(?P<pth>(?:[/a *** inline breaks -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ line breaks +/ static br_empty_line = ctRegex!(`\n[ ]*\n`, "mg"); @@ -452,7 +452,7 @@ static br_nl = ctRegex!(`┙`, "mg"); *** inline (internal program) markup footnotes endnotes :inline:footnote: -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ inline markup footnotes endnotes +/ static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg"); @@ -472,7 +472,7 @@ static inline_text_and_note_al_ = ctRegex!(`(.+?(?:【[*+] *** inline links -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ inline markup links +/ static inline_image = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>\d+)h(?P<height>\d+))\s*(?P<post>.*?┝┤.*?├)`, "mg"); @@ -499,7 +499,7 @@ static quotation_mark_sql_insert_delimiter = ctRegex!("[']", "mg"); *** inline markup font face mod :inline:font:face: -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ inline markup font face mod +/ static inline_mark_emphasis = ctRegex!(`(?P<mark>[*])\{(?P<text>.+?)\}[*]`, "mg"); @@ -514,7 +514,7 @@ static inline_mark_mono = ctRegex!(`(?P<mark>[#])\{( static inline_mark_cite = ctRegex!(`(?P<mark>["])\{(?P<text>.+?)\}["]`, "mg"); #+END_SRC -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d static inline_faces_line = ctRegex!(`^[*!/_]_ (?P<text>.+?)((?: [\\]{2}|[~]#){0,2}$)`); static inline_emphasis_line = ctRegex!(`^\*_ (?P<text>.+?)(?P<tail>(?: [\\]{2}|[~]#){0,2}$)`); @@ -523,7 +523,7 @@ static inline_italics_line = ctRegex!(`^/_ (?P<text>. static inline_underscore_line = ctRegex!(`^__ (?P<text>.+?)(?P<tail>(?: [\\]{2}|[~]#){0,2}$)`); #+END_SRC -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ inline markup font face mod +/ static inline_emphasis = ctRegex!(`[*]┨(?P<text>.+?)┣[*]`, "mg"); @@ -542,7 +542,7 @@ static inline_fontface_clean = ctRegex!(`[*!_/^,+■‖ *** table related -#+name: prgmkup_rgx +#+NAME: prgmkup_rgx #+BEGIN_SRC d /+ table delimiters +/ static table_delimiter_col = ctRegex!("[ ]*[┊][ ]*", "mg"); diff --git a/org/default_shared.org b/org/default_shared.org index b0e242b..daff731 100644 --- a/org/default_shared.org +++ b/org/default_shared.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:default:shared: #+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/]] * shared @@ -28,7 +27,8 @@ module doc_reform.share.defaults; #+END_SRC ** template: messages :messages: -#+name: shared_messages + +#+NAME: shared_messages #+BEGIN_SRC d template Msg() { import std.stdio; diff --git a/org/imports.org b/org/imports.org index fd6998e..0d8e20f 100644 --- a/org/imports.org +++ b/org/imports.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:imports: #+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 * imports for _meta_ :meta: ** package dir diff --git a/org/in_source_files.org b/org/in_source_files.org index a498688..b958c22 100644 --- a/org/in_source_files.org +++ b/org/in_source_files.org @@ -4,21 +4,20 @@ #+FILETAGS: :spine:sourcefile:read: #+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/]] * imports -#+name: imports_std +#+NAME: imports_std #+BEGIN_SRC d import doc_reform.meta, @@ -44,7 +43,7 @@ module doc_reform.io_in.read_config_files; *** 0. read config files (config_local_site & dr_document_make) (yaml) **** 1. site configuration -#+name: meta_config_file_hub +#+NAME: meta_config_file_hub #+BEGIN_SRC d static template readConfigSite() { import @@ -151,7 +150,7 @@ webserv: **** 2. document make/config -#+name: meta_config_file_hub +#+NAME: meta_config_file_hub #+BEGIN_SRC d static template readConfigDoc() { import @@ -206,7 +205,7 @@ static template readConfigDoc() { *** YAML config (config_local_site & dr_document_make) :file:config:hub: -#+name: meta_config_file_hub +#+NAME: meta_config_file_hub #+BEGIN_SRC d static template configReadSiteYAML() { <<imports_std>> @@ -360,7 +359,7 @@ static template spineRawMarkupContent() { ** get markup source, read file :source:markup: *** read file, source string [#A] :string: -#+name: meta_markup_source_raw_read_file_source_string +#+NAME: meta_markup_source_raw_read_file_source_string #+BEGIN_SRC d @safe final private string readInMarkupSource(in char[] fn_src) { enforce( @@ -392,7 +391,7 @@ static template spineRawMarkupContent() { here you split document header and body, an array.length == 2 split is on first match of level A~ (which is required) -#+name: meta_markup_source_raw_doc_header_and_content_split +#+NAME: meta_markup_source_raw_doc_header_and_content_split #+BEGIN_SRC d @trusted final private char[][] header0Content1(in string src_text) { // cast(char[]) /+ split string on _first_ match of "^:?A~\s" into [header, content] array/tuple +/ @@ -411,7 +410,7 @@ split is on first match of level A~ (which is required) *** source line array :array: -#+name: meta_markup_source_raw_source_line_array +#+NAME: meta_markup_source_raw_source_line_array #+BEGIN_SRC d @trusted final private char[][] markupSourceLineArray(in char[] src_text) { // cast(char[]) char[][] source_line_arr @@ -426,7 +425,7 @@ split is on first match of level A~ (which is required) **** read in file -#+name: meta_markup_source_raw_read_in_file +#+NAME: meta_markup_source_raw_read_in_file #+BEGIN_SRC d @safe string markupSourceReadIn(in string fn_src) { static auto rgx = Rgx(); @@ -447,7 +446,7 @@ split is on first match of level A~ (which is required) - file insert list - [image list?] -#+name: meta_markup_source_raw_tuple_of_header_and_body +#+NAME: meta_markup_source_raw_tuple_of_header_and_body #+BEGIN_SRC d @safe HeaderContentInsertsImages markupSourceHeaderContentRawLineTupleArray(in string source_txt_str) { string[] file_insert_list = []; @@ -468,7 +467,7 @@ split is on first match of level A~ (which is required) **** get insert source line array -#+name: meta_markup_source_raw_get_insert_source_line_array +#+NAME: meta_markup_source_raw_get_insert_source_line_array #+BEGIN_SRC d @safe final char[][] getInsertMarkupSourceContentRawLineArray( in char[] fn_src_insert, @@ -491,7 +490,7 @@ split is on first match of level A~ (which is required) *** scan inserts (sub-document) source :scan_insert_src: **** scan subdoc source -#+name: meta_inserts_scan +#+NAME: meta_inserts_scan #+BEGIN_SRC d char[][] contents_insert; int[string] type1 = flags_type_init; @@ -501,7 +500,7 @@ auto markup_src_file_path = fn_pth_full.captures[1]; **** loop insert (sub-document) -#+name: meta_inserts_scan_loop +#+NAME: meta_inserts_scan_loop #+BEGIN_SRC d if (type1["curly_code"] == 1) { type1["header_make"] = 0; @@ -574,7 +573,7 @@ if (type1["curly_code"] == 1) { **** post loop -#+name: meta_inserts_scan_post +#+NAME: meta_inserts_scan_post #+BEGIN_SRC d ContentsAndImages t = tuple( contents_insert, @@ -586,7 +585,7 @@ return t; *** scan document source :scan_src: **** scan doc source -#+name: meta_master_doc_scan_for_insert_filenames +#+NAME: meta_master_doc_scan_for_insert_filenames #+BEGIN_SRC d char[][] contents; int[string] type = flags_type_init; @@ -599,7 +598,7 @@ string[] insert_file_list =[]; **** include inserts: _loop master_ scan for inserts (insert documents) -#+name: meta_master_doc_scan_for_insert_filenames_loop +#+NAME: meta_master_doc_scan_for_insert_filenames_loop #+BEGIN_SRC d if (type["curly_code"] == 1) { if (line.matchFirst(rgx.block_curly_code_close)) { @@ -671,7 +670,7 @@ if (type["curly_code"] == 1) { **** post loop -#+name: meta_master_doc_scan_for_insert_filenames_post +#+NAME: meta_master_doc_scan_for_insert_filenames_post #+BEGIN_SRC d string[] images = []; foreach(i; uniq(_images.sort())) { diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index a319758..898db4f 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -4,22 +4,21 @@ #+FILETAGS: :spine:config: #+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/]] * 0. generic ** imports -#+name: meta_defaults_imports +#+NAME: meta_defaults_imports #+BEGIN_SRC d import std.algorithm, @@ -51,7 +50,7 @@ module doc_reform.meta.conf_make_meta_structs; ** initialize, imports etc. -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d import std.exception, @@ -74,7 +73,7 @@ static auto mkup = InlineMarkup(); ** struct Generic ConfComposite -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d @safe string url_markup(string line) { string line_ = line @@ -186,7 +185,7 @@ struct confCompositeMakeBuild { ** initialize make & meta *** composite make -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d struct ConfCompositeMakeInit { string[] bold; @@ -211,7 +210,7 @@ struct ConfCompositeMakeInit { *** struct: conf site local -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d struct ConfCompositeSiteLocal { string webserv_url_doc_root; @@ -253,7 +252,7 @@ struct ConfCompositeSiteLocal { *** struct: composite meta -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d struct MetaComposite { string classify_dewey; @@ -313,7 +312,7 @@ struct MetaComposite { *** composite structs -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d struct ConfComposite { MetaComposite meta; @@ -325,7 +324,7 @@ struct ConfComposite { *** JSONValue -#+name: meta_defaults_template_structs +#+NAME: meta_defaults_template_structs #+BEGIN_SRC d JSONValue config_jsonstr = `{ }`; @@ -376,7 +375,7 @@ static template contentYAMLtoSpineStruct() { ** make -#+name: yaml_objects_make +#+NAME: yaml_objects_make #+BEGIN_SRC d /+ make ------------------------------------------------------------------- +/ if ("make" in _yaml @@ -533,7 +532,7 @@ if ("make" in _yaml ** conf -#+name: yaml_objects_conf +#+NAME: yaml_objects_conf #+BEGIN_SRC d /+ conf ------------------------------------------------------------------- +/ if ("webserv" in _yaml @@ -773,7 +772,7 @@ if ("search" in _yaml ** meta -#+name: yaml_objects_meta +#+NAME: yaml_objects_meta #+BEGIN_SRC d /+ meta ------------------------------------------------------------------- +/ if (_struct_composite.meta.creator_author.empty) { @@ -1200,7 +1199,7 @@ static template contentJSONtoSpineStruct() { ** make -#+name: json_objects +#+NAME: json_objects #+BEGIN_SRC d /+ make ------------------------------------------------------------------- +/ if ("make" in _json.object) { @@ -1365,7 +1364,7 @@ if ("make" in _json.object) { ** conf -#+name: json_objects +#+NAME: json_objects #+BEGIN_SRC d /+ conf ------------------------------------------------------------------- +/ if ("webserv" in _json.object) { @@ -1536,7 +1535,7 @@ if ("search" in _json.object) { ** meta -#+name: json_objects +#+NAME: json_objects #+BEGIN_SRC d /+ meta ------------------------------------------------------------------- +/ if (_struct_composite.meta.creator_author.empty) { diff --git a/org/meta_debugs.org b/org/meta_debugs.org index f17c363..71c3d55 100644 --- a/org/meta_debugs.org +++ b/org/meta_debugs.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:debugs: #+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/]] * 1. abstraction debugs :module:spine:meta_doc_debugs: @@ -46,7 +45,7 @@ template spineDebugs() { ** imports -#+name: debug_imports +#+NAME: debug_imports #+BEGIN_SRC d import doc_reform.meta.defaults, @@ -70,7 +69,7 @@ import ** initialize :report: -#+name: initialize +#+NAME: initialize #+BEGIN_SRC d static auto rgx = Rgx(); auto markup = InlineMarkup(); @@ -79,7 +78,7 @@ string key; ** (parent) :parent: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(parent) { writefln( @@ -107,7 +106,7 @@ debug(parent) { ** (dumpdoc) :objects: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(dumpdoc) { writefln( @@ -120,7 +119,7 @@ debug(dumpdoc) { ** (segnames) :objects: -#+name: meta_output_debugs_checkdoc +#+NAME: meta_output_debugs_checkdoc #+BEGIN_SRC d debug(checkdoc) { void out_segnames(S,T)( @@ -143,7 +142,7 @@ debug(checkdoc) { ** shared output section arrange *** out toc -#+name: meta_output_debugs_checkdoc +#+NAME: meta_output_debugs_checkdoc #+BEGIN_SRC d debug(checkdoc) { void out_toc(S)( @@ -167,7 +166,7 @@ debug(checkdoc) { *** out endnotes :endnotes: -#+name: meta_output_debugs_checkdoc +#+NAME: meta_output_debugs_checkdoc #+BEGIN_SRC d debug(checkdoc) { void out_endnotes(S)( @@ -189,7 +188,7 @@ debug(checkdoc) { *** out bookindex :bookindex: -#+name: meta_output_debugs_checkdoc +#+NAME: meta_output_debugs_checkdoc #+BEGIN_SRC d debug(checkdoc) { void out_bookindex(S)( @@ -213,7 +212,7 @@ debug(checkdoc) { ** sections *** heading_section :heading: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_head) { key="head"; @@ -233,7 +232,7 @@ debug(section_head) { *** toc_section (seg & scroll) **** toc -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_toc) { key="toc"; @@ -243,7 +242,7 @@ debug(section_toc) { **** toc seg -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_toc) { key="toc"; @@ -253,7 +252,7 @@ debug(section_toc) { **** toc scroll -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_toc) { key="toc"; @@ -263,7 +262,7 @@ debug(section_toc) { *** body_section :body: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_body) { key="body"; @@ -282,7 +281,7 @@ debug(section_body) { *** dom structure :body: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(toc_nav_dom) { enum DomTags { none, open, close, close_and_open, open_still, } @@ -344,7 +343,7 @@ debug(toc_nav_dom) { *** decendants -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(decendants) { foreach (sect; doc_matters.has.keys_seq.scroll) { @@ -360,7 +359,7 @@ debug(decendants) { *** endnotes_section (seg & scroll) :endnotes: **** endnotes -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_endnotes) { key="endnotes"; @@ -370,7 +369,7 @@ debug(section_endnotes) { **** endnotes seg -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_endnotes_seg) { key="endnotes"; @@ -380,7 +379,7 @@ debug(section_endnotes_seg) { *** glossary_section :glossary: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_glossary) { key="glossary"; @@ -399,7 +398,7 @@ debug(section_glossary) { *** bibliography_section (seg & scroll) :bibliography: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_bibliography) { key="bibliography"; @@ -419,7 +418,7 @@ debug(section_bibliography) { *** bookindex_section (seg & scroll) :bookindex: **** bookindex -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_bookindex) { key="bookindex"; @@ -429,7 +428,7 @@ debug(section_bookindex) { **** bookindex seg -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_bookindex) { key="bookindex"; @@ -439,7 +438,7 @@ debug(section_bookindex) { **** bookindex scroll -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(section_bookindex_scroll) { key="bookindex_scroll"; @@ -449,7 +448,7 @@ debug(section_bookindex_scroll) { *** section_blurb :blurb: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(blurb_section) { key="blurb"; @@ -468,7 +467,7 @@ debug(blurb_section) { ** (objects) :objects: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(objects) { writefln( @@ -491,7 +490,7 @@ debug(objects) { ** (headermakejson) :json:header: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(headermakejson) { writefln( @@ -523,7 +522,7 @@ debug(headermakejson) { ** (headermetadatajson) :json:header: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(headermetadatajson) { writefln( @@ -651,7 +650,7 @@ debug(headermetadatajson) { ** anchor tags -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(anchor) { writefln( @@ -677,7 +676,7 @@ debug(anchor) { ** (headings) :headings: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(heading) { // heading foreach (k; doc_matters.has.keys_seq.seg) { @@ -698,7 +697,7 @@ debug(heading) { // heading ** (summary) [+1] :summary: -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(headings) { writefln( @@ -721,7 +720,7 @@ debug(headings) { } #+END_SRC -#+name: meta_output_debugs +#+NAME: meta_output_debugs #+BEGIN_SRC d debug(summary) { string[string] check = [ @@ -732,7 +731,7 @@ debug(summary) { *** compare number of object_number for known sisu markup output (checkdoc) -#+name: meta_output_debugs_summary +#+NAME: meta_output_debugs_summary #+BEGIN_SRC d debug(checkdoc) { if (auto mfn=match(doc_matters.src.filename, rgx.src_fn)) { diff --git a/org/metaverse.org b/org/metaverse.org index 0483473..c1d4442 100644 --- a/org/metaverse.org +++ b/org/metaverse.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:abstraction: #+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/]] @@ -142,7 +141,7 @@ template docAbstraction() { *** imports :imports: [[./meta_defaults.org][meta_defaults]] -#+name: abs_top_imports +#+NAME: abs_top_imports #+BEGIN_SRC d import doc_reform.meta; import @@ -159,7 +158,7 @@ import *** mixins :mixins: -#+name: abs_top_mixins +#+NAME: abs_top_mixins #+BEGIN_SRC d mixin ObjectSetter; mixin InternalMarkup; @@ -169,7 +168,7 @@ mixin spineRgxInit; *** initialize :initialize: **** initialize general -#+name: abs_top_init_struct +#+NAME: abs_top_init_struct #+BEGIN_SRC d /+ initialize +/ ObjGenericComposite[] the_table_of_contents_section; @@ -265,7 +264,7 @@ enum DomTags { none, open, close, close_and_open, open_still, } **** method heading ancestors -#+name: abs_top_init_struct +#+NAME: abs_top_init_struct #+BEGIN_SRC d @safe pure ObjGenericComposite obj_heading_ancestors()( ObjGenericComposite obj, @@ -324,7 +323,7 @@ enum DomTags { none, open, close, close_and_open, open_still, } **** method dom markup tags -#+name: abs_top_init_struct +#+NAME: abs_top_init_struct #+BEGIN_SRC d @safe pure ObjGenericComposite obj_dom_structure_set_markup_tags()( ObjGenericComposite obj, @@ -374,7 +373,7 @@ enum DomTags { none, open, close, close_and_open, open_still, } **** method dom collapsed tags -#+name: abs_top_init_struct +#+NAME: abs_top_init_struct #+BEGIN_SRC d @safe pure ObjGenericComposite obj_dom_set_collapsed_tags()( ObjGenericComposite obj, @@ -424,7 +423,7 @@ enum DomTags { none, open, close, close_and_open, open_still, } **** method ocn emit -#+name: abs_top_init_struct +#+NAME: abs_top_init_struct #+BEGIN_SRC d @safe static auto ocn_emit(int ocn_status_flag) { return object_citation_number.ocn_emitter(ocn_status_flag); @@ -491,7 +490,7 @@ enum sObj { content, anchor_tag, notes_reg, notes_star, links, image_no_dimensio *** inline para tag associations -#+name: abs_inline_para_tag_associations +#+NAME: abs_inline_para_tag_associations #+BEGIN_SRC d @safe string[string][string] inline_para_link_anchor()( string[string] an_object, @@ -513,7 +512,7 @@ enum sObj { content, anchor_tag, notes_reg, notes_star, links, image_no_dimensio *** scope -#+name: abs_init_rest +#+NAME: abs_init_rest #+BEGIN_SRC d scope(success) { } @@ -534,7 +533,7 @@ scope(exit) { *** init rest -#+name: abs_init_rest +#+NAME: abs_init_rest #+BEGIN_SRC d mixin spineRgxInitFlags; mixin spineNode; @@ -649,7 +648,7 @@ int cnt1 = 1; int cnt2 = 1; int cnt3 = 1; *** make tests -#+name: make_tests +#+NAME: make_tests #+BEGIN_SRC d enum Substitute { match, markup, } debug (substitutions) { @@ -681,7 +680,7 @@ debug (substitutions) { ** 2. ↻ *LOOP* _loop: process document body_ [+6] :loop: *** Loop scope :scope: -#+name: abs_in_loop_body_00 +#+NAME: abs_in_loop_body_00 #+BEGIN_SRC d /+ scope +/ scope(exit) { @@ -709,7 +708,7 @@ debug(srclines) { *** check whether object_number is on or turned off :ocn: -#+name: abs_in_loop_body_00 +#+NAME: abs_in_loop_body_00 #+BEGIN_SRC d if (!line.empty) { obj_type_status = line._check_ocn_status_(obj_type_status); @@ -719,7 +718,7 @@ if (!line.empty) { *** separate _code blocks_ from _other markup text_ [+5] [#A] **** _code blocks_ :block:code: -#+name: abs_in_loop_body_00_code_block +#+NAME: abs_in_loop_body_00_code_block #+BEGIN_SRC d /+ block object: code +/ line.flow_txt_block_code(an_object, obj_type_status); @@ -729,7 +728,7 @@ continue; **** _non code objects_ (non-code blocks & regular text: by line) [+4] :non_code: ***** inline fontface markup -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d line = line.inline_markup_faces; // by text line (rather than by text object), linebreaks in para problematic #+END_SRC @@ -737,7 +736,7 @@ line = line.inline_markup_faces; // by text line (rather than by text object), l ***** in section (biblio, glossary, blurb) +(block group)+ [+1] :block:active: ****** in section: biblio :biblio: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d if ((line.matchFirst(rgx.heading_biblio) && obj_type_status["para"] != State.on @@ -773,7 +772,7 @@ if there is a glossary section you need to: - need indentation and regular paragraph inline markup - reconstitute the document with the glossary section following the endnotes -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if ((line.matchFirst(rgx.heading_glossary) && obj_type_status["para"] != State.on @@ -887,7 +886,7 @@ if there is a blurb section you need to: - need regular paragraph inline markup - reconstitute the document with the blurb section at the very end of the doucment -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if ((line.matchFirst(rgx.heading_blurb) && obj_type_status["para"] != State.on @@ -1048,7 +1047,7 @@ if there is a blurb section you need to: ***** in blocks [+1] :block:active: ****** in block: quote :quote: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (obj_type_status["quote"] == TriState.on) { /+ within block object: quote +/ line = line @@ -1060,7 +1059,7 @@ if there is a blurb section you need to: ****** in block: group :group: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d /+ within block object: group +/ } else if (obj_type_status["group"] == TriState.on) { /+ within block object: group +/ @@ -1074,7 +1073,7 @@ if there is a blurb section you need to: ****** in block: block :block: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (obj_type_status["block"] == TriState.on) { /+ within block object: block +/ line = line @@ -1090,7 +1089,7 @@ if there is a blurb section you need to: ****** in block: poem :poem: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (obj_type_status["poem"] == TriState.on) { /+ within block object: poem +/ an_object = line.flow_txt_block_poem(an_object, obj_type_status, cntr, object_number_poem, conf_make_meta, tag_in_seg); @@ -1099,7 +1098,7 @@ if there is a blurb section you need to: ****** in block: table :table: -#+name: abs_in_loop_body_non_code_obj +#+NAME: abs_in_loop_body_non_code_obj #+BEGIN_SRC d } else if (obj_type_status["table"] == TriState.on) { /+ within block object: table +/ an_object = line.flow_txt_block_table(an_object, obj_type_status, conf_make_meta); @@ -1109,7 +1108,7 @@ if there is a blurb section you need to: ***** not identified as being within block group (could still be, or not) [+3] ****** assert -#+name: abs_in_loop_body_open_block_obj_assert +#+NAME: abs_in_loop_body_open_block_obj_assert #+BEGIN_SRC d assert( (obj_type_status["blocks"] == TriState.off) @@ -1121,7 +1120,7 @@ assertions_flag_types_block_status_none_or_closed(obj_type_status); ****** catch misc +block open+ -#+name: abs_in_loop_body_open_block_obj +#+NAME: abs_in_loop_body_open_block_obj #+BEGIN_SRC d if (line.matchFirst(rgx.block_poem_open)) { /+ poem to verse exceptions! +/ object_reset(an_object); @@ -1135,7 +1134,7 @@ continue; ****** line not empty [+2] ******* asserts :assert: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d assert( !line.empty, @@ -1163,7 +1162,7 @@ if (obj_type_status["blocks"] == TriState.closing) { ******* book index :bookindex: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d if (line.matchFirst(rgx.book_index) || line.matchFirst(rgx.book_index_open) @@ -1173,14 +1172,14 @@ if (line.matchFirst(rgx.book_index) ******* not book index [+1] -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d } else { /+ not book_index +/ #+END_SRC ******** matched: comment :comment:match: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d an_object_key="body_nugget"; if (auto m = line.matchFirst(rgx.comment)) { /+ matched comment +/ @@ -1202,7 +1201,7 @@ if (line.matchFirst(rgx.book_index) ******** flag !set & line !exist: heading or para :heading:paragraph: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d } else if (((line_occur["para"] == State.off) && (line_occur["heading"] == State.off)) @@ -1239,7 +1238,7 @@ if (line.matchFirst(rgx.book_index) ******** line exist: heading :heading: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d } else if (line_occur["heading"] > State.off) { /+ heading +/ debug(heading) { @@ -1251,7 +1250,7 @@ if (line.matchFirst(rgx.book_index) ******** line exist: para :para: -#+name: abs_in_loop_body_not_block_obj +#+NAME: abs_in_loop_body_not_block_obj #+BEGIN_SRC d } else if (line_occur["para"] > State.off) { /+ paragraph +/ debug(para) { @@ -1268,7 +1267,7 @@ if (line.matchFirst(rgx.book_index) ****** line empty, with block flag -#+name: abs_in_loop_body_not_block_obj_line_empty_blocks_flags +#+NAME: abs_in_loop_body_not_block_obj_line_empty_blocks_flags #+BEGIN_SRC d an_object = line.flow_block_flag_line_empty_( an_object, @@ -1288,7 +1287,7 @@ an_object = line.flow_block_flag_line_empty_( ****** line empty [+1] ******* assert line empty :assert: -#+name: abs_in_loop_body_not_block_obj_line_empty +#+NAME: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d assert( line.empty, @@ -1303,7 +1302,7 @@ assert( ******* heading object :heading:object: -#+name: abs_in_loop_body_not_block_obj_line_empty +#+NAME: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d if (_new_doc) { tag_assoc = tag_assoc.init; @@ -1436,7 +1435,7 @@ if ((obj_type_status["heading"] == State.on) ******* paragraph object :paragraph:object: -#+name: abs_in_loop_body_not_block_obj_line_empty +#+NAME: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d } else if ((obj_type_status["para"] == State.on) && (line_occur["para"] > State.off)) { @@ -1504,7 +1503,7 @@ if ((obj_type_status["heading"] == State.on) *** regular _text objects_ identified :text:paragraph: -#+name: abs_in_loop_body_01 +#+NAME: abs_in_loop_body_01 #+BEGIN_SRC d /+ unless (the_document_body_section.length == 0) ? +/ if (the_document_body_section.length > 0) { @@ -1568,7 +1567,7 @@ if (the_document_body_section.length > 0) { *** tie up preparation of document sections **** endnotes section (scroll & seg) :endnotes: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d auto en_tuple = note_section.endnote_objects(obj_cite_digits, opt_action); @@ -1588,7 +1587,7 @@ debug(endnotes) { **** no glossary section? :glossary: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (an_object["glossary_nugget"].length == 0) { comp_obj_heading_ = comp_obj_heading_.init; @@ -1617,7 +1616,7 @@ debug(glossary) { **** bibliography section (objects) :bibliography: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d auto biblio_unsorted_incomplete = biblio_arr_json.dup; auto biblio = Bibliography(); @@ -1625,7 +1624,7 @@ auto biblio_ordered = biblio.flow_bibliography_(biblio_unsorted_incomplete, bib_arr_json); #+END_SRC -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (biblio_ordered.length > 0) { { @@ -1698,7 +1697,7 @@ if (biblio_ordered.length > 0) { ***** format biblio string -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d string out_; foreach (entry; biblio_ordered) { @@ -1733,7 +1732,7 @@ foreach (entry; biblio_ordered) { } #+END_SRC -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d debug(bibliosection) { foreach (o; the_bibliography_section) { @@ -1778,7 +1777,7 @@ JSONValue biblio_entry_tags_jsonstr = `{ **** bookindex section (scroll & seg) :book:index: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d auto bi = BookIndexReportSection(); auto bi_tuple @@ -1799,7 +1798,7 @@ debug(bookindex) { **** no blurb section? :blurb: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (an_object["blurb_nugget"].length == 0) { comp_obj_heading_ = comp_obj_heading_.init; @@ -1830,7 +1829,7 @@ debug(blurb) { **** toc backmatter, table of contents backmatter (scroll & seg) :contents: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d indent=[ "hang_position" : 1, @@ -1931,7 +1930,7 @@ debug(toc) { **** doc head (separate document head from body, make space for toc) -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d the_document_head_section ~= the_document_body_section[0]; the_document_body_section=the_document_body_section[1..$]; @@ -1955,7 +1954,7 @@ NOTE there are issues attempting to do this on first pass as: ***** Methods ****** get ancestors markup -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d @safe int[] _get_ancestors_markup(O)(O obj, ref int[] _ancestors_markup) { if (obj.metainfo.is_a == "heading") { @@ -2048,7 +2047,7 @@ NOTE there are issues attempting to do this on first pass as: ****** get ancestors collapsed -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d @safe int[] _get_ancestors_collapsed(O)(O obj, ref int[] _ancestors_collapsed) { if (obj.metainfo.is_a == "heading") { @@ -2141,7 +2140,7 @@ NOTE there are issues attempting to do this on first pass as: - substantive object numbers already exist - number un-numbered non-substantive text -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ multiple 1~ levels, loop through document body +/ if (the_document_body_section.length > 1) { @@ -2169,7 +2168,7 @@ if (the_document_body_section.length > 1) { ***** ↻ Loop section: endnotes [en] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_endnotes_section.length > 1) { segnames["html"] ~= "endnotes"; @@ -2190,7 +2189,7 @@ if (the_endnotes_section.length > 1) { ***** ↻ Loop section: glossary [gl] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_glossary_section.length > 1) { segnames["html"] ~= "glossary"; @@ -2211,7 +2210,7 @@ if (the_glossary_section.length > 1) { ***** ↻ Loop section: bibliography [bb] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_bibliography_section.length > 1) { segnames["html"] ~= "bibliography"; @@ -2232,7 +2231,7 @@ if (the_bibliography_section.length > 1) { ***** ↻ Loop section: book index [bi] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_bookindex_section.length > 1) { segnames["html"] ~= "bookindex"; @@ -2253,7 +2252,7 @@ if (the_bookindex_section.length > 1) { ***** ↻ Loop section: blurb [bl] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_blurb_section.length > 1) { segnames["html"] ~= "blurb"; @@ -2313,7 +2312,7 @@ Build here: ***** Methods ****** decendants -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d @safe auto get_decendants()(ObjGenericComposite[] document_sections) { int[string] _heading_ocn_decendants; @@ -2366,7 +2365,7 @@ Build here: ****** images: extract -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d string[] _images; @safe string[] extract_images()(string content_block) { @@ -2381,7 +2380,7 @@ string[] segnames_0_to_4; ****** images: dimensions -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d @system auto _image_dimensions(O,M)(O obj, M manifested) { if (obj.has.image_without_dimensions) { @@ -2434,7 +2433,7 @@ string[] segnames_0_to_4; - book index - footnotes and footnote numbers -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d @safe auto _links(O)(O obj) { if (auto m = obj.text.match(rgx.inline_link_stow_uri)) { @@ -2459,7 +2458,7 @@ string[] segnames_0_to_4; ***** ↻ Loop section: head -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d foreach (ref obj; the_document_head_section) { if (obj.metainfo.is_a == "heading") { @@ -2491,7 +2490,7 @@ foreach (ref obj; the_document_head_section) { ***** ↻ Loop section: toc [to] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_table_of_contents_section.length > 1) { /+ scroll +/ @@ -2521,7 +2520,7 @@ if (the_table_of_contents_section.length > 1) { ***** ↻ Loop section: document body [bd] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ multiple 1~ levels, loop through document body +/ if (the_document_body_section.length > 1) { @@ -2572,7 +2571,7 @@ auto image_list = (_images.sort()).uniq; - endnotes have their own number, (also use in node) and they belong to calling object -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ optional only one 1~ level +/ if (the_endnotes_section.length > 1) { @@ -2615,7 +2614,7 @@ if (the_endnotes_section.length > 1) { - add glossary numbering, (also use in node) no need to show in text -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ optional only one 1~ level +/ if (the_glossary_section.length > 1) { @@ -2658,7 +2657,7 @@ if (the_glossary_section.length > 1) { - add bibliography numbering, (also use in node) no need to show in text -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ optional only one 1~ level +/ if (the_bibliography_section.length > 1) { @@ -2701,7 +2700,7 @@ if (the_bibliography_section.length > 1) { - add book index numbering?, (also use in node) no need to show in text -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ optional only one 1~ level +/ int ocn_ = obj_cite_digits.object_number; @@ -2754,7 +2753,7 @@ if (the_bookindex_section.length > 1) { / ***** ↻ Loop section: blurb [bl] -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ optional only one 1~ level +/ if (the_blurb_section.length > 1) { @@ -2795,7 +2794,7 @@ if (the_blurb_section.length > 1) { ***** ↻ Loop sections: get decendants -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d if (the_document_body_section.length > 1) { auto pairs = get_decendants( @@ -2893,7 +2892,7 @@ if (the_document_body_section.length > 1) { **** TODO update BUG? -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d /+ TODO - note create/insert heading object sole purpose eof close all open tags @@ -2931,7 +2930,7 @@ comp_obj_heading_ = comp_obj_heading_.obj_heading_ancestors(lv_ancestors_txt); ** 4. _return document tuple_ :post: *** _the document_ :document: -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d ObjGenericComposite[][string] document_the = [ "head": the_document_head_section, @@ -2951,7 +2950,7 @@ ObjGenericComposite[][string] document_the = [ *** document _section keys_ sequence -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d string[][string] document_section_keys_sequenced = [ "scroll": ["head", "toc", "body",], @@ -2999,7 +2998,7 @@ if ((opt_action.html) *** dup -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d string[] segnames_4 = segnames["html"].dup; string[] segnames_lv1_to_4 = segnames["epub"].dup; @@ -3011,7 +3010,7 @@ debug(segnames) { *** clean out structure -#+name: abs_post +#+NAME: abs_post #+BEGIN_SRC d destroy(the_document_head_section); destroy(the_table_of_contents_section); @@ -3038,7 +3037,7 @@ dom_structure_collapsed_tags_status_buffer = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; *** doc_has struct -#+name: abs_struct_doc_has +#+NAME: abs_struct_doc_has #+BEGIN_SRC d @safe auto doc_has() { struct DocHas_ { @@ -3094,7 +3093,7 @@ dom_structure_collapsed_tags_status_buffer = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; *** _return the document tuple_ [#A] :return:tuple: -#+name: abs_return_tuple +#+NAME: abs_return_tuple #+BEGIN_SRC d auto t = tuple( document_the, @@ -3110,7 +3109,7 @@ functions used in document abstraction *** set & resets :reset: **** object reset: remove (clean) :object:remove: -#+name: abs_functions_object_reset +#+NAME: abs_functions_object_reset #+BEGIN_SRC d @safe static string[string] object_reset()(string[string] an_object) { an_object.remove("body_nugget"); @@ -3124,7 +3123,7 @@ functions used in document abstraction **** set, initialize or re-initialize :set: -#+name: abs_functions_header_set_common +#+NAME: abs_functions_header_set_common #+BEGIN_SRC d @system void flow_common_reset_()( return ref int[string] line_occur, @@ -3141,7 +3140,7 @@ functions used in document abstraction *** check object_number status in document :ocn: -#+name: abs_functions_ocn_status +#+NAME: abs_functions_ocn_status #+BEGIN_SRC d @safe static int[string] _check_ocn_status_()( char[] line, @@ -3207,7 +3206,7 @@ functions used in document abstraction *** make substitutions **** project -#+name: abs_functions_substitutions +#+NAME: abs_functions_substitutions #+BEGIN_SRC d @safe char[] _doc_header_and_make_substitutions_(CMM)( char[] line, @@ -3228,7 +3227,7 @@ functions used in document abstraction **** fontface -#+name: abs_functions_substitutions +#+NAME: abs_functions_substitutions #+BEGIN_SRC d @safe char[] _doc_header_and_make_substitutions_fontface_(CMM)( char[] line, @@ -3261,7 +3260,7 @@ functions used in document abstraction **** block start (open) block :start: ***** { block starts function -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d @safe void flow_txt_block_start()( char[] line, @@ -3273,14 +3272,14 @@ functions used in document abstraction ****** block (various) curly open :curly: -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d static auto rgx = Rgx(); #+END_SRC ******* code -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d if (auto m = line.matchFirst(rgx.block_curly_code_open)) { dochas["codeblock"]++; @@ -3300,7 +3299,7 @@ functions used in document abstraction ******* poem -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_poem_open)) { dochas["poem"]++; @@ -3322,7 +3321,7 @@ functions used in document abstraction ******* group -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_group_open)) { dochas["group"]++; @@ -3342,7 +3341,7 @@ functions used in document abstraction ******* block -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_block_open)) { dochas["block"]++; @@ -3362,7 +3361,7 @@ functions used in document abstraction ******* quote -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_quote_open)) { dochas["quote"]++; @@ -3382,7 +3381,7 @@ functions used in document abstraction ******* table -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_table_open)) { /+ curly table open +/ debug(table) { // table (curly) open @@ -3401,7 +3400,7 @@ functions used in document abstraction ******* table special -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_curly_table_special_markup)) { /+ table: special table block markup syntax! +/ dochas["table"]++; @@ -3415,7 +3414,7 @@ functions used in document abstraction ****** block (various) tic open :tic: ******* code -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_code_open)) { dochas["codeblock"]++; @@ -3435,7 +3434,7 @@ functions used in document abstraction ******* poem -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_poem_open)) { dochas["poem"]++; @@ -3457,7 +3456,7 @@ functions used in document abstraction ******* group -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_group_open)) { dochas["group"]++; @@ -3477,7 +3476,7 @@ functions used in document abstraction ******* block -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_block_open)) { dochas["block"]++; @@ -3497,7 +3496,7 @@ functions used in document abstraction ******* quote -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_quote_open)) { dochas["quote"]++; @@ -3517,7 +3516,7 @@ functions used in document abstraction ******* table -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } else if (auto m = line.matchFirst(rgx.block_tic_table_open)) { /+ tic table open +/ debug(table) { // table (tic) open @@ -3537,7 +3536,7 @@ functions used in document abstraction ***** } -#+name: abs_functions_block +#+NAME: abs_functions_block #+BEGIN_SRC d } #+END_SRC @@ -3545,7 +3544,7 @@ functions used in document abstraction **** block continue (an open block) :continue: ***** _code block_ (special status, deal with first) :code: -#+name: abs_functions_block_code +#+NAME: abs_functions_block_code #+BEGIN_SRC d @safe void flow_txt_block_code()( char[] line, @@ -3594,7 +3593,7 @@ functions used in document abstraction ***** biblio block :biblio: ****** biblio tag map -#+name: abs_functions_block_biblio +#+NAME: abs_functions_block_biblio #+BEGIN_SRC d @safe final string biblio_tag_map()(string abr) { auto btm = [ @@ -3619,7 +3618,7 @@ functions used in document abstraction ******* +consider+ -#+name: none +#+NAME: none #+BEGIN_SRC d final string biblio_tag_map_()(string abr) { string name; @@ -3646,7 +3645,7 @@ final string biblio_tag_map_()(string abr) { ****** biblio block -#+name: abs_functions_block_biblio +#+NAME: abs_functions_block_biblio #+BEGIN_SRC d @system void flow_txt_block_biblio( char[] line, @@ -3781,7 +3780,7 @@ final string biblio_tag_map_()(string abr) { ***** quote block :quote: -#+name: abs_functions_block_quote +#+NAME: abs_functions_block_quote #+BEGIN_SRC d @safe string[string] flow_txt_block_quote()( char[] line, @@ -3829,7 +3828,7 @@ final string biblio_tag_map_()(string abr) { - apply inline markup - discard leading and newline whitespace -#+name: abs_functions_block_group +#+NAME: abs_functions_block_group #+BEGIN_SRC d @safe string[string] flow_txt_block_group()( char[] line, @@ -3878,7 +3877,7 @@ final string biblio_tag_map_()(string abr) { - keep whitespace indentation - keep newlines -#+name: abs_functions_block_block +#+NAME: abs_functions_block_block #+BEGIN_SRC d @safe string[string] flow_txt_block_block()( char[] line, @@ -3925,7 +3924,7 @@ final string biblio_tag_map_()(string abr) { why extra object stuff only in poem/verse? -#+name: abs_functions_block_poem +#+NAME: abs_functions_block_poem #+BEGIN_SRC d @safe string[string] flow_txt_block_poem(CMM)( char[] line, @@ -4189,7 +4188,7 @@ you need: - show table walls, bool - table content marked up in uniform way -#+name: abs_functions_block_table +#+NAME: abs_functions_block_table #+BEGIN_SRC d @system string[string] flow_txt_block_table(CMM)( char[] line, @@ -4259,7 +4258,7 @@ process and use an_object["table_head"] (then empty it) - table_column_widths, int[] column widths (as given or calculate average) - show table walls, bool -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d @system void flow_table_closed_make_special_notation_table_(N,CMM)( char[] line, @@ -4308,7 +4307,7 @@ process and use an_object["table_head"] (then empty it) ***** { line empty, _make block_ -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d @system string[string] flow_block_flag_line_empty_(B,N,CMM,Ts)( char[] line, @@ -4339,7 +4338,7 @@ process and use an_object["table_head"] (then empty it) ****** make: quote block -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d if (obj_type_status["quote"] == TriState.closing) { obj_cite_digits = ocn_emit(obj_type_status["ocn_status"]); @@ -4396,7 +4395,7 @@ process and use an_object["table_head"] (then empty it) ****** make: group block -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d } else if (obj_type_status["group"] == TriState.closing) { obj_cite_digits = ocn_emit(obj_type_status["ocn_status"]); @@ -4453,7 +4452,7 @@ process and use an_object["table_head"] (then empty it) ****** make: block -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d } else if (obj_type_status["block"] == TriState.closing) { obj_cite_digits = ocn_emit(obj_type_status["ocn_status"]); @@ -4509,7 +4508,7 @@ process and use an_object["table_head"] (then empty it) ****** make: poem -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d } else if (obj_type_status["poem"] == TriState.closing) { an_object["bookindex_nugget"] @@ -4552,7 +4551,7 @@ process and use an_object["table_head"] (then empty it) ****** make: code block -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d } else if (obj_type_status["code"] == TriState.closing) { obj_cite_digits = ocn_emit(obj_type_status["ocn_status"]); @@ -4609,7 +4608,7 @@ process and use an_object["table_head"] (then empty it) ****** make: table -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d } else if (obj_type_status["table"] == TriState.closing) { comp_obj_block = comp_obj_block.init; @@ -4658,7 +4657,7 @@ process and use an_object["table_head"] (then empty it) ***** } -#+name: abs_functions_block_line_status_empty +#+NAME: abs_functions_block_line_status_empty #+BEGIN_SRC d return an_object; } @@ -4666,7 +4665,7 @@ process and use an_object["table_head"] (then empty it) *** book index :bookindex: -#+name: abs_functions_book_index +#+NAME: abs_functions_book_index #+BEGIN_SRC d @system string[string] flow_book_index_(B)( char[] line, @@ -4723,7 +4722,7 @@ process and use an_object["table_head"] (then empty it) *** heading or paragraph :heading:paragraph: **** heading found :heading: -#+name: abs_functions_heading +#+NAME: abs_functions_heading #+BEGIN_SRC d @safe string[string] flow_heading_found_()( char[] line, @@ -4810,7 +4809,7 @@ process and use an_object["table_head"] (then empty it) **** heading make set :heading: -#+name: abs_functions_heading +#+NAME: abs_functions_heading #+BEGIN_SRC d @safe char[] flow_heading_make_set_()( char[] line, @@ -4872,7 +4871,7 @@ process and use an_object["table_head"] (then empty it) **** heading match :heading: -#+name: abs_functions_heading +#+NAME: abs_functions_heading #+BEGIN_SRC d @safe string[string] flow_heading_matched_(CMM)( char[] line, @@ -5031,7 +5030,7 @@ process and use an_object["table_head"] (then empty it) **** para match :para: -#+name: abs_functions_para +#+NAME: abs_functions_para #+BEGIN_SRC d @safe string[string] flow_para_match_()( char[] line, @@ -5090,7 +5089,7 @@ process and use an_object["table_head"] (then empty it) **** text font face -#+name: abs_functions_para +#+NAME: abs_functions_para #+BEGIN_SRC d @safe char[] font_faces_line()( char[] textline, @@ -5127,7 +5126,7 @@ process and use an_object["table_head"] (then empty it) ***** table instructions -#+name: abs_functions_table +#+NAME: abs_functions_table #+BEGIN_SRC d @safe ObjGenericComposite flow_table_instructions(H)( return ref ObjGenericComposite table_object, @@ -5158,7 +5157,7 @@ process and use an_object["table_head"] (then empty it) ***** table array munge -#+name: abs_functions_table +#+NAME: abs_functions_table #+BEGIN_SRC d @safe ObjGenericComposite flow_table_array_munge(T)( return ref ObjGenericComposite table_object, @@ -5288,7 +5287,7 @@ process and use an_object["table_head"] (then empty it) ***** table substantive munge -#+name: abs_functions_table +#+NAME: abs_functions_table #+BEGIN_SRC d @system ObjGenericComposite flow_table_substantive_munge(T)( return ref ObjGenericComposite table_object, @@ -5310,7 +5309,7 @@ process and use an_object["table_head"] (then empty it) ***** table substantive munge special -#+name: abs_functions_table +#+NAME: abs_functions_table #+BEGIN_SRC d @system ObjGenericComposite flow_table_substantive_munge_special(T)( return ref ObjGenericComposite table_object, @@ -5334,7 +5333,7 @@ process and use an_object["table_head"] (then empty it) **** object :object: ***** ocn :ocn: -#+name: meta_emitters_ocn +#+NAME: meta_emitters_ocn #+BEGIN_SRC d @safe pure struct OCNemitter { int ocn_digit, ocn_object_number, ocn_on_, ocn_off_, ocn_bkidx, ocn_bkidx_; @@ -5390,7 +5389,7 @@ process and use an_object["table_head"] (then empty it) ****** { struct, inline markup munge -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe static struct ObjInlineMarkupMunge { string[string] obj_txt; @@ -5408,7 +5407,7 @@ process and use an_object["table_head"] (then empty it) } #+END_SRC -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe static auto images()(string obj_txt_in) { static auto mng = InlineMarkup(); @@ -5444,7 +5443,7 @@ process and use an_object["table_head"] (then empty it) ******* footnotes endnotes markup -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe TxtPlusHasFootnotes footnotes_endnotes_markup_and_number_or_stars()(string obj_txt_in, bool reset_note_numbers) { /+ endnotes (regular) +/ @@ -5514,7 +5513,7 @@ process and use an_object["table_head"] (then empty it) ******* object notes and links -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe private TxtPlusHasFootnotesUrlsImages object_notes_and_links_()( string obj_txt_in, @@ -5585,7 +5584,7 @@ process and use an_object["table_head"] (then empty it) - identified text by heading level marker followed by text until two new lines - general markup -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe auto munge_heading()( string obj_txt_in, @@ -5616,7 +5615,7 @@ process and use an_object["table_head"] (then empty it) - footnotes/endnotes - links -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe auto munge_para()(string obj_txt_in) { obj_txt["munge"]=(obj_txt_in) @@ -5635,7 +5634,7 @@ process and use an_object["table_head"] (then empty it) ******* quote -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe string munge_quote()(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5654,7 +5653,7 @@ process and use an_object["table_head"] (then empty it) - links - newlines detected and kept? -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe auto munge_group(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5674,7 +5673,7 @@ process and use an_object["table_head"] (then empty it) - links - newlines detected and kept? -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe auto munge_block()(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5694,7 +5693,7 @@ process and use an_object["table_head"] (then empty it) - footnotes/endnotes - links? -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe auto munge_verse()(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5713,7 +5712,7 @@ process and use an_object["table_head"] (then empty it) - no general markup - one special character represented by mkup.nbsp ░ -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe string munge_code()(string obj_txt_in) { obj_txt_in = obj_txt_in.replaceAll(rgx.space, mkup.nbsp); @@ -5728,7 +5727,7 @@ process and use an_object["table_head"] (then empty it) - table block identified by open an close tags - table markup -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe string munge_table()(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5740,7 +5739,7 @@ process and use an_object["table_head"] (then empty it) ******* comment -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d @safe string munge_comment()(string obj_txt_in) { obj_txt["munge"]=obj_txt_in; @@ -5752,7 +5751,7 @@ process and use an_object["table_head"] (then empty it) ****** } -#+name: meta_emitters_obj_inline_markup_munge +#+NAME: meta_emitters_obj_inline_markup_munge #+BEGIN_SRC d } #+END_SRC @@ -5760,7 +5759,7 @@ process and use an_object["table_head"] (then empty it) ***** toc, tags, object inline markup :markup:inline: ****** { -#+name: meta_emitters_obj_inline_markup +#+NAME: meta_emitters_obj_inline_markup #+BEGIN_SRC d static struct ObjInlineMarkup { static auto rgx = Rgx(); @@ -5771,7 +5770,7 @@ static struct ObjInlineMarkup { ******* object inline markup and anchor tags :markup:inline: -#+name: meta_emitters_obj_inline_markup_and_anchor_tags_and_misc +#+NAME: meta_emitters_obj_inline_markup_and_anchor_tags_and_misc #+BEGIN_SRC d @safe TxtAndAnchorTagPlusHasFootnotesUrlsImages obj_inline_markup_and_anchor_tags_and_misc(CMM)( string[string] obj_, @@ -5870,7 +5869,7 @@ static struct ObjInlineMarkup { ******* toc (table of contents), build, gather headings :markup:inline: -#+name: meta_emitters_obj_inline_markup_table_of_contents +#+NAME: meta_emitters_obj_inline_markup_table_of_contents #+BEGIN_SRC d @safe auto _clean_heading_toc_()( char[] heading_toc_, @@ -5971,14 +5970,14 @@ static struct ObjInlineMarkup { ******* private: -#+name: meta_emitters_obj_inline_markup_private +#+NAME: meta_emitters_obj_inline_markup_private #+BEGIN_SRC d private: #+END_SRC ******** make heading number & segment anchor tags if instructed :markup:inline:segment:anchor:tags: -#+name: meta_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags +#+NAME: meta_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags #+BEGIN_SRC d static int[] heading_num = [ 0, 0, 0, 0 ]; static string heading_number_auto_composite = ""; @@ -6131,7 +6130,7 @@ private: ******** make segment anchor tags if not provided :markup:inline:segment:anchor:tags: -#+name: meta_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags +#+NAME: meta_emitters_obj_inline_markup_heading_numbering_segment_anchor_tags #+BEGIN_SRC d static int heading_num_lev1 = 0; @safe static string _make_segment_anchor_tags_if_none_provided()( @@ -6171,7 +6170,7 @@ private: ****** } -#+name: meta_emitters_obj_inline_markup_close +#+NAME: meta_emitters_obj_inline_markup_close #+BEGIN_SRC d } #+END_SRC @@ -6179,7 +6178,7 @@ private: ***** object attrib :attributes: ****** { attributes structure open, public -#+name: meta_emitters_obj_attributes +#+NAME: meta_emitters_obj_attributes #+BEGIN_SRC d struct ObjAttributes { string[string] _obj_attrib; @@ -6187,7 +6186,7 @@ struct ObjAttributes { ******* emitter obj attributes, public -#+name: meta_emitters_obj_attributes_public +#+NAME: meta_emitters_obj_attributes_public #+BEGIN_SRC d @safe string obj_attributes()( string obj_is_, @@ -6254,7 +6253,7 @@ struct ObjAttributes { ******* private -#+name: meta_emitters_obj_attributes_private +#+NAME: meta_emitters_obj_attributes_private #+BEGIN_SRC d private: string _obj_attributes; @@ -6262,7 +6261,7 @@ struct ObjAttributes { ******** para & blocks -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_para_and_blocks()(string obj_txt_in) { if (obj_txt_in.matchFirst(rgx.para_bullet)) { @@ -6292,7 +6291,7 @@ struct ObjAttributes { ******** heading -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_heading()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6306,7 +6305,7 @@ struct ObjAttributes { ******** para -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_para()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6320,7 +6319,7 @@ struct ObjAttributes { ******** quote -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_quote()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6334,7 +6333,7 @@ struct ObjAttributes { ******** group -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_group()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6348,7 +6347,7 @@ struct ObjAttributes { ******** block -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_block()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6362,7 +6361,7 @@ struct ObjAttributes { ******** verse -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_verse()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6376,7 +6375,7 @@ struct ObjAttributes { ******** code -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_code()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6390,7 +6389,7 @@ struct ObjAttributes { ******** table -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_table()(string obj_txt_in) { _obj_attributes = " \"use\": \"content\"," @@ -6404,7 +6403,7 @@ struct ObjAttributes { ******** comment -#+name: meta_emitters_obj_attributes_private_an_attribute +#+NAME: meta_emitters_obj_attributes_private_an_attribute #+BEGIN_SRC d @safe string txt_comment()(string obj_txt_in) { _obj_attributes = " \"use\": \"comment\"," @@ -6418,7 +6417,7 @@ struct ObjAttributes { ******** set additional attribute values, parse as json -#+name: meta_emitters_obj_attributes_private_json +#+NAME: meta_emitters_obj_attributes_private_json #+BEGIN_SRC d @safe string _set_additional_values_parse_as_json()( string _obj_attrib, @@ -6447,7 +6446,7 @@ struct ObjAttributes { ****** } -#+name: meta_emitters_obj_attributes_private_close +#+NAME: meta_emitters_obj_attributes_private_close #+BEGIN_SRC d } #+END_SRC @@ -6455,7 +6454,7 @@ struct ObjAttributes { **** book index :book:index: ***** book index nugget hash :hash:nugget: -#+name: meta_emitters_book_index_nugget +#+NAME: meta_emitters_book_index_nugget #+BEGIN_SRC d struct BookIndexNuggetHash { string main_term, sub_term, sub_term_bits; @@ -6535,7 +6534,7 @@ struct BookIndexNuggetHash { ***** book index (sort &) report indented :report:indented: -#+name: meta_emitters_book_index_report_indented +#+NAME: meta_emitters_book_index_report_indented #+BEGIN_SRC d struct BookIndexReportIndent { int mkn, skn; @@ -6568,7 +6567,7 @@ struct BookIndexReportIndent { ***** book index (sort &) report section :report:section: ****** { book index struct open -#+name: meta_emitters_book_index_report_section +#+NAME: meta_emitters_book_index_report_section #+BEGIN_SRC d struct BookIndexReportSection { int mkn, skn; @@ -6578,7 +6577,7 @@ struct BookIndexReportSection { ******* bookindex write section -#+name: meta_emitters_book_index_report_section +#+NAME: meta_emitters_book_index_report_section #+BEGIN_SRC d @safe void bookindex_write_section()( string[][string][string] bookindex_unordered_hashes @@ -6613,7 +6612,7 @@ struct BookIndexReportSection { ******* book index (sort &) build section :report:section: -#+name: meta_emitters_book_index_report_section +#+NAME: meta_emitters_book_index_report_section #+BEGIN_SRC d @system auto bookindex_build_abstraction_section(N,B)( string[][string][string] bookindex_unordered_hashes, @@ -6776,14 +6775,14 @@ struct BookIndexReportSection { ****** } -#+name: meta_emitters_book_index_report_section +#+NAME: meta_emitters_book_index_report_section #+BEGIN_SRC d } #+END_SRC **** (end)notes section :endnotes:section: -#+name: meta_emitters_endnotes +#+NAME: meta_emitters_endnotes #+BEGIN_SRC d struct NotesSection { string[string] object_notes; @@ -6794,7 +6793,7 @@ struct NotesSection { ***** { gather notes for endnote section struct open -#+name: meta_emitters_endnotes +#+NAME: meta_emitters_endnotes #+BEGIN_SRC d @safe private auto gather_notes_for_endnote_section( ObjGenericComposite[] contents_am, @@ -6880,7 +6879,7 @@ struct NotesSection { ****** gathered notes -#+name: meta_emitters_endnotes +#+NAME: meta_emitters_endnotes #+BEGIN_SRC d @safe private auto gathered_notes() { string[][string] endnotes_; @@ -6897,7 +6896,7 @@ struct NotesSection { ****** endnote objects -#+name: meta_emitters_endnotes +#+NAME: meta_emitters_endnotes #+BEGIN_SRC d @safe private auto endnote_objects(N,O)( N obj_cite_digits, @@ -7013,7 +7012,7 @@ struct NotesSection { ***** } -#+name: meta_emitters_endnotes +#+NAME: meta_emitters_endnotes #+BEGIN_SRC d } #+END_SRC @@ -7021,14 +7020,14 @@ struct NotesSection { **** bibliography :bibliography: ***** { biblio struct -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d struct Bibliography { #+END_SRC ****** biblio -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d @system public JSONValue[] flow_bibliography_()( return ref string[] biblio_unsorted_incomplete, @@ -7059,7 +7058,7 @@ struct Bibliography { ****** biblio unsorted complete -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d @system final private JSONValue[] biblio_make_unsorted_array_of_json_objects()( string[] biblio_unordered, @@ -7093,7 +7092,7 @@ struct Bibliography { ****** biblio sort -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d @system final private JSONValue[] biblio_sort()(JSONValue[] biblio_unordered) { JSONValue[] biblio_sorted_; @@ -7114,7 +7113,7 @@ struct Bibliography { ****** biblio debug -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d @system void biblio_debug()(JSONValue[] biblio_sorted) { debug(biblio0) { @@ -7129,7 +7128,7 @@ struct Bibliography { ***** } -#+name: meta_emitters_bibliography +#+NAME: meta_emitters_bibliography #+BEGIN_SRC d } #+END_SRC @@ -7137,7 +7136,7 @@ struct Bibliography { **** node structure metadata :structure:metadata:node: ***** { metadata node struct -#+name: meta_emitters_metadata +#+NAME: meta_emitters_metadata #+BEGIN_SRC d struct NodeStructureMetadata { int lv, lv0, lv1, lv2, lv3, lv4, lv5, lv6, lv7; @@ -7148,7 +7147,7 @@ struct NodeStructureMetadata { ****** node metadata emitter -#+name: meta_emitters_metadata +#+NAME: meta_emitters_metadata #+BEGIN_SRC d @safe ObjGenericComposite node_location_emitter(La,Ta,N)( string lev_markup_number, @@ -7208,7 +7207,7 @@ struct NodeStructureMetadata { ****** node metadata emitter heading, (including most segnames & their pointers) -#+name: meta_emitters_metadata +#+NAME: meta_emitters_metadata #+BEGIN_SRC d @safe ObjGenericComposite node_emitter_heading(Hd,TaL,TA,N,fNr,fNs,fL)( string _text, @@ -7410,7 +7409,7 @@ struct NodeStructureMetadata { ***** } -#+name: meta_emitters_metadata +#+NAME: meta_emitters_metadata #+BEGIN_SRC d } #+END_SRC @@ -7418,7 +7417,7 @@ struct NodeStructureMetadata { *** function assertions :assertions: **** assertions on markup document structure :doc_structure: -#+name: abs_functions_assertions +#+NAME: abs_functions_assertions #+BEGIN_SRC d @safe pure void assertions_doc_structure()( string[string] an_object, @@ -7599,7 +7598,7 @@ struct NodeStructureMetadata { **** assertions on blocks :blocks: -#+name: abs_functions_assertions +#+NAME: abs_functions_assertions #+BEGIN_SRC d @safe pure void assertions_flag_types_block_status_none_or_closed()(int[string] obj_type_status) { assert( @@ -7627,7 +7626,7 @@ struct NodeStructureMetadata { *** doc sect keys seq -#+name: template_doc_sect_keys_seq +#+NAME: template_doc_sect_keys_seq #+BEGIN_SRC d template docSectKeysSeq() { @safe auto docSectKeysSeq(string[][string] document_section_keys_sequenced) { @@ -7686,7 +7685,7 @@ struct HeadingAttrib { *** _composite object_ [#A] -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_MetaInfo_ { string is_of_part = ""; // frontmatter, body, backmatter @@ -7765,7 +7764,7 @@ struct DocObj_MetaInfo_ { **** object text attributes -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_TxtAttrib_ { int indent_base = 0; @@ -7777,7 +7776,7 @@ struct DocObj_TxtAttrib_ { **** object has within it -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_Has_ { bool inline_links = false; @@ -7790,7 +7789,7 @@ struct DocObj_Has_ { **** table attributes -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_Table_ { int number_of_columns = 0; @@ -7803,7 +7802,7 @@ struct DocObj_Table_ { **** code attributes -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_CodeBlock_ { string syntax = ""; @@ -7813,7 +7812,7 @@ struct DocObj_CodeBlock_ { **** stow (things to be protected from regular text transformations, so far links) -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_Stow_ { string[] link = []; @@ -7822,7 +7821,7 @@ struct DocObj_Stow_ { **** pointers -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_Pointer_ { int doc_object = 0; @@ -7833,7 +7832,7 @@ struct DocObj_Pointer_ { **** tags -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct DocObj_Tags_ { string[] heading_ancestors_text = [ "", "", "", "", "", "", "", "", ]; @@ -7852,7 +7851,7 @@ struct DocObj_Tags_ { **** composite object the parts -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct ObjGenericComposite { string text = ""; @@ -7869,7 +7868,7 @@ struct ObjGenericComposite { *** The Objects: generic composite object array -#+name: meta_structs_init +#+NAME: meta_structs_init #+BEGIN_SRC d struct TheObjects { ObjGenericComposite[] oca; diff --git a/org/out_harvest_metadata.org b/org/out_harvest_metadata.org index cb26cf0..ba62bd1 100644 --- a/org/out_harvest_metadata.org +++ b/org/out_harvest_metadata.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:hub: #+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 :results silent :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 * document harvest _summary_ :module:spine:metadoc_show_summary: @@ -37,7 +36,7 @@ template spineMetaDocHarvest() { ** init *** imports -#+name: metadoc_harvest_imports +#+NAME: metadoc_harvest_imports #+BEGIN_SRC d import doc_reform.meta.defaults, @@ -56,14 +55,14 @@ import *** initialize :report: -#+name: metadoc_harvest_initialize +#+NAME: metadoc_harvest_initialize #+BEGIN_SRC d static auto mkup = InlineMarkup(); #+END_SRC ** harvest summary -#+name: meta_metadoc_harvest_summary +#+NAME: meta_metadoc_harvest_summary #+BEGIN_SRC d auto min_repeat_number = 66; auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length @@ -84,7 +83,7 @@ writefln( ** return harvest -#+name: meta_metadoc_harvest +#+NAME: meta_metadoc_harvest #+BEGIN_SRC d import doc_reform.io_out.paths_output; auto pth_html_abs = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language); diff --git a/org/out_latex.org b/org/out_latex.org index cb73d5c..9424078 100644 --- a/org/out_latex.org +++ b/org/out_latex.org @@ -4,14 +4,15 @@ #+FILETAGS: :spine:output:latex:pdf: #+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 :results silent :padline no :exports code :cache no :noweb yes -#+EXPORT_SELECT_TAGS: export +#+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]] @@ -48,7 +49,7 @@ template outputLaTeX() { ** write latex output :latex:out: -#+name: output_latex +#+NAME: output_latex #+BEGIN_SRC d void writeOutputLaTeX(T,M)( const T latex_content, @@ -89,7 +90,7 @@ void writeOutputLaTeX(T,M)( ** latex output hub [#A] :latex:pdf:out: -#+name: output_latex +#+NAME: output_latex #+BEGIN_SRC d void outputLaTeX(D,M)( const D doc_abstraction, @@ -111,7 +112,7 @@ void outputLaTeX(D,M)( * stuff ** output imports -#+name: output_latex_imports +#+NAME: output_latex_imports #+BEGIN_SRC d import doc_reform.io_out; import @@ -125,7 +126,7 @@ import ** shared *** paper dimensions (struct) -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d auto paper() { struct PaperType { @@ -242,7 +243,7 @@ import *** latex \escape special characters **** general -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string sp_char_esc(O)( string _txt, @@ -271,7 +272,7 @@ import } #+END_SRC -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string sp_char_esc_txt()( string _txt, @@ -313,7 +314,7 @@ import - bold, italics, underscore, strikethrough -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string fontface()( string _txt, @@ -336,7 +337,7 @@ _txt = _txt **** spaces ***** leading hardspace -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string leading_hardspaces()( string _txt, @@ -353,7 +354,7 @@ _txt = _txt ***** nbsp character -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string nbsp_char()(string _txt) { if (_txt.match(rgx.nbsp_char)) { @@ -365,7 +366,7 @@ _txt = _txt ***** remove nbsp character -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string nbsp_char_to_space()(string _txt) { if (_txt.match(rgx.nbsp_char)) { @@ -378,7 +379,7 @@ _txt = _txt **** links and images ***** links / urls -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string links_and_images(O,M)( string _txt, @@ -430,7 +431,7 @@ _txt = _txt *** footnotes **** footnotes -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string footnotes()( string _txt, @@ -451,7 +452,7 @@ _txt = _txt **** footnote remove -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string remove_footnotes()( string _txt, @@ -466,7 +467,7 @@ _txt = _txt *** para **** para -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string para(O)( string _txt, @@ -487,7 +488,7 @@ _txt = _txt **** bookindex para -#+name: output_latex_shared +#+NAME: output_latex_shared #+BEGIN_SRC d @safe string bookindex(O)( string _txt, @@ -508,7 +509,7 @@ _txt = _txt *** bullets & indentation -#+name: output_latex_head +#+NAME: output_latex_head #+BEGIN_SRC d @safe string bullets_and_indentation(O)( string _txt, @@ -553,7 +554,7 @@ _txt = _txt *** heading -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d @safe string heading(O,M)( string _txt, @@ -727,7 +728,7 @@ _txt = _txt - (hardspace not honored) clear hardspace marker -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d string group(O,M)( string _txt, @@ -755,7 +756,7 @@ string group(O,M)( - (hardspace honored) \hardspace -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d string block(O,M)( string _txt, @@ -787,7 +788,7 @@ string block(O,M)( - (hardspace honored) \hardspace -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d string verse(O,M)( string _txt, @@ -819,7 +820,7 @@ string verse(O,M)( - (hardspace honored) \begin{lstlisting} clear hardspace marker -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d string codeblock(O,M)( string _txt, @@ -851,7 +852,7 @@ string codeblock(O,M)( ***** tablarize -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d auto tablarize(O)( string _txt, @@ -890,7 +891,7 @@ auto tablarize(O)( ***** table -#+name: output_latex_shared_0 +#+NAME: output_latex_shared_0 #+BEGIN_SRC d string table(O,M)( string _txt, @@ -945,7 +946,7 @@ string table(O,M)( *** latex head :head: **** latex head function -#+name: output_latex_head +#+NAME: output_latex_head #+BEGIN_SRC d string latex_head(M)( M doc_matters, @@ -956,7 +957,7 @@ string latex_head(M)( ***** paper type dimensions ****** struct -#+name: output_latex_head +#+NAME: output_latex_head #+BEGIN_SRC d struct paperType { string a4_portrait; @@ -969,7 +970,7 @@ string latex_head(M)( ****** footer -#+name: output_latex_head +#+NAME: output_latex_head #+BEGIN_SRC d string _footer(M)(M doc_matters) { string _ft = "\\lfoot[\\textrm{\\thepage}]"; @@ -1003,18 +1004,18 @@ string latex_head(M)( ****** a4, portrait -#+name: output_latex_head_1_format_string +#+NAME: output_latex_head_1_format_string #+BEGIN_SRC d paper.a4_portrait = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \documentclass[12pt,a4paper,titlepage]{scrartcl} \setlength{\textheight}{228mm} \setlength{\textwidth}{160mm} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1022,18 +1023,18 @@ string latex_head(M)( ****** a4, landscape -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d paper.a4_landscape = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \documentclass[11pt,a4paper,landscape,titlepage,twocolumn]{scrartcl} \setlength{\textheight}{160mm} \setlength{\textwidth}{238mm} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1041,18 +1042,18 @@ string latex_head(M)( ****** us letter, portrait -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d paper.us_letter_portrait = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \documentclass[12pt,letterpaper,titlepage]{scrartcl} \setlength{\textheight}{212mm} \setlength{\textwidth}{166mm} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1060,18 +1061,18 @@ string latex_head(M)( ****** us letter, landscape -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d paper.us_letter_landscape = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \documentclass[11pt,letterpaper,landscape,titlepage,twocolumn]{scrartcl} \setlength{\textheight}{166mm} \setlength{\textwidth}{226mm} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1080,7 +1081,7 @@ string latex_head(M)( ***** paper margins ****** struct -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d struct paperMargins { string portrait; @@ -1091,19 +1092,19 @@ string latex_head(M)( ****** portrait -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d margins.portrait = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \setlength{\oddsidemargin}{0mm} \setlength{\evensidemargin}{0mm} \setlength{\topmargin}{-12pt} \setlength{\headheight}{12pt} \setlength{\headsep}{35pt} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1111,19 +1112,19 @@ string latex_head(M)( ****** landscape -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d margins.landscape = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \setlength{\oddsidemargin}{6mm} \setlength{\evensidemargin}{6mm} \setlength{\topmargin}{-12mm} \setlength{\headheight}{12pt} \setlength{\headsep}{20pt} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1132,7 +1133,7 @@ string latex_head(M)( ***** multicol ****** struct -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d struct columnsMulti { string portrait; @@ -1143,17 +1144,17 @@ string latex_head(M)( ****** portrait -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d multicol.portrait = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \usepackage{multicol} #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1161,7 +1162,7 @@ string latex_head(M)( ****** landscape -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d multicol.landscape = ""; #+END_SRC @@ -1169,7 +1170,7 @@ string latex_head(M)( ***** color links ****** struct -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d struct colorLinks { string mono; @@ -1180,12 +1181,12 @@ string latex_head(M)( ****** mono -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d links.mono = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \usepackage[xetex, colorlinks=true, @@ -1194,7 +1195,7 @@ string latex_head(M)( linkcolor=myblack, #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d ┃", ); @@ -1202,12 +1203,12 @@ string latex_head(M)( ****** color -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC d links.color = format(q"┃ #+END_SRC -#+name: output_latex_head_1_tex +#+NAME: output_latex_head_1_tex #+BEGIN_SRC latex \usepackage[xetex, colorlinks=true, @@ -1216,7 +1217,7 @@ string latex_head(M)( linkcolor=myred, %% \href{...} and \pageref{...} #+END_SRC -#+name: output_latex_head_1_format_string_variables +#+NAME: output_latex_head_1_format_string_variables #+BEGIN_SRC d ┃", ); @@ -1224,14 +1225,14 @@ string latex_head(M)( **** latex head starts -#+name: output_latex_head_0_format_string +#+NAME: output_latex_head_0_format_string #+BEGIN_SRC d string _latex_head = format(q"┃%%%% spine LaTeX output #+END_SRC ***** description comment -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex %%%% Generated by: %s %%%% D version: %s @@ -1247,7 +1248,7 @@ string latex_head(M)( - paper.us_letter_portrait - paper.us_letter_landscape -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex %s #+END_SRC @@ -1257,14 +1258,14 @@ string latex_head(M)( - margins.portrait - margins.landscape -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex %s #+END_SRC ***** margin shared -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \setlength{\marginparsep}{4mm} \setlength{\marginparwidth}{8mm} @@ -1272,14 +1273,14 @@ string latex_head(M)( ***** multicol (portrait | landscape) -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex %s #+END_SRC ***** language & font -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage{polyglossia, ucs, fontspec, xltxtra, xunicode} \setmainlanguage{%s} @@ -1293,7 +1294,7 @@ string latex_head(M)( ***** latex head -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage{alltt} \usepackage{thumbpdf} @@ -1301,14 +1302,14 @@ string latex_head(M)( ***** color links: no = mono | yes = color -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex %s #+END_SRC ***** metadata -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex pdftitle={%s}, pdfauthor={%s}, @@ -1342,7 +1343,7 @@ string latex_head(M)( ***** define colors -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage[usenames]{color} \definecolor{myblack}{rgb}{0,0,0} @@ -1354,7 +1355,7 @@ string latex_head(M)( ***** latex head -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage{url} \urlstyle{sf} @@ -1364,7 +1365,7 @@ string latex_head(M)( ***** latex head -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage{textcomp} \usepackage[parfill]{parskip} @@ -1386,7 +1387,7 @@ string latex_head(M)( ***** indent, bullet, list -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage[multiple,ragged]{footmisc} \setlength\footnotemargin{12pt} @@ -1430,7 +1431,7 @@ string latex_head(M)( ***** part, section, subsection, paragraph, subparagraph -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \usepackage{fancyhdr} \lhead{} @@ -1464,7 +1465,7 @@ string latex_head(M)( ***** latex head misc. including defined commands -#+name: output_latex_head_0_tex +#+NAME: output_latex_head_0_tex #+BEGIN_SRC latex \selectlanguage{%s} \lhead[ ]{ } @@ -1525,7 +1526,7 @@ string latex_head(M)( **** latex head format inclusions -#+name: output_latex_head_0_format_string_variables +#+NAME: output_latex_head_0_format_string_variables #+BEGIN_SRC d ┃", doc_matters.opt.action.debug_do ? "" : doc_matters.generator_program.name_and_version.strip, @@ -1549,7 +1550,7 @@ string latex_head(M)( **** latex head return -#+name: output_latex_head_close +#+NAME: output_latex_head_close #+BEGIN_SRC d return _latex_head.strip; } @@ -1558,7 +1559,7 @@ string latex_head(M)( *** ↻ latex body :content:body: **** latex body function -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d string latex_body(D,M)( const D doc_abstraction, @@ -1571,7 +1572,7 @@ string latex_body(D,M)( **** ↻ loop open -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d foreach (part; doc_matters.has.keys_seq.latex) { foreach (obj; doc_abstraction[part]) { @@ -1581,7 +1582,7 @@ string latex_body(D,M)( **** ↻ within loop ***** frontmatter -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d case "frontmatter": assert(part == "head" || "toc"); _txt = obj.text @@ -1608,7 +1609,7 @@ string latex_body(D,M)( ***** body -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d case "body": assert(part == "body" || "head"); // surprise _txt = obj.text @@ -1670,7 +1671,7 @@ string latex_body(D,M)( ***** backmatter -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d case "backmatter": assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -1730,7 +1731,7 @@ string latex_body(D,M)( ***** after -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d case "comment": break; @@ -1755,7 +1756,7 @@ string latex_body(D,M)( **** latex body return -#+name: output_latex_body +#+NAME: output_latex_body #+BEGIN_SRC d return _latex_body; } @@ -1764,7 +1765,7 @@ string latex_body(D,M)( *** latex tail :tail: **** latex tail function -#+name: output_latex_tail +#+NAME: output_latex_tail #+BEGIN_SRC d string latex_tail(M)( M doc_matters, @@ -1773,7 +1774,7 @@ string latex_tail(M)( **** latex tail starts -#+name: output_latex_tail +#+NAME: output_latex_tail #+BEGIN_SRC d string _latex_tail = format(q"┃ #+END_SRC @@ -1783,7 +1784,7 @@ string latex_tail(M)( ***** latex document end -#+name: output_latex_tail_tex +#+NAME: output_latex_tail_tex #+BEGIN_SRC latex \end{document} @@ -1791,7 +1792,7 @@ string latex_tail(M)( **** latex tail format inclusions -#+name: output_latex_tail_close +#+NAME: output_latex_tail_close #+BEGIN_SRC d ┃", // doc_matters.conf_make_meta.meta.title_full, @@ -1801,7 +1802,7 @@ string latex_tail(M)( **** latex tail return -#+name: output_latex_tail_close +#+NAME: output_latex_tail_close #+BEGIN_SRC d return _latex_tail; } diff --git a/org/out_metadata.org b/org/out_metadata.org index 3208994..f7a428f 100644 --- a/org/out_metadata.org +++ b/org/out_metadata.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:metadata: #+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 * document harvest _summary_ :module:spine:metadoc_show_summary: @@ -37,7 +36,7 @@ template outputMetadata() { ** imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import std.file; import std.format; @@ -48,7 +47,7 @@ string[] metadata_; ** metadata -#+name: output_metadata +#+NAME: output_metadata #+BEGIN_SRC d static auto mkup = InlineMarkup(); if (doc_matters.opt.action.debug_do) { @@ -233,7 +232,7 @@ metadata_write_output(doc_matters, metadata_); ** metadata write output -#+name: output_metadata_write +#+NAME: output_metadata_write #+BEGIN_SRC d @safe void metadata_write_output(M)(M doc_matters, string[] metadata_) { auto pth_html = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language); diff --git a/org/out_odt.org b/org/out_odt.org index 224f303..c2ec6e0 100644 --- a/org/out_odt.org +++ b/org/out_odt.org @@ -4,14 +4,15 @@ #+FILETAGS: :spine:output:xml:odt: #+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 :results silent :padline no :exports code :cache no :noweb yes -#+EXPORT_SELECT_TAGS: export +#+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]] @@ -87,7 +88,7 @@ template outputODT() { **** object attrib ***** tags -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _tags(O)(const O obj) { string _tags = ""; @@ -111,7 +112,7 @@ template outputODT() { ****** anchor tags -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _xhtml_anchor_tags(O)(O obj) { const(string[]) anchor_tags = obj.tags.anchor_tags; @@ -129,7 +130,7 @@ template outputODT() { ***** ocn object number display -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string obj_num(O)(const O obj) { // TODO string _on; @@ -145,8 +146,8 @@ template outputODT() { ***** footnotes -#+name: odt_format_objects -#+begin_src d +#+NAME: odt_format_objects +#+BEGIN_SRC d @safe string _footnotes()(string _txt) { static auto rgx = Rgx(); _txt = _txt.replaceAll( @@ -166,11 +167,11 @@ template outputODT() { ); return _txt; } -#+end_src +#+END_SRC ***** bullet -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _bullet(O)(const O obj) { string _b = ""; @@ -183,7 +184,7 @@ template outputODT() { ***** para (with bullet, indent levels, footnotes extracted) -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _indent(O)(string _txt, const O obj) { // TODO // if (obj.attrib.indent_base > 0 || @@ -297,7 +298,7 @@ template outputODT() { ***** block type -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _block_type_delimiters(O)(string[] _block_lines, const O obj) { // TODO string _block = ""; @@ -338,7 +339,7 @@ template outputODT() { ***** special characters -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _special_characters(O)(string _txt, const O obj) { _txt = _txt @@ -353,7 +354,7 @@ template outputODT() { ***** preserve white space -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _preserve_white_spaces(O)(string _txt, const O obj) { if (obj.metainfo.is_a == "code" || obj.metainfo.is_a == "verse" || obj.metainfo.is_a == "block") { @@ -366,7 +367,7 @@ template outputODT() { ***** font_face -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d string _font_face(string _txt){ _txt = _txt @@ -386,7 +387,7 @@ string _font_face(string _txt){ ***** object number -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe auto _obj_num(O)(O obj) { // NOT USED YET struct objNum { @@ -415,7 +416,7 @@ string _font_face(string _txt){ ***** break page -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _break_page()() { return format(q"┃ @@ -436,7 +437,7 @@ string _font_face(string _txt){ ***** empty lines break -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _empty_line_break(O)(string _txt, const O obj) { if (obj.metainfo.is_a == "code" || obj.metainfo.is_a == "verse" || obj.metainfo.is_a == "block") { @@ -449,7 +450,7 @@ string _font_face(string _txt){ ***** links: url, mail -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _links(O)(string _txt, const O obj) { if (obj.metainfo.is_a != "code") { @@ -495,7 +496,7 @@ string _font_face(string _txt){ ***** image -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string _images(O)(string _txt, const O obj) { if (_txt.match(rgx.inline_image)) { @@ -512,7 +513,7 @@ string _font_face(string _txt){ **** markup hub (including font face) -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string markup(O)(const O obj) { /+ markup TODO +/ @@ -534,7 +535,7 @@ string _font_face(string _txt){ **** para type ***** heading -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string heading(O,M)( const O obj, @@ -584,7 +585,7 @@ string _font_face(string _txt){ ***** para -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string para(O,M)( const O obj, @@ -610,7 +611,7 @@ string _font_face(string _txt){ **** block type ***** quote -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string quote(O,M)( const O obj, @@ -631,7 +632,7 @@ string _font_face(string _txt){ - preserves double newlines (paragraph delimiter) - the "group" delimiter is different from the "block" delimiter in that groups do not preserve whitespace, the "block" mark does -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string group(O,M)( const O obj, @@ -666,7 +667,7 @@ string _font_face(string _txt){ - "^[ ]"   - count number only at beginning of line and replace each -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string block(O,M)( const O obj, @@ -689,7 +690,7 @@ string _font_face(string _txt){ - preserves spaces - preserves newlines -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string verse(O,M)( const O obj, @@ -708,7 +709,7 @@ string _font_face(string _txt){ ***** code -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe string code(O,M)( const O obj, @@ -762,7 +763,7 @@ string _font_face(string _txt){ ***** table ****** tablarize -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d @safe Tuple!(string, string) tablarize(O)( const O obj, @@ -802,7 +803,7 @@ string _font_face(string _txt){ ****** table -#+name: odt_format_objects +#+NAME: odt_format_objects #+BEGIN_SRC d int _table_number = 0; @safe string table(O,M)( @@ -842,7 +843,7 @@ int _table_number = 0; ** write odt output :odf:odt:out: -#+name: output_odt +#+NAME: output_odt #+BEGIN_SRC d void writeOutputODT(W,I)( const W odt_content, @@ -931,7 +932,7 @@ void writeOutputODT(W,I)( ** odt output hub [#A] :odf:odt:out: -#+name: output_odt +#+NAME: output_odt #+BEGIN_SRC d void outputODT(D,I)( const D doc_abstraction, @@ -967,7 +968,7 @@ void outputODT(D,I)( ** shared *** output imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import doc_reform.io_out; import @@ -985,7 +986,7 @@ import *** make directory tree -#+name: output_odt_fixed_dirtree +#+NAME: output_odt_fixed_dirtree #+BEGIN_SRC d void dirtree(I)( I doc_matters, @@ -1009,7 +1010,7 @@ void dirtree(I)( ** fixed items *** mimetype :mimetype: -#+name: output_odt_fixed_mimetype +#+NAME: output_odt_fixed_mimetype #+BEGIN_SRC d @safe string mimetype() { string mimetype_ = format(q"┃application/vnd.oasis.opendocument.text┃"); @@ -1019,13 +1020,13 @@ void dirtree(I)( *** manifest.rdf :manifest_rdf: -#+name: output_odt_fixed_manifest_rdf +#+NAME: output_odt_fixed_manifest_rdf #+BEGIN_SRC d @safe string manifest_rdf() { string _manifest_rdf = format(q"┃<?xml version="1.0" encoding="utf-8"?> #+END_SRC -#+name: output_odt_fixed_manifest_rdf +#+NAME: output_odt_fixed_manifest_rdf #+BEGIN_SRC xml <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="styles.xml"> @@ -1046,7 +1047,7 @@ void dirtree(I)( </rdf:RDF> #+END_SRC -#+name: output_odt_fixed_manifest_rdf +#+NAME: output_odt_fixed_manifest_rdf #+BEGIN_SRC d ┃"); return _manifest_rdf; @@ -1055,13 +1056,13 @@ void dirtree(I)( *** settings.xml :settings: -#+name: output_odt_fixed_settings_xml +#+NAME: output_odt_fixed_settings_xml #+BEGIN_SRC d @safe string settings_xml() { string _settings_xml = format(q"┃<?xml version="1.0" encoding="UTF-8"?> #+END_SRC -#+name: output_odt_fixed_settings_xml +#+NAME: output_odt_fixed_settings_xml #+BEGIN_SRC xml <office:document-settings xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.2"> <office:settings> @@ -1160,7 +1161,7 @@ void dirtree(I)( </office:document-settings> #+END_SRC -#+name: output_odt_fixed_settings_xml +#+NAME: output_odt_fixed_settings_xml #+BEGIN_SRC d ┃"); return _settings_xml; @@ -1169,13 +1170,13 @@ void dirtree(I)( *** styles.xml :styles_xml: -#+name: output_odt_fixed_styles_xml +#+NAME: output_odt_fixed_styles_xml #+BEGIN_SRC d @safe string styles_xml() { string _styles_xml = format(q"┃<?xml version="1.0" encoding="UTF-8"?> #+END_SRC -#+name: output_odt_fixed_styles_xml +#+NAME: output_odt_fixed_styles_xml #+BEGIN_SRC xml <office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2"> <office:font-face-decls> @@ -2070,7 +2071,7 @@ void dirtree(I)( </office:document-styles> #+END_SRC -#+name: output_odt_fixed_styles_xml +#+NAME: output_odt_fixed_styles_xml #+BEGIN_SRC d ┃"); return _styles_xml; @@ -2082,7 +2083,7 @@ void dirtree(I)( **** content head ***** head open -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d @safe string odt_head(I)(I doc_matters) { string _has_tables = format(q"┃ @@ -2090,7 +2091,7 @@ void dirtree(I)( ***** if table include within head -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC xml <style:style style:name="Table1" style:family="table"> <style:table-properties style:width="16.999cm" table:align="margins"/> @@ -2168,7 +2169,7 @@ void dirtree(I)( ***** head -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d ┃",); string _odt_head = format(q"┃<?xml version="1.0" encoding="UTF-8"?> @@ -2176,7 +2177,7 @@ void dirtree(I)( ***** head xml -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC xml <office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2"> <office:scripts/> @@ -2209,7 +2210,7 @@ void dirtree(I)( ***** head close -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d ┃", (doc_matters.has.tables > 0) ? _has_tables : "", @@ -2221,7 +2222,7 @@ void dirtree(I)( **** ↻ content body ***** body open -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d @safe string odt_body(D,I)( const D doc_abstraction, @@ -2236,7 +2237,7 @@ void dirtree(I)( ***** ↻ the loop & outer switch (sections & objects) format output -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d foreach (part; doc_matters.has.keys_seq.scroll) { foreach (obj; doc_abstraction[part]) { @@ -2245,7 +2246,7 @@ void dirtree(I)( ****** frontmatter -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d case "frontmatter": assert(part == "head" || "toc"); switch (obj.metainfo.is_of_type) { @@ -2270,7 +2271,7 @@ void dirtree(I)( ****** body -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d case "body": assert(part == "body" || "head"); // surprise switch (obj.metainfo.is_of_type) { @@ -2321,7 +2322,7 @@ void dirtree(I)( ****** backmatter -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d case "backmatter": assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail"); @@ -2371,7 +2372,7 @@ void dirtree(I)( ***** closings & post loop -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d } } @@ -2382,13 +2383,13 @@ void dirtree(I)( **** content book index? -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d #+END_SRC **** content tail -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d @safe string odt_tail() { string _odt_tail = format(q"┃<text:p text:style-name="P_normal">spine: <<text:a xl:type="simple" xl:href="http://www.doc_reform.org">www.doc_reform.org</text:a>> and <<text:a xl:type="simple" xl:href="http://www.sisudoc.org">www.sisudoc.org</text:a>></text:p> @@ -2399,7 +2400,7 @@ void dirtree(I)( **** hub -#+name: output_odt_variable_content_xml +#+NAME: output_odt_variable_content_xml #+BEGIN_SRC d @safe string content_xml(D,I)( const D doc_abstraction, @@ -2420,7 +2421,7 @@ void dirtree(I)( - META-INF/manifest.xml - image list changes -#+name: output_odt_variable_manifest_xml +#+NAME: output_odt_variable_manifest_xml #+BEGIN_SRC d @safe string manifest_xml(M)( auto ref M doc_matters, @@ -2433,7 +2434,7 @@ void dirtree(I)( string _manifest_xml = format(q"┃<?xml version="1.0" encoding="UTF-8"?> #+END_SRC -#+name: output_odt_variable_manifest_xml +#+NAME: output_odt_variable_manifest_xml #+BEGIN_SRC xml <manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" manifest:version="1.2"> <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.text" manifest:version="1.2" manifest:full-path="/"/> @@ -2447,7 +2448,7 @@ void dirtree(I)( </manifest:manifest> #+END_SRC -#+name: output_odt_variable_manifest_xml +#+NAME: output_odt_variable_manifest_xml #+BEGIN_SRC d ┃", _images.join("\n"), @@ -2458,7 +2459,7 @@ _images.join("\n"), *** meta.xml (time stamp) :meta_xml: -#+name: output_odt_variable_meta_xml +#+NAME: output_odt_variable_meta_xml #+BEGIN_SRC d @safe string meta_xml(M)( auto ref M doc_matters, @@ -2467,7 +2468,7 @@ _images.join("\n"), string _meta_xml = format(q"┃<?xml version="1.0" encoding="UTF-8"?> #+END_SRC -#+name: output_odt_variable_meta_xml +#+NAME: output_odt_variable_meta_xml #+BEGIN_SRC xml <office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:grddl="http://www.w3.org/2003/g/data-view#" office:version="1.2"> <office:meta> @@ -2479,7 +2480,7 @@ _images.join("\n"), </office:document-meta> #+END_SRC -#+name: output_odt_variable_meta_xml +#+NAME: output_odt_variable_meta_xml #+BEGIN_SRC d ┃", doc_matters.generator_program.name_and_version, @@ -2492,7 +2493,7 @@ doc_matters.generated_time, *** copy images :images: -#+name: output_odt_variable_copy_odt_images +#+NAME: output_odt_variable_copy_odt_images #+BEGIN_SRC d @safe void images_cp(M)( auto ref M doc_matters, diff --git a/org/out_sqlite.org b/org/out_sqlite.org index 5e56ad1..14e3ab0 100644 --- a/org/out_sqlite.org +++ b/org/out_sqlite.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:db:sql:sqlite: #+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]] @@ -277,7 +276,7 @@ template SQLiteDbDrop() { ** 1. [#A] sqlite_db_statement :statement: *** collection -#+name: sqlite_db_statement_composite_collection +#+NAME: sqlite_db_statement_composite_collection #+BEGIN_SRC d { string _db_statement; @@ -308,7 +307,7 @@ template SQLiteDbDrop() { *** discrete -#+name: sqlite_db_statement_composite_discrete +#+NAME: sqlite_db_statement_composite_discrete #+BEGIN_SRC d { string _db_statement; @@ -324,7 +323,7 @@ template SQLiteDbDrop() { ** 2. imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import doc_reform.io_out; import @@ -347,7 +346,7 @@ import - [X] clean url markers, leave plain link text - [X] place urls after text object and its endnotes -#+name: sanitize_text_for_search +#+NAME: sanitize_text_for_search #+BEGIN_SRC d string generic_munge_sanitize_text_for_search( string _txt, @@ -396,7 +395,7 @@ light html objects ***** munge ****** general munge (special characters, inline markup, move notes) -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string munge_html(M,O)( M doc_matters, @@ -450,7 +449,7 @@ string munge_html(M,O)( ****** special characters -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string html_special_characters(string _txt){ _txt = _txt @@ -466,7 +465,7 @@ string html_special_characters(string _txt){ ****** special characters for code -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string html_special_characters_code(string _txt){ _txt = _txt @@ -481,7 +480,7 @@ string html_special_characters_code(string _txt){ ****** font_face -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string html_font_face(string _txt){ _txt = _txt @@ -502,7 +501,7 @@ string html_font_face(string _txt){ ****** inline markup ******* images -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string inline_images(M,O)( M doc_matters, @@ -533,7 +532,7 @@ string inline_images(M,O)( ******* links ******** scroll, seg, epub -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string inline_links(M,O)( M doc_matters, @@ -641,7 +640,7 @@ string inline_links(M,O)( ******* notes ******** scroll -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string inline_notes_scroll(M,O)( M doc_matters, @@ -671,7 +670,7 @@ string inline_notes_scroll(M,O)( ******** seg -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d Tuple!(string, string[]) inline_notes_seg(M,O)( M doc_matters, @@ -716,7 +715,7 @@ Tuple!(string, string[]) inline_notes_seg(M,O)( ******* inline markup -#+name: sanitize_and_munge_inline_html +#+NAME: sanitize_and_munge_inline_html #+BEGIN_SRC d string xml_type="seg"; /+ set html document type to be linked to here (seg|scroll) +/ string inline_markup(M,O)( @@ -734,7 +733,7 @@ string inline_markup(M,O)( ***** objects ****** heading -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_heading(M,O)( M doc_matters, @@ -758,7 +757,7 @@ string html_heading(M,O)( ******* +fancy+ -##+name: prepare_objects_html +##+NAME: prepare_objects_html #+BEGIN_SRC d string html_heading(M,O)( M doc_matters, @@ -780,7 +779,7 @@ string html_heading(M,O)( ****** para -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_para(M,O)( M doc_matters, @@ -807,7 +806,7 @@ string html_para(M,O)( ****** quote -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_quote(M,O)( M doc_matters, @@ -830,7 +829,7 @@ string html_quote(M,O)( ****** group -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_group(M,O)( M doc_matters, @@ -853,7 +852,7 @@ string html_group(M,O)( ****** block -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_block(M,O)( M doc_matters, @@ -875,7 +874,7 @@ string html_block(M,O)( ****** verse -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_verse(M,O)( M doc_matters, @@ -896,7 +895,7 @@ string html_verse(M,O)( ****** code -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_code(O)( const O obj, @@ -916,7 +915,7 @@ string html_code(O)( ****** table -#+name: html_objects +#+NAME: html_objects #+BEGIN_SRC d string html_table(M,O)( M doc_matters, @@ -988,7 +987,7 @@ string html_table(M,O)( *** 2. hub (sqlite_format_and_load_objects) **** sql related -#+name: sqlite_load_object +#+NAME: sqlite_load_object #+BEGIN_SRC d string sqlite_load_string(M,O)( M doc_matters, @@ -999,7 +998,7 @@ string sqlite_load_string(M,O)( } #+END_SRC -#+name: sqlite_load_object +#+NAME: sqlite_load_object #+BEGIN_SRC d string postgresql_load_string(M,O)( M doc_matters, @@ -1010,7 +1009,7 @@ string postgresql_load_string(M,O)( } #+END_SRC -#+name: sqlite_load_object +#+NAME: sqlite_load_object #+BEGIN_SRC d string sqlite_statement(O)( const O obj, @@ -1030,7 +1029,7 @@ string sqlite_statement(O)( **** heading -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] heading(M,O)( M doc_matters, @@ -1059,7 +1058,7 @@ string[string] heading(M,O)( **** para -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] para(M,O)( M doc_matters, @@ -1088,7 +1087,7 @@ string[string] para(M,O)( **** quote -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] quote(M,O)( M doc_matters, @@ -1116,7 +1115,7 @@ string[string] quote(M,O)( #+END_SRC **** group -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] group(M,O)( M doc_matters, @@ -1145,7 +1144,7 @@ string[string] group(M,O)( **** block -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] block(M,O)( M doc_matters, @@ -1174,7 +1173,7 @@ string[string] block(M,O)( **** verse -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] verse(M,O)( M doc_matters, @@ -1203,7 +1202,7 @@ string[string] verse(M,O)( **** code -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] code(M,O)( M doc_matters, @@ -1232,7 +1231,7 @@ string[string] code(M,O)( **** table -#+name: hub_format_and_sqlite_load_objects +#+NAME: hub_format_and_sqlite_load_objects #+BEGIN_SRC d string[string] table(M,O)( M doc_matters, @@ -1261,7 +1260,7 @@ string[string] table(M,O)( ** 4. ↻ loop, identify, load - loop template -#+name: sqlite_objects_loop +#+NAME: sqlite_objects_loop #+BEGIN_SRC d auto format_and_sqlite_load = SQLiteFormatAndLoadObject!()(doc_matters); string[string] obj_txt; @@ -1444,7 +1443,7 @@ return _insert_doc_objects.join.to!(char[]).toUTF8; *** drop index and tables **** DROP INDEX IF EXISTS -#+name: sqlite_statement_drop_existing_index +#+NAME: sqlite_statement_drop_existing_index #+BEGIN_SRC sql DROP INDEX IF EXISTS idx_ocn; DROP INDEX IF EXISTS idx_uid; @@ -1460,7 +1459,7 @@ DROP INDEX IF EXISTS idx_classify_topic_register; **** DROP TABLE IF EXISTS -#+name: sqlite_statement_drop_existing_tables +#+NAME: sqlite_statement_drop_existing_tables #+BEGIN_SRC sql DROP TABLE IF EXISTS metadata_and_text; DROP TABLE IF EXISTS topic_register; @@ -1471,7 +1470,7 @@ DROP TABLE IF EXISTS urls; *** create tables and index **** CREATE TABLE metadata_and_text -#+name: sqlite_statement_create_table_metadata_and_src_txt +#+NAME: sqlite_statement_create_table_metadata_and_src_txt #+BEGIN_SRC sql CREATE TABLE metadata_and_text ( uid VARCHAR(256) UNIQUE, -- filename, language char, pod/txt (decide on delimiter [,;:/]) @@ -1564,7 +1563,7 @@ CREATE TABLE metadata_and_text ( **** CREATE TABLE topic_register -#+name: sqlite_statement_create_table_topic_register +#+NAME: sqlite_statement_create_table_topic_register #+BEGIN_SRC sql CREATE TABLE topic_register ( -- tid BIGINT PRIMARY KEY, @@ -1584,7 +1583,7 @@ CREATE TABLE topic_register ( **** CREATE TABLE site_urls ? -#+name: sqlite_statement_create_table_site_urls +#+NAME: sqlite_statement_create_table_site_urls #+BEGIN_SRC sql CREATE TABLE site_urls ( -- tid BIGINT PRIMARY KEY, @@ -1599,7 +1598,7 @@ CREATE TABLE site_urls ( **** CREATE TABLE doc_objects -#+name: sqlite_statement_create_table_objects +#+NAME: sqlite_statement_create_table_objects #+BEGIN_SRC sql CREATE TABLE doc_objects ( lid BIGINT PRIMARY KEY, @@ -1625,7 +1624,7 @@ CREATE TABLE doc_objects ( **** CREATE INDEX -#+name: sqlite_statement_create_index +#+NAME: sqlite_statement_create_index #+BEGIN_SRC sql CREATE INDEX idx_ocn ON doc_objects(ocn); CREATE INDEX idx_digest_clean ON doc_objects(digest_clean); @@ -1645,7 +1644,7 @@ CREATE INDEX idx_topics ON metadata_and_text(classify_topic_register); **** DELETE uid rows doc matters & metadata ***** sql statement: dlang format -#+name: sqlite_formatted_delete +#+NAME: sqlite_formatted_delete #+BEGIN_SRC d string _uid = doc_matters.src.doc_uid; string _delete_uid = format(q"┃ @@ -1653,7 +1652,7 @@ string _delete_uid = format(q"┃ ***** DELETE FROM ... WHERE -#+name: sqlite_formatted_delete +#+NAME: sqlite_formatted_delete #+BEGIN_SRC sql DELETE FROM metadata_and_text WHERE uid = '%s'; @@ -1663,7 +1662,7 @@ WHERE uid_metadata_and_text = '%s'; ***** VALUES -#+name: sqlite_formatted_delete +#+NAME: sqlite_formatted_delete #+BEGIN_SRC d ┃", _uid, @@ -1675,7 +1674,7 @@ WHERE uid_metadata_and_text = '%s'; **** INSERT doc matters & metadata ***** sql statement: dlang format -#+name: sqlite_formatted_insertions_doc_matters_metadata +#+NAME: sqlite_formatted_insertions_doc_matters_metadata #+BEGIN_SRC d string _uid = SQLinsertDelimiter!()(doc_matters.src.doc_uid); string _insert_metadata = format(q"┃ @@ -1683,7 +1682,7 @@ string _insert_metadata = format(q"┃ ***** INSERT INTO -#+name: sqlite_formatted_insertions_doc_matters_metadata +#+NAME: sqlite_formatted_insertions_doc_matters_metadata #+BEGIN_SRC sql INSERT INTO metadata_and_text ( uid, @@ -1739,7 +1738,7 @@ string _insert_metadata = format(q"┃ ***** VALUES -#+name: sqlite_formatted_insertions_doc_matters_metadata +#+NAME: sqlite_formatted_insertions_doc_matters_metadata #+BEGIN_SRC sql VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' @@ -1748,7 +1747,7 @@ string _insert_metadata = format(q"┃ ***** dlang values for formatting -#+name: sqlite_formatted_insertions_doc_matters_metadata +#+NAME: sqlite_formatted_insertions_doc_matters_metadata #+BEGIN_SRC d ┃", _uid, @@ -1808,7 +1807,7 @@ writeln(doc_matters.conf_make_meta.meta.classify_topic_register_arr); ***** { if topic register then loop topic register array -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC d if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) { @@ -1819,14 +1818,14 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) { ***** sql statement: dlang format -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC d _insert_topics ~= format(q"┃ #+END_SRC ***** INSERT INTO -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC sql INSERT INTO topic_register ( uid_metadata_and_text, @@ -1840,7 +1839,7 @@ _insert_topics ~= format(q"┃ ***** VALUES -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC sql VALUES ( '%s', '%s', '%s', '%s', '%s', '%s' @@ -1849,7 +1848,7 @@ _insert_topics ~= format(q"┃ ***** dlang values for formatting -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC d ┃", _uid, @@ -1863,7 +1862,7 @@ _insert_topics ~= format(q"┃ ***** } close topic register & loop topic register array -#+name: sqlite_formatted_insertions_topic_register +#+NAME: sqlite_formatted_insertions_topic_register #+BEGIN_SRC d } } @@ -1880,14 +1879,14 @@ either: ***** sql statement: dlang format -#+name: sqlite_formatted_insertions_doc_objects +#+NAME: sqlite_formatted_insertions_doc_objects #+BEGIN_SRC d string _insert_doc_objects_row = format(q"┃ #+END_SRC ***** INSERT INTO -#+name: sqlite_formatted_insertions_doc_objects +#+NAME: sqlite_formatted_insertions_doc_objects #+BEGIN_SRC sql INSERT INTO doc_objects ( uid_metadata_and_text, @@ -1904,7 +1903,7 @@ string _insert_doc_objects_row = format(q"┃ ***** VALUES -#+name: sqlite_formatted_insertions_doc_objects +#+NAME: sqlite_formatted_insertions_doc_objects #+BEGIN_SRC sql VALUES ( '%s', %s, '%s', '%s', '%s', %s, '%s', '%s', '%s' @@ -1913,7 +1912,7 @@ string _insert_doc_objects_row = format(q"┃ ***** dlang values for formatting -#+name: sqlite_formatted_insertions_doc_objects +#+NAME: sqlite_formatted_insertions_doc_objects #+BEGIN_SRC d ┃", _uid, diff --git a/org/out_src_pod.org b/org/out_src_pod.org index 9f87629..7727f36 100644 --- a/org/out_src_pod.org +++ b/org/out_src_pod.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:source:pod: #+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]] @@ -42,7 +41,7 @@ template spinePod() { ** init *** imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import doc_reform.io_out; import @@ -58,7 +57,7 @@ import *** init -#+name: source_pod_init +#+NAME: source_pod_init #+BEGIN_SRC d debug(asserts) { // static assert(is(typeof(doc_matters) == tuple)); @@ -76,7 +75,7 @@ assert (doc_matters.src.filename.match(rgx.src_fn)); *** pod zip archive -#+name: source_pod_archive +#+NAME: source_pod_archive #+BEGIN_SRC d @system auto pod_archive(Z)( string _source_type, @@ -107,7 +106,7 @@ assert (doc_matters.src.filename.match(rgx.src_fn)); ** mkdir :mkdir: -#+name: source_pod_mkdirs +#+NAME: source_pod_mkdirs #+BEGIN_SRC d /+ create directory structure +/ if (!exists(pths_pod.pod_dir_())) { @@ -141,7 +140,7 @@ if (doc_matters.opt.action.source) { ** copy :copy: -#+name: source_pod_copy +#+NAME: source_pod_copy #+BEGIN_SRC d debug(pod) { writeln(__LINE__, ": ", @@ -389,7 +388,7 @@ auto fn_pod = pths_pod.pod_filename(doc_matters.src.filename).zpod; ** sha256 of pod.zip, zip debug, read zip archive -#+name: source_pod_copy +#+NAME: source_pod_copy #+BEGIN_SRC d if (exists(fn_pod)) { try { 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)) { diff --git a/org/out_xmls_css.org b/org/out_xmls_css.org index b1f9a77..443f788 100644 --- a/org/out_xmls_css.org +++ b/org/out_xmls_css.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:xmls:css: #+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]] @@ -106,7 +105,7 @@ template spineCss() { *** html shared **** general -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css *{ padding : 0px; @@ -125,7 +124,7 @@ template spineCss() { **** link -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css a:link { color : #003399; @@ -162,7 +161,7 @@ template spineCss() { **** div -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css div { margin-left : 0; @@ -280,7 +279,7 @@ template spineCss() { **** paragraphs headings blocks ***** misc -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css .norm, .bold, .verse, .group, .block, .alt { line-height : 133%%; @@ -306,7 +305,7 @@ template spineCss() { } #+END_SRC -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css img { max-width : 100%%; @@ -316,7 +315,7 @@ template spineCss() { ***** code block -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css pre { width : auto; @@ -383,7 +382,7 @@ template spineCss() { ***** paragraph general -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css p.spaced { white-space : pre; } p.block { @@ -504,14 +503,14 @@ template spineCss() { ***** paragraph indent -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css %s #+END_SRC ***** misc including tables & lists -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css note { white-space : pre; } label.ocn { @@ -580,7 +579,7 @@ template spineCss() { ***** headings -#+name: css_light_shared +#+NAME: css_light_shared #+BEGIN_SRC css h0, h1, h2, h3, h4, h5, h6, h7 { font-weight : bold; @@ -685,7 +684,7 @@ template spineCss() { *** html seg **** previous next -#+name: css_light_html_seg +#+NAME: css_light_html_seg #+BEGIN_SRC css .icon-bar { width : 100%%; @@ -765,7 +764,7 @@ template spineCss() { **** flex -#+name: css_light_html_seg +#+NAME: css_light_html_seg #+BEGIN_SRC css /* flex */ .flex-menu-bar { @@ -802,7 +801,7 @@ template spineCss() { Consider what if anything should be used here -#+name: css_light_html_seg +#+NAME: css_light_html_seg #+BEGIN_SRC css /* grid */ .wrapper { @@ -891,7 +890,7 @@ Consider what if anything should be used here *** html scroll **** flex -#+name: css_light_html_scroll +#+NAME: css_light_html_scroll #+BEGIN_SRC css /* flex */ .flex-menu-bar { @@ -926,7 +925,7 @@ Consider what if anything should be used here **** grid -#+name: css_light_html_scroll +#+NAME: css_light_html_scroll #+BEGIN_SRC css /* grid */ .wrapper { @@ -1014,7 +1013,7 @@ Consider what if anything should be used here *** epub xhtml -#+name: css_light_epub +#+NAME: css_light_epub #+BEGIN_SRC css #+END_SRC @@ -1022,7 +1021,7 @@ Consider what if anything should be used here *** html shared **** general -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css *{ padding : 0px; @@ -1041,7 +1040,7 @@ Consider what if anything should be used here **** link -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css a:link { color : #FFFFFF; @@ -1078,7 +1077,7 @@ Consider what if anything should be used here **** div -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css div { margin-left : 0; @@ -1196,7 +1195,7 @@ Consider what if anything should be used here **** paragraphs headings blocks ***** misc -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css .norm, .bold, .verse, .group, .block, .alt { line-height : 133%%; @@ -1222,7 +1221,7 @@ Consider what if anything should be used here } #+END_SRC -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css img { max-width : 100%%; @@ -1232,7 +1231,7 @@ Consider what if anything should be used here ***** code block -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css pre { width : auto; @@ -1298,7 +1297,7 @@ Consider what if anything should be used here ***** paragraph general -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css p.spaced { white-space : pre; } p.block { @@ -1419,14 +1418,14 @@ Consider what if anything should be used here ***** paragraph indent -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css %s #+END_SRC ***** misc including tables & lists -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css note { white-space : pre; } label.ocn { @@ -1495,7 +1494,7 @@ Consider what if anything should be used here ***** headings -#+name: css_dark_shared +#+NAME: css_dark_shared #+BEGIN_SRC css h0, h1, h2, h3, h4, h5, h6, h7 { font-weight : bold; @@ -1600,7 +1599,7 @@ Consider what if anything should be used here *** html seg **** previous next -#+name: css_dark_html_seg +#+NAME: css_dark_html_seg #+BEGIN_SRC css .icon-bar { width : 100%%; @@ -1680,7 +1679,7 @@ Consider what if anything should be used here **** flex -#+name: css_dark_html_seg +#+NAME: css_dark_html_seg #+BEGIN_SRC css /* flex */ .flex-menu-bar { @@ -1717,7 +1716,7 @@ Consider what if anything should be used here Consider what if anything should be used here -#+name: css_dark_html_seg +#+NAME: css_dark_html_seg #+BEGIN_SRC css /* grid */ .wrapper { @@ -1806,7 +1805,7 @@ Consider what if anything should be used here *** html scroll **** flex -#+name: css_dark_html_scroll +#+NAME: css_dark_html_scroll #+BEGIN_SRC css /* flex */ .flex-menu-bar { @@ -1841,7 +1840,7 @@ Consider what if anything should be used here **** grid -#+name: css_dark_html_scroll +#+NAME: css_dark_html_scroll #+BEGIN_SRC css /* grid */ .wrapper { @@ -1929,21 +1928,21 @@ Consider what if anything should be used here *** epub xhtml -#+name: css_dark_epub +#+NAME: css_dark_epub #+BEGIN_SRC css #+END_SRC ** variables *** ocn (visible or hidden) -#+name: css_insert_shared_insert_variable_ocn_color_values +#+NAME: css_insert_shared_insert_variable_ocn_color_values #+BEGIN_SRC css string _color_ocn_light = (doc_matters.opt.action.ocn_hidden) ? "#FFFFFF" : "#777777"; string _color_ocn_dark = (doc_matters.opt.action.ocn_hidden) ? "#000000" : "#BBBBBB"; #+END_SRC *** indent levels -#+name: css_insert_shared_insert_variable_indent_values +#+NAME: css_insert_shared_insert_variable_indent_values #+BEGIN_SRC css string _css_indent = format(q"┃ /* indent */ diff --git a/org/out_zip.org b/org/out_zip.org index f8821ff..9f4b7f2 100644 --- a/org/out_zip.org +++ b/org/out_zip.org @@ -1,20 +1,17 @@ -*- mode: org -*- #+TITLE: spine (doc_reform) output zip +#+DESCRIPTION: documents - structuring, publishing in multiple formats & search #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] -#+COPYRIGHT: Copyright (C) 2015 - 2019 Ralph Amissah -#+DESCRIPTION: documents - structuring, publishing in multiple formats & search -#+KEYWORDS +#+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 -#+FILETAGS: :spine:rel:output: -#+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]] diff --git a/org/output_hub.org b/org/output_hub.org index 4f2d3e0..b2985be 100644 --- a/org/output_hub.org +++ b/org/output_hub.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:output:hub: #+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/]] @@ -69,7 +68,7 @@ template outputHubOp() { ** initialize / imports -#+name: output_imports +#+NAME: output_imports #+BEGIN_SRC d import doc_reform.io_out, doc_reform.io_out.metadata, @@ -84,7 +83,7 @@ import doc_reform.io_out, **** source: _dr_src_ &/or _pod_ :source:pod: - [[./output_pod.org][output_pod]] -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.source_or_pod) { if (doc_matters.opt.action.source) { @@ -106,7 +105,7 @@ if (sched == outTask.source_or_pod) { **** epub :epub: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.epub) { msg.v("epub3 processing... "); @@ -119,7 +118,7 @@ if (sched == outTask.epub) { **** html :html: ***** metadata :metadata: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.html_stuff) { outputMetadata!()(doc_matters); @@ -129,7 +128,7 @@ if (sched == outTask.html_stuff) { ***** scroll :scroll: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.html_scroll) { msg.v("html scroll processing... "); @@ -141,7 +140,7 @@ if (sched == outTask.html_scroll) { ***** seg :seg: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.html_seg) { msg.v("html seg processing... "); @@ -153,7 +152,7 @@ if (sched == outTask.html_seg) { ***** css, images etc :css:images: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.html_stuff) { import doc_reform.io_out.html; @@ -165,7 +164,7 @@ if (sched == outTask.html_stuff) { **** latex / pdf :latex:pdf: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.latex) { msg.v("latex processing... (available for downstream processing & pdf output"); @@ -177,7 +176,7 @@ if (sched == outTask.latex) { **** odf / odt :odf:odt: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.odt) { msg.v("odf:odt processing... "); @@ -189,7 +188,7 @@ if (sched == outTask.odt) { **** sqlite discrete :sqlite: -#+name: output_scheduled_task +#+NAME: output_scheduled_task #+BEGIN_SRC d if (sched == outTask.sqlite) { msg.v("sqlite processing... "); @@ -203,7 +202,7 @@ if (sched == outTask.sqlite) { **** sqlite collection :sqlite: ***** update / populate :update: -#+name: output_shared_sqlite_db +#+NAME: output_shared_sqlite_db #+BEGIN_SRC d if (doc_matters.opt.action.sqlite_update) { msg.v("sqlite update processing..."); @@ -221,7 +220,7 @@ if (doc_matters.opt.action.sqlite_update) { ***** no markup source files to process ****** drop :drop: -#+name: output_options_op +#+NAME: output_options_op #+BEGIN_SRC d if ((opt_action.sqlite_db_drop)) { if ((opt_action.verbose)) { @@ -237,7 +236,7 @@ if ((opt_action.sqlite_db_drop)) { ****** create :create: -#+name: output_options_op +#+NAME: output_options_op #+BEGIN_SRC d if ((opt_action.sqlite_db_create)) { if ((opt_action.verbose)) { diff --git a/org/output_show.org b/org/output_show.org index 951c88a..4fd23de 100644 --- a/org/output_show.org +++ b/org/output_show.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:hub: #+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 :results silent :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 * document abstraction _summary_ :module:spine:metadoc_show_summary: ** _module template_ metadoc summary @@ -40,7 +39,7 @@ template spineMetaDocSummary() { ** (last ocn) -#+name: meta_metadoc_show_summary_document +#+NAME: meta_metadoc_show_summary_document #+BEGIN_SRC d string[string] check = [ "last_object_number" : "NA [debug \"checkdoc\" not run]", @@ -70,7 +69,7 @@ foreach (k; doc_matters.has.keys_seq.seg) { ** document summary -#+name: meta_metadoc_show_summary_document +#+NAME: meta_metadoc_show_summary_document #+BEGIN_SRC d writefln( "%s\n\"%s\", %s\n%s [%s]\n%s\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%s", @@ -158,7 +157,7 @@ template spineShowConfig() { ** show config -#+name: meta_metadoc_show_config +#+NAME: meta_metadoc_show_config #+BEGIN_SRC d writefln( "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n", @@ -260,7 +259,7 @@ template spineShowMake() { ** show make -#+name: meta_metadoc_show_make +#+NAME: meta_metadoc_show_make #+BEGIN_SRC d writefln( "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n", @@ -331,7 +330,7 @@ template spineShowMetaData() { ** show metadata -#+name: meta_metadoc_show_metadata +#+NAME: meta_metadoc_show_metadata #+BEGIN_SRC d writefln( "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n%30-s%10-s\n", @@ -426,7 +425,7 @@ writefln( *** imports -#+name: metadoc_show_imports_shared +#+NAME: metadoc_show_imports_shared #+BEGIN_SRC d import std.array, @@ -442,7 +441,7 @@ import *** imports -#+name: metadoc_show_summary_imports +#+NAME: metadoc_show_summary_imports #+BEGIN_SRC d import doc_reform.meta.defaults, @@ -451,7 +450,7 @@ import *** initialize :report: -#+name: metadoc_show_initialize +#+NAME: metadoc_show_initialize #+BEGIN_SRC d auto markup = InlineMarkup(); auto min_repeat_number = 66; diff --git a/org/spine.org b/org/spine.org index 5c66ce6..58d76ed 100644 --- a/org/spine.org +++ b/org/spine.org @@ -4,30 +4,43 @@ #+FILETAGS: :spine:hub: #+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 :results silent :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 [[../maker.org][maker.org makefile]] [[./][org/]] * 0. version.txt (set version) :version: -** set program version -- set program version +** 0. set program tangle -#+BEGIN_SRC d :tangle "../views/version.txt" -/+ obt - org generated file +/ +#+BEGIN_SRC txt :tangle "../views/version.txt" +<<spine_version_struct>> +<<spine_version_current_set>> +<<spine_compiler_restrictions>> +#+END_SRC + +** program version struct + +#+NAME: spine_version_struct +#+BEGIN_SRC d +/+ obt - org-mode generated file +/ struct Version { int major; int minor; int patch; } +#+END_SRC + +** TODO set program version + +#+NAME: spine_version_current_set +#+BEGIN_SRC d enum _ver = Version(0, 9, 2); #+END_SRC @@ -36,7 +49,8 @@ enum _ver = Version(0, 9, 2); http://dlang.org/spec/version.html#predefined-versions -#+BEGIN_SRC d :tangle "../views/version.txt" +#+NAME: spine_compiler_restrictions +#+BEGIN_SRC d version (Posix) { version (DigitalMars) { } else version (LDC) { @@ -60,14 +74,14 @@ version (Posix) { - process file - output -** 0. spine src/spine :template: +** 0. spine src/spine :template: - process files (act according to requirements of each type) - by sourcefilename - by sourcefiles contents identifier - by zip filename -#+BEGIN_SRC d :tangle "../src/doc_reform/spine.d" :shebang #!/usr/bin/env rdmd +#+BEGIN_SRC d :tangle "../src/doc_reform/spine.d" :shebang "#!/usr/bin/env rdmd" <<doc_header_including_copyright_and_license>> module doc_reform.sisu_document_parser; import @@ -143,7 +157,7 @@ homepage "http://sisudoc.org" *** document header including copyright & license #+NAME: doc_header_including_copyright_and_license -#+BEGIN_SRC text +#+BEGIN_SRC txt /+ - Name: Spine, Doc Reform - Description: documents, structuring, processing, publishing, search @@ -152,7 +166,7 @@ homepage "http://sisudoc.org" - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah, All Rights + - Copyright: (C) 2015 - 2020 Ralph Amissah, All Rights Reserved. - License: AGPL 3 or later: @@ -197,10 +211,10 @@ homepage "http://sisudoc.org" +/ #+END_SRC -** 1. pre-loop init :init: +** 1. pre-loop init :init: *** init -**** imports :import: -***** spine :spine: +**** imports :import: +***** spine :spine: #+NAME: imports_spine #+BEGIN_SRC d @@ -248,8 +262,8 @@ import keep up to date, configuration in ../maker.org -**** mixins :mixin: -***** version.txt :version: +**** mixins :mixin: +***** version.txt :version: #+NAME: mixin_spine_version #+BEGIN_SRC d @@ -263,7 +277,7 @@ mixin(import("version.txt")); mixin CompileTimeInfo; #+END_SRC -***** spine "main" mixins :spine: +***** spine "main" mixins :spine: #+NAME: spine_mixin #+BEGIN_SRC d @@ -274,14 +288,14 @@ mixin spineRgxInitFlags; mixin outputHub; #+END_SRC -**** init :init: +**** init :init: #+NAME: spine_init #+BEGIN_SRC d auto hvst = spineHarvest!(); #+END_SRC -**** args :args: +**** args :args: #+NAME: spine_init #+BEGIN_SRC d @@ -291,7 +305,7 @@ enum dAM { abstraction, matters } static auto rgx = Rgx(); #+END_SRC -*** scope (run complete) :scope: +*** scope (run complete) :scope: #+NAME: spine_init #+BEGIN_SRC d @@ -313,7 +327,7 @@ scope(failure) { } #+END_SRC -*** getopt args for loop :args:getopt: +*** getopt args for loop :args:getopt: **** set getopt options - set getopt options @@ -967,8 +981,8 @@ if (!(_opt_action.skip_output)) { } #+END_SRC -** _2. processing: (loop each file)_ [+2] :loop:files: -*** scope (loop) :scope: +** _2. processing: (loop each file)_ [+2] :loop:files: +*** scope (loop) :scope: #+NAME: spine_each_file_do_scope #+BEGIN_SRC d @@ -1076,7 +1090,7 @@ if (doc_matters.opt.action.show_config } #+END_SRC -***** abstraction harvest :abstraction:harvest: +***** abstraction harvest :abstraction:harvest: - abstraction harvest #+NAME: spine_each_file_do_debugs_checkdoc @@ -1098,7 +1112,7 @@ if (doc_matters.opt.action.harvest) { } #+END_SRC -**** 1. _debug_ (document parts, checkdoc) :debug:checkdoc: +**** 1. _debug_ (document parts, checkdoc) :debug:checkdoc: - [[./meta_output_debugs.org][meta_output_debugs]] #+NAME: spine_each_file_do_debugs_checkdoc @@ -1109,7 +1123,7 @@ if (doc_matters.opt.action.debug_do) { } #+END_SRC -**** 2. _process outputs_ :outputs: +**** 2. _process outputs_ :outputs: - [[./output_hub.org][output_hub]] #+NAME: spine_each_file_do_selected_output @@ -1130,7 +1144,7 @@ if (!(doc_matters.opt.action.skip_output)) { } #+END_SRC -*** scope (on loop exit) :scope:exit: +*** scope (on loop exit) :scope:exit: #+NAME: spine_each_file_do_scope_exit #+BEGIN_SRC d @@ -1155,7 +1169,7 @@ break; // terminate, stop #+END_SRC * 2. pre-processing -** Output _document abstraction functions_ :module:spine:abstraction: +** Output _document abstraction functions_ :module:spine:abstraction: *** 0 module template - abstraction template diff --git a/org/spine_build_scaffold.org b/org/spine_build_scaffold.org index 017a732..bbd23d5 100644 --- a/org/spine_build_scaffold.org +++ b/org/spine_build_scaffold.org @@ -4,16 +4,15 @@ #+FILETAGS: :spine:makefile: #+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 -#+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 :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 [[./org/spine.org][spine.org]] [[./org/][org/]] @@ -52,7 +51,7 @@ PRG_DOCDIR=./docs EMACSLISP=/usr/share/emacs/site-lisp ORG_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-???????? | cut -d '-' -f2`) EMACSLISP_ORG=~/.emacs.d/elpa/org-$($(shell echo $(ORG_VER_AVAILABLE))) -ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-???????? | cut -d '-' -f2`) +ORG_CONTRIB_VER_AVAILABLE=$(shell echo `ls -d ~/.emacs.d/elpa/org-plus-contrib-???????? | cut -d '-' -f2`) EMACSLISP_ORG_CONTRIB=~/.emacs.d/elpa/org-plus-contrib-$($(shell echo $(ORG_CONTRIB_VER_AVAILABLE))) ORGFILELIST=$(shell echo `ls -1 org/*.org`) ORGFILES="" @@ -844,7 +843,7 @@ name "spine" description "sisu document parser" homepage "http://sisudoc.org" authors "Ralph Amissah" -copyright "Copyright (C) 2016 - 2019 Ralph Amissah" +copyright "Copyright (C) 2016 - 2020 Ralph Amissah" license "AGPL-3.0+" targetPath "./bin" #sourcePath "./src/doc_reform" diff --git a/org/spine_info.org b/org/spine_info.org index a80089f..04b91a6 100644 --- a/org/spine_info.org +++ b/org/spine_info.org @@ -4,20 +4,19 @@ #+FILETAGS: :spine:info: #+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 :results silent :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 * README -#+BEGIN_SRC text :tangle "../README" +#+BEGIN_SRC txt :tangle "../README" project_name: Spine, Doc Reform description: [ "documents, structuring, processing, publishing", @@ -31,7 +30,7 @@ project_name: Spine, Doc Reform name: Ralph Amissah email: ralph.amissah@gmail.com - copyright: "(C) 2015 - 2019 Ralph Amissah, All Rights Reserved." + copyright: "(C) 2015 - 2020 Ralph Amissah, All Rights Reserved." license: "AGPL 3 or later" @@ -45,7 +44,7 @@ project_name: Spine, Doc Reform ** notices *** project (project root) ./ -#+BEGIN_SRC text :tangle "../COPYRIGHT" +#+BEGIN_SRC txt :tangle "../COPYRIGHT" <<spine_copyright>> <<spine_license_agpl3>> <<spine_extra>> @@ -53,7 +52,7 @@ project_name: Spine, Doc Reform *** code source ./src -#+BEGIN_SRC text :tangle "../src/COPYRIGHT" +#+BEGIN_SRC txt :tangle "../src/COPYRIGHT" <<spine_copyright>> <<spine_license_agpl3>> <<spine_extra>> @@ -61,7 +60,7 @@ project_name: Spine, Doc Reform *** code source ./src/spine -#+BEGIN_SRC text :tangle "../src/doc_reform/COPYRIGHT" +#+BEGIN_SRC txt :tangle "../src/doc_reform/COPYRIGHT" <<spine_copyright>> <<spine_license_agpl3>> <<spine_extra>> @@ -69,14 +68,14 @@ project_name: Spine, Doc Reform *** org files ./org -#+BEGIN_SRC text :tangle "./COPYRIGHT" +#+BEGIN_SRC txt :tangle "./COPYRIGHT" <<spine_copyright>> <<spine_extra>> #+END_SRC *** data (markup samples) ./data -#+BEGIN_SRC text :tangle "../data/COPYRIGHT" +#+BEGIN_SRC txt :tangle "../data/COPYRIGHT" <<data>> #+END_SRC @@ -84,7 +83,7 @@ project_name: Spine, Doc Reform *** copyright #+NAME: spine_copyright -#+BEGIN_SRC text +#+BEGIN_SRC txt - Name: Spine, Doc Reform - Description: documents, structuring, processing, publishing, search - static content generator @@ -92,14 +91,14 @@ project_name: Spine, Doc Reform - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah + - Copyright: (C) 2015 - 2020 Ralph Amissah #+END_SRC *** license #+NAME: spine_license_agpl3 -#+BEGIN_SRC text +#+BEGIN_SRC txt - code under src/ - License: AGPL 3 or later: @@ -131,7 +130,7 @@ project_name: Spine, Doc Reform *** tail #+NAME: spine_extra -#+BEGIN_SRC text +#+BEGIN_SRC txt - Spine, Doc Reform (related to SiSU) uses standard: - docReform markup syntax - standard SiSU markup syntax with modified headers and minor @@ -151,7 +150,7 @@ project_name: Spine, Doc Reform *** data #+NAME: spine_extra -#+BEGIN_SRC text +#+BEGIN_SRC txt - Spine, Doc Reform (SiSU) markup samples Individual document content Copyright (Author) [as stated in document header] Individual document content License (Author) [as stated in document header] diff --git a/src/COPYRIGHT b/src/COPYRIGHT index 7003a8b..8cba1e7 100644 --- a/src/COPYRIGHT +++ b/src/COPYRIGHT @@ -5,7 +5,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah + - Copyright: (C) 2015 - 2020 Ralph Amissah - code under src/ - License: AGPL 3 or later: diff --git a/src/doc_reform/COPYRIGHT b/src/doc_reform/COPYRIGHT index 7003a8b..8cba1e7 100644 --- a/src/doc_reform/COPYRIGHT +++ b/src/doc_reform/COPYRIGHT @@ -5,7 +5,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah + - Copyright: (C) 2015 - 2020 Ralph Amissah - code under src/ - License: AGPL 3 or later: diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d index 39ea058..b7d9731 100755 --- a/src/doc_reform/spine.d +++ b/src/doc_reform/spine.d @@ -7,7 +7,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2019 Ralph Amissah, All Rights + - Copyright: (C) 2015 - 2020 Ralph Amissah, All Rights Reserved. - License: AGPL 3 or later: diff --git a/views/version.txt b/views/version.txt index 2b24abf..a432643 100644 --- a/views/version.txt +++ b/views/version.txt @@ -1,4 +1,4 @@ -/+ obt - org generated file +/ +/+ obt - org-mode generated file +/ struct Version { int major; int minor; |