aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/meta
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdp/meta')
-rw-r--r--src/sdp/meta/conf_make_meta_structs.d8
-rw-r--r--src/sdp/meta/metadoc_from_src.d24
-rw-r--r--src/sdp/meta/rgx.d12
3 files changed, 22 insertions, 22 deletions
diff --git a/src/sdp/meta/conf_make_meta_structs.d b/src/sdp/meta/conf_make_meta_structs.d
index 64e45d9..b67b9ad 100644
--- a/src/sdp/meta/conf_make_meta_structs.d
+++ b/src/sdp/meta/conf_make_meta_structs.d
@@ -19,17 +19,17 @@ auto _mkup = InlineMarkup();
auto url_markup(string line) {
auto line_ = (line)
.replaceAll(
- _rgx.inline_link_markup_regular,
+ _rgx.smid_inline_link_markup_regular,
("$1"
~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c
- ~ _mkup.url_o ~ "$3" ~ _mkup.url_c
+ ~ _mkup.url_o ~ "$3" ~ _mkup.url_c
~ "$4") // ("$1{ $2 }$3$4")
)
.replaceAll(
- _rgx.inline_link_naked_url,
+ _rgx.smid_inline_link_naked_url,
("$1"
~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c
- ~ _mkup.url_o ~ "$2" ~ _mkup.url_c
+ ~ _mkup.url_o ~ "$2" ~ _mkup.url_c
~ "$3") // ("$1{ $2 }$2$3")
)
.replaceAll(
diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d
index 9859f7b..f4701dc 100644
--- a/src/sdp/meta/metadoc_from_src.d
+++ b/src/sdp/meta/metadoc_from_src.d
@@ -3816,11 +3816,11 @@ template SiSUdocAbstraction() {
obj_txt_in = obj_txt_in.replaceAll(rgx.inline_mono, (mng.mono ~ "{$1}" ~ mng.mono));
/+ url matched +/
obj_txt_in = obj_txt_in.replaceAll(rgx.inline_notes_al_special, ""); // TODO reinstate when special footnotes are implemented
- if (obj_txt_in.match(rgx.inline_url_generic)) {
+ if (obj_txt_in.match(rgx.smid_inline_url_generic)) {
/+ link: naked url: http://url +/
- if (obj_txt_in.match(rgx.inline_link_naked_url)) {
+ if (obj_txt_in.match(rgx.smid_inline_link_naked_url)) {
obj_txt_in = (obj_txt_in).replaceAll(
- rgx.inline_link_naked_url,
+ rgx.smid_inline_link_naked_url,
("$1"
~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
~ mkup.url_o ~ "$2" ~ mkup.url_c
@@ -3832,10 +3832,10 @@ template SiSUdocAbstraction() {
maps to:
{ link which includes url as footnote }http://url~{ { http://url }http://url }~
+/
- if (obj_txt_in.match(rgx.inline_link_endnote_url_helper)) {
+ if (obj_txt_in.match(rgx.smid_inline_link_endnote_url_helper)) {
obj_txt_in = (obj_txt_in)
.replaceAll(
- rgx.inline_link_endnote_url_helper_punctuated,
+ rgx.smid_inline_link_endnote_url_helper_punctuated,
(mkup.lnk_o ~ "$1" ~ mkup.lnk_c
~ mkup.url_o ~ "$2" ~ mkup.url_c
~ "~{ " ~ mkup.lnk_o ~ " $2 " ~ mkup.lnk_c
@@ -3843,7 +3843,7 @@ template SiSUdocAbstraction() {
~ " }~$3") // ("{ $1 }$2~{ { $2 }$2 }~$3")
)
.replaceAll(
- rgx.inline_link_endnote_url_helper,
+ rgx.smid_inline_link_endnote_url_helper,
(mkup.lnk_o ~ "$1" ~ mkup.lnk_c
~ mkup.url_o ~ "$2" ~ mkup.url_c
~ "~{ " ~ mkup.lnk_o ~ " $2 " ~ mkup.lnk_c
@@ -3854,9 +3854,9 @@ template SiSUdocAbstraction() {
/+ link with regular markup:
{ linked text or image }http://url
+/
- if (obj_txt_in.match(rgx.inline_link_markup_regular)) {
+ if (obj_txt_in.match(rgx.smid_inline_link_markup_regular)) {
obj_txt_in = (obj_txt_in).replaceAll(
- rgx.inline_link_markup_regular,
+ rgx.smid_inline_link_markup_regular,
("$1"
~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c
~ mkup.url_o ~ "$3" ~ mkup.url_c
@@ -3955,7 +3955,7 @@ template SiSUdocAbstraction() {
(mkup.en_a_o ~ "+" ~ " $1" ~ mkup.en_a_c)
);
/+ url matched +/
- if (obj_txt_in.match(rgx.inline_url)) {
+ if (obj_txt_in.match(rgx.smid_inline_url)) {
urls = true;
obj_txt_in = url_links(obj_txt_in);
}
@@ -4134,7 +4134,7 @@ template SiSUdocAbstraction() {
obj_txt["munge"] = obj_[obj_key_].dup;
obj_txt["munge"] = (obj_["is"].match(ctRegex!(`verse|code`)))
? obj_txt["munge"]
- : strip(obj_txt["munge"]);
+ : obj_txt["munge"].strip;
static __gshared string[] anchor_tags_ = [];
auto x = munge.init;
bool[string] obj_notes_and_links;
@@ -4152,7 +4152,7 @@ template SiSUdocAbstraction() {
} else if (obj_["lev"] == "1") {
writeln("heading anchor tag missing: ", obj_txt["munge"]);
}
- x =munge.munge_heading(obj_txt["munge"], reset_note_numbers);
+ x = munge.munge_heading(obj_txt["munge"], reset_note_numbers);
reset_note_numbers=false;
goto default;
case "para":
@@ -4653,7 +4653,7 @@ template SiSUdocAbstraction() {
} else if (auto m = obj_txt_in.matchFirst(rgx.para_indent_hang)) {
_obj_attributes =" \"bullet\": \"false\","
~ " \"indent_hang\": " ~ m.captures[1].to!string ~ ","
- ~ " \"indent_base\": " ~ m.captures[2].to!string ~ ",";
+ ~ " \"indent_base\": " ~ m.captures[2].to!string ~ ",";
} else if (auto m = obj_txt_in.matchFirst(rgx.para_indent)) {
_obj_attributes =" \"bullet\": \"false\","
~ " \"indent_hang\": " ~ m.captures[1].to!string ~ ","
diff --git a/src/sdp/meta/rgx.d b/src/sdp/meta/rgx.d
index 6006122..d15f90a 100644
--- a/src/sdp/meta/rgx.d
+++ b/src/sdp/meta/rgx.d
@@ -143,12 +143,12 @@ static template SiSUrgxInit() {
static inline_curly_delimiter_close_regular = ctRegex!(`\s*\}~`, "m");
static inline_text_and_note_curly = ctRegex!(`(?P<text>.+?)(?:(?:[~])[{][*+ ]*)(?P<note>.+?)(?:[}][~])`, "mg");
static note_ref = ctRegex!(`^\S+?noteref_([0-9]+)`, "mg"); // {^{73.}^}#noteref_73
- static inline_url_generic = ctRegex!(`(?:^|[}(\[ ])(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_#]`, "mg");
- static inline_url = ctRegex!(`((?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_]\S*)`, "mg");
- static inline_link_naked_url = ctRegex!(`(?P<before>^|[ ])(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤)\S+?)(?P<after>[.,;:?!'"]?(?:[ ]|$))`, "mg");
- static inline_link_markup_regular = ctRegex!(`(?P<before>^|[ ])\{\s*(?P<content>.+?)\s*\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>(?:[,;:? ]|[!.]?(?:[ ]|$)))`, "mg");
- static inline_link_endnote_url_helper_punctuated = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>[.,;:?!]?(?:[ ]|$))`, "mg");
- static inline_link_endnote_url_helper = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+)`, "mg");
+ static smid_inline_url_generic = ctRegex!(`(?:^|[}(\[ ])(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_#]`, "mg");
+ static smid_inline_url = ctRegex!(`((?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_]\S*)`, "mg");
+ static smid_inline_link_naked_url = ctRegex!(`(?P<pre>^|[ ])(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤)\S+?)(?P<post>[.,;:?!'"]?(?:[ ]|$))`, "mg"); // issue with #link #32
+ static smid_inline_link_markup_regular = ctRegex!(`(?P<pre>^|[ ]|[^\S]?)\{\s*(?P<content>.+?)\s*\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<post>[;:!,?.]?(?:[ )\]]|$))`, "mg"); // NEXT
+ static smid_inline_link_endnote_url_helper_punctuated = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>[.,;:?!]?(?:[ ]|$))`, "mg");
+ static smid_inline_link_endnote_url_helper = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+)`, "mg");
static image = ctRegex!(`([a-zA-Z0-9._-]+?\.(?:png|gif|jpg))`, "mg");
/+ inline markup book index +/
static book_index = ctRegex!(`^=\{\s*(.+?)\}$`, "m");