diff options
Diffstat (limited to 'org/ao_abstract_doc_source.org')
-rw-r--r-- | org/ao_abstract_doc_source.org | 129 |
1 files changed, 65 insertions, 64 deletions
diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index e413570..897a3b7 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -14,7 +14,7 @@ [[./sdp.org][sdp]] [[./][org/]] * 0. Code Skeleton / Outline / Structure (tangles) :tangle:io:file: -** 1. ao abstract doc source: :ao_abstract_doc_source.d: +** 1. ao abstract doc source: :ao_abstract_doc_source: #+BEGIN_SRC d :tangle ../src/sdp/ao_abstract_doc_source.d /++ @@ -128,7 +128,7 @@ template SiSUdocAbstraction() { } /+ ← closed: template SiSUdocAbstraction +/ #+END_SRC -** 2. ao object setter: :ao_object_setter.d: +** 2. ao object setter: :ao_object_setter: #+BEGIN_SRC d :tangle ../src/sdp/ao_object_setter.d /++ @@ -145,8 +145,8 @@ template ObjectSetter() { * 1. Document Abstraction :abstract:process: Process markup document, create document abstraction. -** _1. pre loop processing_ :pre: -*** imports :imports: +** _1. pre loop processing_ :pre: +*** imports :imports: [[./ao_defaults.org][ao_defaults]] @@ -158,7 +158,7 @@ import ao_rgx; // sdp/ao_rgx.d #+END_SRC -*** mixins :mixins: +*** mixins :mixins: #+name: abs_mixins #+BEGIN_SRC d @@ -166,7 +166,7 @@ mixin ObjectSetter; mixin InternalMarkup; #+END_SRC -*** initialize :initialize: +*** initialize :initialize: #+name: abs_init_struct #+BEGIN_SRC d @@ -483,8 +483,8 @@ auto munge = ObjInlineMarkupMunge(); string[][string] lev4_subtoc; #+END_SRC -** _2. loop: process document body_ [+6] :loop: -*** loop scope :scope: +** _2. loop: process document body_ [+6] :loop: +*** loop scope :scope: #+name: abs_in_loop_body_00 #+BEGIN_SRC d @@ -515,7 +515,7 @@ debug(srclines) { } #+END_SRC -*** check whether obj_cite_number is on or turned off :ocn: +*** check whether obj_cite_number is on or turned off :ocn: #+name: abs_in_loop_body_00 #+BEGIN_SRC d @@ -525,7 +525,7 @@ if (!line.empty) { #+END_SRC *** [#A] separate regular markup text from code blocks [+5] -**** code blocks :block:code: +**** code blocks :block:code: #+name: abs_in_loop_body_00_code_block #+BEGIN_SRC d @@ -534,9 +534,9 @@ _code_block_(line, an_object, type); continue; #+END_SRC -**** non code objects (other blocks or regular text) [+4] :non_code: -***** in section (biblio, glossary, blurb) (block group) [+1] :block:active: -****** within section: biblio :biblio: +**** non code objects (other blocks or regular text) [+4] :non_code: +***** in section (biblio, glossary, blurb) (block group) [+1] :block:active: +****** within section: biblio :biblio: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -559,7 +559,7 @@ if ((matchFirst(line, rgx.heading_biblio) continue; #+END_SRC -****** within section: glossary :glossary: +****** within section: glossary :glossary: if there is a glossary section you need to: - extract it @@ -643,7 +643,7 @@ if there is a glossary section you need to: continue; #+END_SRC -****** within section: blurb :blurb: +****** within section: blurb :blurb: if there is a blurb section you need to: - extract it @@ -741,8 +741,8 @@ if there is a blurb section you need to: continue; #+END_SRC -***** in blocks [+1] :block:active: -****** within block: poem :poem: +***** in blocks [+1] :block:active: +****** within block: poem :poem: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -752,7 +752,7 @@ if there is a blurb section you need to: continue; #+END_SRC -****** within block: group :group: +****** within block: group :group: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -763,7 +763,7 @@ if there is a blurb section you need to: continue; #+END_SRC -****** within block: block :block: +****** within block: block :block: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -773,7 +773,7 @@ if there is a blurb section you need to: continue; #+END_SRC -****** within block: quote :quote: +****** within block: quote :quote: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -783,7 +783,7 @@ if there is a blurb section you need to: continue; #+END_SRC -****** within block: table :table: +****** within block: table :table: #+name: abs_in_loop_body_non_code_obj #+BEGIN_SRC d @@ -821,7 +821,7 @@ continue; #+END_SRC ****** line not empty [+2] -******* asserts :assert: +******* asserts :assert: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -848,7 +848,7 @@ if (type["blocks"] == TriState.closing) { } #+END_SRC -******* book index :bookindex: +******* book index :bookindex: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -867,7 +867,7 @@ if ((matchFirst(line, rgx.book_index)) /+ not book_index +/ #+END_SRC -******** matched: comment :comment:match: +******** matched: comment :comment:match: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -889,7 +889,7 @@ if ((matchFirst(line, rgx.book_index)) ++cntr; #+END_SRC -******** flag not set & line not exist: heading or para :heading:paragraph: +******** flag not set & line not exist: heading or para :heading:paragraph: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -928,7 +928,7 @@ if ((matchFirst(line, rgx.book_index)) } #+END_SRC -******** line exist: heading :heading: +******** line exist: heading :heading: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -941,7 +941,7 @@ if ((matchFirst(line, rgx.book_index)) ++line_occur["heading"]; #+END_SRC -******** line exist: para :para: +******** line exist: para :para: #+name: abs_in_loop_body_not_block_obj #+BEGIN_SRC d @@ -976,7 +976,7 @@ _block_flag_line_empty_( ****** line empty [+1] -******* assert line empty :assert: +******* assert line empty :assert: #+name: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d @@ -990,7 +990,7 @@ assert( ); #+END_SRC -******* heading object :heading:object: +******* heading object :heading:object: #+name: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d @@ -1065,7 +1065,7 @@ if ((type["heading"] == State.on) ++cntr; #+END_SRC -******* paragraph object :paragraph:object: +******* paragraph object :paragraph:object: #+name: abs_in_loop_body_not_block_obj_line_empty #+BEGIN_SRC d @@ -1121,7 +1121,7 @@ if ((type["heading"] == State.on) *** close non code objects (regular text) -*** regular text objects :text:paragraph: +*** regular text objects :text:paragraph: #+name: abs_in_loop_body_01 #+BEGIN_SRC d @@ -1154,7 +1154,7 @@ if (the_document_body_section.length > 0) { } #+END_SRC -** _3. post loop processing_ :post: +** _3. post main-loop processing_ :post: *** misc #+name: abs_post @@ -1175,7 +1175,7 @@ debug(objectrelated2) { // check #+END_SRC *** tie up preparation of document sections -**** endnotes section (scroll & seg) :endnotes: +**** endnotes section (scroll & seg) :endnotes: #+name: abs_post #+BEGIN_SRC d @@ -1196,7 +1196,7 @@ debug(endnotes) { } #+END_SRC -**** no glossary section? :glossary: +**** no glossary section? :glossary: #+name: abs_post #+BEGIN_SRC d @@ -1224,7 +1224,7 @@ debug(glossary) { } #+END_SRC -**** bibliography section (objects) :bibliography: +**** bibliography section (objects) :bibliography: #+name: abs_post #+BEGIN_SRC d @@ -1360,7 +1360,7 @@ auto biblio_entry_tags_jsonstr = `{ "id" : "" }`; // is: book, article, magazine, newspaper, blog, other -**** bookindex section (scroll & seg) :book:index: +**** bookindex section (scroll & seg) :book:index: #+name: abs_post #+BEGIN_SRC d @@ -1382,7 +1382,7 @@ debug(bookindex) { // bookindex } #+END_SRC -**** no blurb section? :blurb: +**** no blurb section? :blurb: #+name: abs_post #+BEGIN_SRC d @@ -1411,7 +1411,7 @@ debug(blurb) { } #+END_SRC -**** toc backmatter, table of contents backmatter (scroll & seg) :contents: +**** toc backmatter, table of contents backmatter (scroll & seg) :contents: #+name: abs_post #+BEGIN_SRC d @@ -1548,7 +1548,8 @@ the_document_head_section ~= the_document_body_section[0]; the_document_body_section=the_document_body_section[1..$]; #+END_SRC -**** loop: backmatter loop up to lev4: html_segnames, set backmatter pointers +*** TODO minor loops :post: +**** 1. loop: backmatter loop up to lev4: html_segnames, set backmatter pointers could optimise by - skipping second and third pass unless the output html seg or epub is being made! @@ -1623,7 +1624,7 @@ if (the_blurb_section.length > 1) { } #+END_SRC -**** [#A] loop: all objects structural relationships (sections, segments, objects) +**** 2. loop: all objects structural relationships (sections, segments, objects) needed for DOM structure, segnames & subtoc, backmatter pointers @@ -1911,7 +1912,8 @@ if (the_blurb_section.length > 1) { } #+END_SRC -*** [#B] the document :document: +** _4. return document tuple_ :post: +*** the document :document: #+name: abs_post #+BEGIN_SRC d @@ -1946,7 +1948,7 @@ destroy(the_bookindex_section); destroy(the_blurb_section); #+END_SRC -*** [#A] return document tuple :return:tuple: +*** _return document tuple_ :return:tuple: #+name: abs_post #+BEGIN_SRC d @@ -1957,7 +1959,7 @@ auto t = tuple( return t; #+END_SRC -** 4. Functions :abstract:function: +** 5. Functions :abstract:function: functions used in document abstraction @@ -2255,7 +2257,6 @@ void _code_block_( #+END_SRC ***** biblio block :biblio: - ****** biblio tag map #+name: abs_functions_block_biblio @@ -3054,7 +3055,7 @@ void _block_flag_line_empty_( } #+END_SRC -*** book index :bookindex: +*** book index :bookindex: #+name: abs_functions_book_index #+BEGIN_SRC d @@ -3200,7 +3201,7 @@ auto _heading_found_( } #+END_SRC -**** TODO heading make set :heading: +**** TODO heading make set :heading: #+name: abs_functions_heading #+BEGIN_SRC d @@ -3262,7 +3263,7 @@ auto _heading_make_set_( } #+END_SRC -**** heading match :heading: +**** heading match :heading: #+name: abs_functions_heading #+BEGIN_SRC d @@ -3489,7 +3490,7 @@ struct OCNemitter { } #+END_SRC -***** object inline markup munge :markup:inline: +***** object inline markup munge :markup:inline: #+name: ao_emitters_obj_inline_markup_munge #+BEGIN_SRC d @@ -3724,7 +3725,7 @@ struct ObjInlineMarkupMunge { } #+END_SRC -***** toc, tags, object inline markup :markup:inline: +***** toc, tags, object inline markup :markup:inline: ****** open #+name: ao_emitters_obj_inline_markup @@ -3734,7 +3735,7 @@ struct ObjInlineMarkup { string[string] obj_txt; #+END_SRC -****** object inline markup and anchor tags :markup:inline: +****** object inline markup and anchor tags :markup:inline: #+name: ao_emitters_obj_inline_markup_and_anchor_tags #+BEGIN_SRC d @@ -3805,7 +3806,7 @@ struct ObjInlineMarkup { } #+END_SRC -****** toc, table of contents build, gather headings :markup:inline: +****** toc, table of contents build, gather headings :markup:inline: #+name: ao_emitters_obj_inline_markup_table_of_contents #+BEGIN_SRC d @@ -4181,7 +4182,7 @@ private: } #+END_SRC -***** object attrib :attributes: +***** object attrib :attributes: ****** attributes structure open, public #+name: ao_emitters_obj_attributes @@ -4481,8 +4482,8 @@ struct ObjAttributes { } #+END_SRC -**** book index :book:index: -***** book index nugget hash :hash:nugget: +**** book index :book:index: +***** book index nugget hash :hash:nugget: #+name: ao_emitters_book_index_nugget #+BEGIN_SRC d @@ -4561,7 +4562,7 @@ struct BookIndexNuggetHash { } #+END_SRC -***** book index (sort &) report indented :report:indented: +***** book index (sort &) report indented :report:indented: #+name: ao_emitters_book_index_report_indented #+BEGIN_SRC d @@ -4593,7 +4594,7 @@ struct BookIndexReportIndent { } #+END_SRC -***** book index (sort &) report section :report:section: +***** book index (sort &) report section :report:section: ****** book index struct open #+name: ao_emitters_book_index_report_section @@ -4636,7 +4637,7 @@ struct BookIndexReportSection { } #+END_SRC -****** book index (sort &) build section :report:section: +****** book index (sort &) build section :report:section: #+name: ao_emitters_book_index_report_section #+BEGIN_SRC d @@ -4779,7 +4780,7 @@ struct BookIndexReportSection { } #+END_SRC -**** (end)notes section :endnotes:section: +**** (end)notes section :endnotes:section: #+name: ao_emitters_endnotes #+BEGIN_SRC d @@ -4966,7 +4967,7 @@ struct NotesSection { } #+END_SRC -**** bibliography :bibliography: +**** bibliography :bibliography: ***** biblio struct open #+name: ao_emitters_bibliography @@ -5083,7 +5084,7 @@ struct Bibliography { } #+END_SRC -**** node structure metadata :structure:metadata:node: +**** node structure metadata :structure:metadata:node: ***** metadata node struct open #+name: ao_emitters_metadata @@ -5336,8 +5337,8 @@ struct NodeStructureMetadata { } #+END_SRC -*** function assertions :assertions: -**** mixin template: assertions on markup document structure :doc_structure: +*** function assertions :assertions: +**** mixin template: assertions on markup document structure :doc_structure: #+name: abs_functions_assertions #+BEGIN_SRC d @@ -5518,7 +5519,7 @@ auto assertions_doc_structure( } #+END_SRC -**** mixin template: assertions on blocks :blocks: +**** mixin template: assertions on blocks :blocks: #+name: abs_functions_assertions #+BEGIN_SRC d @@ -5550,7 +5551,7 @@ auto assertions_flag_types_block_status_none_or_closed(int[string] type) { set abstracted objects for downstream processing -** initialize structs :struct: +** initialize structs :struct: *** heading attribute #+name: ao_structs_init |