From 6acf8085bea565943516e146077350fa3ea74a8b Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 5 Feb 2022 22:16:38 -0500 Subject: quote block, footnotes, markup? --- org/metaverse.org | 30 +++++++++++++++++++++--------- src/doc_reform/meta/metadoc_from_src.d | 13 +++++++------ 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/org/metaverse.org b/org/metaverse.org index a3896c2..a7a1c9e 100644 --- a/org/metaverse.org +++ b/org/metaverse.org @@ -5937,13 +5937,22 @@ invariant() { } #+END_SRC -******* quote +******* quote WORKON + +- quote block identified by open an close tags +- general markup subset + - NO standard (para) attributes + - inline markup + - font faces (bold, italics, underscore etc.) + - footnotes/endnotes + - links #+NAME: meta_emitters_obj_inline_markup_munge_function_quote #+BEGIN_SRC d -@safe string munge_quote()(string obj_txt_in) { - obj_txt["munge"] = obj_txt_in; - return obj_txt["munge"]; +@safe auto munge_quote()(string obj_txt_in) { + TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in.split("\n\n").join(" \\\\\n \\\\\n")); + // TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in); + return t; } invariant() { } @@ -5960,7 +5969,9 @@ invariant() { - footnotes/endnotes - links - drop spaces -- keep newlines? (drop linebreaks (single newlines), keep parabreaks (double newlines) apply paragraph attributes) +- keep newlines? + - drop linebreaks (single newlines), + - keep parabreaks (double newlines) apply paragraph attributes #+NAME: meta_emitters_obj_inline_markup_munge_function_group #+BEGIN_SRC d @@ -5983,7 +5994,8 @@ invariant() { - links - keep newlines & spaces - spaces - - newlines? (newlines detected and kept?) + - newlines? + - newlines detected and kept? #+NAME: meta_emitters_obj_inline_markup_munge_function_block #+BEGIN_SRC d @@ -6143,6 +6155,9 @@ static struct ObjInlineMarkup { case "block": x = munge.munge_block(obj_txt["munge"]); goto default; + case "quote": + x = munge.munge_quote(obj_txt["munge"]); + goto default; case "verse": x = munge.munge_verse(obj_txt["munge"]); goto default; @@ -6152,9 +6167,6 @@ static struct ObjInlineMarkup { case "table": obj_txt["munge"] = munge.munge_table(obj_txt["munge"]); break; - case "quote": - obj_txt["munge"] = munge.munge_quote(obj_txt["munge"]); - break; case "comment": obj_txt["munge"] = munge.munge_comment(obj_txt["munge"]); break; diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d index 6396655..a9005cd 100644 --- a/src/doc_reform/meta/metadoc_from_src.d +++ b/src/doc_reform/meta/metadoc_from_src.d @@ -4721,9 +4721,10 @@ template docAbstraction() { } return t; } - @safe string munge_quote()(string obj_txt_in) { - obj_txt["munge"] = obj_txt_in; - return obj_txt["munge"]; + @safe auto munge_quote()(string obj_txt_in) { + TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in.split("\n\n").join(" \\\\\n \\\\\n")); + // TxtPlusHasFootnotesUrlsImages t = object_notes_and_links_(obj_txt_in); + return t; } invariant() { } @@ -4822,6 +4823,9 @@ template docAbstraction() { case "block": x = munge.munge_block(obj_txt["munge"]); goto default; + case "quote": + x = munge.munge_quote(obj_txt["munge"]); + goto default; case "verse": x = munge.munge_verse(obj_txt["munge"]); goto default; @@ -4831,9 +4835,6 @@ template docAbstraction() { case "table": obj_txt["munge"] = munge.munge_table(obj_txt["munge"]); break; - case "quote": - obj_txt["munge"] = munge.munge_quote(obj_txt["munge"]); - break; case "comment": obj_txt["munge"] = munge.munge_comment(obj_txt["munge"]); break; -- cgit v1.2.3