aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2020-04-11 19:58:30 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2020-05-20 11:27:25 -0400
commit9f7281b32593326ed995cb3b155b6643cdb43e66 (patch)
tree985b20d4d5a9c60db8c526c07a5384cb4a577b5c /src/doc_reform
parentopt_actions, re-arrangment, minor (diff)
metaverse, set behavior of block & group text
- group: loses spaces, retains double newlines - block: retains spaces and newlines
Diffstat (limited to 'src/doc_reform')
-rw-r--r--src/doc_reform/io_out/rgx.d2
-rw-r--r--src/doc_reform/meta/metadoc_from_src.d88
-rw-r--r--src/doc_reform/meta/rgx.d2
3 files changed, 47 insertions, 45 deletions
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<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>\d+)h(?P<height>\d+))\s*(?P<post>.*?┝┤.*?├)`, "mg");
static inline_image_without_dimensions = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>0)h(?P<height>0))\s*(?P<post>.*?┝┤.*?├)`, "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<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>\d+)h(?P<height>\d+))\s*(?P<post>.*?┝┤.*?├)`, "mg");
static inline_image_without_dimensions = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>[a-zA-Z0-9._-]+?\.(?:jpg|gif|png)),w(?P<width>0)h(?P<height>0))\s*(?P<post>.*?┝┤.*?├)`, "mg");