diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-02-03 15:42:31 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | 4bf61c31fac50313753246e76993739fff3bfa14 (patch) | |
| tree | 93b0073fc5ebedd4727b20c86479988e5239a3b3 /org | |
| parent | ao_doc_abstraction.org (moved/renamed ao_abstract_doc_source.org) (diff) | |
doc_matters, add image list
Diffstat (limited to 'org')
| -rw-r--r-- | org/ao_defaults.org | 7 | ||||
| -rw-r--r-- | org/ao_doc_abstraction.org | 12 | ||||
| -rw-r--r-- | org/sdp.org | 8 | 
3 files changed, 25 insertions, 2 deletions
| diff --git a/org/ao_defaults.org b/org/ao_defaults.org index b2604ac..a798763 100644 --- a/org/ao_defaults.org +++ b/org/ao_defaults.org @@ -1003,6 +1003,13 @@ static inline_link_endnote_url_helper                  = ctRegex!(`\{~\^\s+(.+?)  static inline_a_url                                    = ctRegex!(`(┤)(\S+?)(├)`, "mg");  #+END_SRC +** images                                                           :images: + +#+name: ao_rgx +#+BEGIN_SRC d +static image                                           = ctRegex!(`([a-zA-Z._-]+?\.(?:png|gif|jpg))`, "mg"); +#+END_SRC +  ** inline markup book index                               :inline:bookindex:  #+name: ao_rgx diff --git a/org/ao_doc_abstraction.org b/org/ao_doc_abstraction.org index 6911b63..33ebea3 100644 --- a/org/ao_doc_abstraction.org +++ b/org/ao_doc_abstraction.org @@ -1667,6 +1667,14 @@ next are not yet known for backmatter during the second pass  #+name: abs_post  #+BEGIN_SRC d +string[] _images; +auto extract_images(S)(S content_block) { +  string[] images_; +  if (auto m = matchAll(content_block, rgx.image)) { +    images_ ~= m.captures[1]; +  } +  return images_; +}  foreach (ref obj; the_document_head_section) {    if (obj.is_a == "heading") {      debug(dom) { @@ -1754,9 +1762,12 @@ if (the_document_body_section.length > 1) {            dom_set_collapsed_tags(dom_collapsed, obj.heading_lev_collapsed).dup;        }        heading_ancestors(obj, lv_ancestors); +    } else if (obj.is_a == "para") { +       _images ~= extract_images(obj.text);      }    }  } +auto images=uniq(_images.sort());  /+ optional only one 1~ level +/  if (the_endnotes_section.length > 1) {    dom_markedup_buffer = dom_markedup.dup; @@ -2033,6 +2044,7 @@ auto t = tuple(    document_the,    document_section_keys_sequenced,    html_segnames, +  images,  );  return t;  #+END_SRC diff --git a/org/sdp.org b/org/sdp.org index cafb5d9..9cb677b 100644 --- a/org/sdp.org +++ b/org/sdp.org @@ -501,10 +501,11 @@ auto da = SiSUdocAbstraction!()(    opts  );  static assert(!isTypeTuple!(da)); -static assert(da.length==3); +static assert(da.length==4);  auto doc_abstraction = da[0]; // head ~ toc ~ contents ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~blurb;  string[][string] _document_section_keys_sequenced = da[1];  string[] _doc_html_segnames = da[2]; +auto _images = da[3];  #+END_SRC  ** 4. _document matters_ (compiled from various sources) @@ -540,6 +541,10 @@ struct DocumentMatters {      string[] _k = _0_header_1_body_content_2_insert_filelist_tuple[2];      return _k;    } +  auto image_list() { +    auto _k = _images; +    return _k; +  }    auto opt_action_bool() {      bool[string] _k = opts;      return _k; @@ -548,7 +553,6 @@ struct DocumentMatters {      auto _k = env;      return _k;    } -  /+ add a list of images +/  }  auto doc_matters = DocumentMatters();  #+END_SRC | 
