diff options
Diffstat (limited to 'org/metaverse.org')
-rw-r--r-- | org/metaverse.org | 407 |
1 files changed, 203 insertions, 204 deletions
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; |