From 9f7281b32593326ed995cb3b155b6643cdb43e66 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 11 Apr 2020 19:58:30 -0400 Subject: metaverse, set behavior of block & group text - group: loses spaces, retains double newlines - block: retains spaces and newlines --- src/doc_reform/io_out/rgx.d | 2 +- src/doc_reform/meta/metadoc_from_src.d | 88 +++++++++++++++++----------------- src/doc_reform/meta/rgx.d | 2 +- 3 files changed, 47 insertions(+), 45 deletions(-) (limited to 'src/doc_reform') diff --git a/src/doc_reform/io_out/rgx.d b/src/doc_reform/io_out/rgx.d index e98f118..6879b67 100644 --- a/src/doc_reform/io_out/rgx.d +++ b/src/doc_reform/io_out/rgx.d @@ -40,7 +40,7 @@ static template spineRgxOut() { static inline_al_delimiter_open_regular = ctRegex!(`【\s`, "m"); static inline_al_delimiter_open_symbol_star = ctRegex!(`【[*]\s`, "m"); static inline_al_delimiter_open_symbol_plus = ctRegex!(`【[+]\s`, "m"); - static inline_text_and_note_al_ = ctRegex!(`(.+?(?:【[*+]*\s+.+?】|$))`, "mg"); + static inline_text_and_note_al_ = ctRegex!(`(.+?(?:【[*+]*\s+.+?】|.+))`, "mg"); /+ inline markup links +/ static inline_image = ctRegex!(`(?P
┥)☼(?P(?P[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P\d+)h(?P\d+))\s*(?P.*?┝┤.*?├)`, "mg");
     static inline_image_without_dimensions                = ctRegex!(`(?P
┥)☼(?P(?P[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P0)h(?P0))\s*(?P.*?┝┤.*?├)`, "mg");
diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d
index b6438a0..532d097 100644
--- a/src/doc_reform/meta/metadoc_from_src.d
+++ b/src/doc_reform/meta/metadoc_from_src.d
@@ -4381,45 +4381,50 @@ template docAbstraction() {
       if (!(stage_reset_note_numbers) && reset_note_numbers) {
         stage_reset_note_numbers = true;
       }
+      obj_txt_out = "";
       if (obj_txt_in.match(rgx.inline_notes_al_gen)) {
-        if (auto m = obj_txt_in.matchAll(rgx.inline_text_and_note_al_)) {
-          if (stage_reset_note_numbers) {
-            n_foot = 0;
-            n_foot_reg = 0;
-            n_foot_sp_asterisk = 0;
-            n_foot_sp_plus = 0;
-          }
-          stage_reset_note_numbers = false;
-          foreach(n; m) {
-            if (n.hit.to!string.match(rgx.inline_al_delimiter_open_symbol_star)) {
-              flg_notes_star =  true;
-              ++n_foot_sp_asterisk;
-              asterisks_ = "*";
-              n_foot=n_foot_sp_asterisk;
-              obj_txt_out ~= n.hit.to!string.replaceFirst(
-                rgx.inline_al_delimiter_open_symbol_star,
-                (mkup.en_a_o ~ replicate(asterisks_, n_foot_sp_asterisk) ~ " ")
-              );
-            } else if (n.hit.to!string.match(rgx.inline_al_delimiter_open_symbol_plus)) {
-              flg_notes_plus =  true;
-              ++n_foot_sp_plus;
-              plus_ = "*";
-              n_foot=n_foot_sp_plus;
-              obj_txt_out ~= n.hit.to!string.replaceFirst(
-                rgx.inline_al_delimiter_open_symbol_plus,
-                (mkup.en_a_o ~ replicate(plus_, n_foot_sp_plus) ~ " ")
-              );
-            } else if (n.hit.to!string.match(rgx.inline_al_delimiter_open_regular)) {
-              flg_notes_reg =  true;
-              ++n_foot_reg;
-              n_foot=n_foot_reg;
-              obj_txt_out ~= n.hit.to!string.replaceFirst(
-                rgx.inline_al_delimiter_open_regular,
-                (mkup.en_a_o ~ n_foot.to!string ~ " ")
-              );
-            } else {
-              obj_txt_out ~= n.hit.to!string;
+        string[] _tmp_txt;
+        foreach (x; obj_txt_in.split("\n")) {
+          if (auto m = x.matchAll(rgx.inline_text_and_note_al_)) {
+            if (stage_reset_note_numbers) {
+              n_foot = 0;
+              n_foot_reg = 0;
+              n_foot_sp_asterisk = 0;
+              n_foot_sp_plus = 0;
+            }
+            stage_reset_note_numbers = false;
+            foreach(n; m) {
+              if (n.hit.to!string.match(rgx.inline_al_delimiter_open_symbol_star)) { //
+                flg_notes_star =  true;
+                ++n_foot_sp_asterisk;
+                asterisks_ = "*";
+                n_foot=n_foot_sp_asterisk;
+                _tmp_txt ~= n.hit.to!string.replaceFirst(
+                  rgx.inline_al_delimiter_open_symbol_star,
+                  (mkup.en_a_o ~ replicate(asterisks_, n_foot_sp_asterisk) ~ " ")
+                );
+              } else if (n.hit.to!string.match(rgx.inline_al_delimiter_open_symbol_plus)) { //
+                flg_notes_plus =  true;
+                ++n_foot_sp_plus;
+                plus_ = "*";
+                n_foot=n_foot_sp_plus;
+                _tmp_txt ~= n.hit.to!string.replaceFirst(
+                  rgx.inline_al_delimiter_open_symbol_plus,
+                  (mkup.en_a_o ~ replicate(plus_, n_foot_sp_plus) ~ " ")
+                );
+              } else if (n.hit.to!string.match(rgx.inline_al_delimiter_open_regular)) { //
+                flg_notes_reg =  true;
+                ++n_foot_reg;
+                n_foot=n_foot_reg;
+                _tmp_txt ~= n.hit.to!string.replaceFirst(
+                  rgx.inline_al_delimiter_open_regular,
+                  (mkup.en_a_o ~ n_foot.to!string ~ " ")
+                );
+              } else {
+                _tmp_txt ~= n.hit.to!string;
+              }
             }
+            obj_txt_out = _tmp_txt.join("\n");
           }
         }
       } else {
@@ -4535,22 +4540,19 @@ template docAbstraction() {
     invariant() {
     }
     @safe auto munge_group(string obj_txt_in) {
-      obj_txt["munge"]=obj_txt_in;
-      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt["munge"]);
+      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in.split("\n\n").join(" \\\\\n \\\\\n"));
       return t;
     }
     invariant() {
     }
     @safe auto munge_block()(string obj_txt_in) {
-      obj_txt["munge"]=obj_txt_in;
-      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt["munge"]);
+      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in);
       return t;
     }
     invariant() {
     }
     @safe auto munge_verse()(string obj_txt_in) {
-      obj_txt["munge"]=obj_txt_in;
-      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt["munge"]);
+      TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in);
       return t;
     }
     invariant() {
diff --git a/src/doc_reform/meta/rgx.d b/src/doc_reform/meta/rgx.d
index 7508a67..b777f2e 100644
--- a/src/doc_reform/meta/rgx.d
+++ b/src/doc_reform/meta/rgx.d
@@ -207,7 +207,7 @@ static template spineRgxIn() {
     static inline_al_delimiter_open_regular               = ctRegex!(`【\s`, "m");
     static inline_al_delimiter_open_symbol_star           = ctRegex!(`【[*]\s`, "m");
     static inline_al_delimiter_open_symbol_plus           = ctRegex!(`【[+]\s`, "m");
-    static inline_text_and_note_al_                       = ctRegex!(`(.+?(?:【[*+]*\s+.+?】|$))`, "mg");
+    static inline_text_and_note_al_                       = ctRegex!(`(.+?(?:【[*+]*\s+.+?】|.+))`, "mg");
     /+ inline markup links +/
     static inline_image                                   = ctRegex!(`(?P
┥)☼(?P(?P[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P\d+)h(?P\d+))\s*(?P.*?┝┤.*?├)`, "mg");
     static inline_image_without_dimensions                = ctRegex!(`(?P
┥)☼(?P(?P[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P0)h(?P0))\s*(?P.*?┝┤.*?├)`, "mg");
-- 
cgit v1.2.3