aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/meta
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2018-03-09 16:32:41 -0500
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit73f8706880b753c9be8a27b0c28c59a3a45dfa86 (patch)
treeb76b4b5e12828812efaaa2e4d52e4a6917bb46f0 /src/sdp/meta
parentfootnotes fontface; home button text and links (diff)
home button text, a redo
Diffstat (limited to 'src/sdp/meta')
-rw-r--r--src/sdp/meta/conf_make_meta_json.d11
-rw-r--r--src/sdp/meta/conf_make_meta_structs.d25
-rw-r--r--src/sdp/meta/rgx.d9
3 files changed, 27 insertions, 18 deletions
diff --git a/src/sdp/meta/conf_make_meta_json.d b/src/sdp/meta/conf_make_meta_json.d
index 3a47f20..d88dda2 100644
--- a/src/sdp/meta/conf_make_meta_json.d
+++ b/src/sdp/meta/conf_make_meta_json.d
@@ -111,17 +111,16 @@ static template contentJSONtoSiSUstruct() {
if ("home_button_text" in _json.object["make"]
&& (_json.object["make"]["home_button_text"].type().to!string == "STRING")
) {
- char[][] __match_home_button_text_array
- = (cast(char[]) _json.object["make"]["home_button_text"].str)
- .split(_rgx.make_heading_delimiter);
- _struct_composite.make_str.home_button_text = __match_home_button_text_array.to!(string[]);
+ _struct_composite.make_str.home_button_text = _json.object["make"]["home_button_text"].str;
} else if ("home_button_text" in _json.object["make"]
- && _json.object["make"]["home_button_text"].type().to!string == "ARRAY") {
+ && _json.object["make"]["home_button_text"].type().to!string == "ARRAY"
+ ) {
string[] _match_home_button_text_array;
foreach (_match_heading; _json.object["make"]["home_button_text"].arrayNoRef) {
_match_home_button_text_array ~= _match_heading.str;
}
- _struct_composite.make_str.home_button_text = _match_home_button_text_array;
+ string _match_home_button_text_str = (_match_home_button_text_array).join("; ");
+ _struct_composite.make_str.home_button_text = _match_home_button_text_str;
}
if ("italics" in _json.object["make"]
&& (_json.object["make"]["italics"].type().to!string == "STRING")
diff --git a/src/sdp/meta/conf_make_meta_structs.d b/src/sdp/meta/conf_make_meta_structs.d
index a5d2c15..64e45d9 100644
--- a/src/sdp/meta/conf_make_meta_structs.d
+++ b/src/sdp/meta/conf_make_meta_structs.d
@@ -24,14 +24,18 @@ auto url_markup(string line) {
~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c
~ _mkup.url_o ~ "$3" ~ _mkup.url_c
~ "$4") // ("$1{ $2 }$3$4")
- )
+ )
.replaceAll(
_rgx.inline_link_naked_url,
("$1"
~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c
~ _mkup.url_o ~ "$2" ~ _mkup.url_c
~ "$3") // ("$1{ $2 }$2$3")
- );
+ )
+ .replaceAll(
+ _rgx.arr_delimiter,
+ _mkup.br_line
+ );
return line_;
}
struct ConfCompositeMakeStr {
@@ -43,7 +47,9 @@ struct ConfCompositeMakeStr {
string[] footer;
string[] headings;
string[] home_button_image;
- string[] home_button_text;
+ string home_button_text = "{SiSU}http://www.sisudoc.org;"
+ ~ " {www.sisudoc.org}http://www.sisudoc.org;"
+ ~ " {sources / git}http://git.sisudoc.org/gitweb/";
string italics;
string auto_num_top_at_level;
int auto_num_top_lv = 9;
@@ -89,13 +95,8 @@ struct confCompositeMakeBuild {
auto home_button_image(string[] _mk) {
return _mk;
}
- auto home_button_text(string[] _mk) {
- string line_;
- string[] _mk2;
- foreach (line; _mk) {
- _mk2 ~= url_markup(line);
- }
- return _mk2;
+ auto home_button_text(string _mk) {
+ return url_markup(_mk);
}
auto italics(string _mk) {
string[] _out;
@@ -129,7 +130,9 @@ struct ConfCompositeMakeInit {
string[] footer;
string[] headings;
string[] home_button_image;
- string[] home_button_text;
+ string home_button_text = "{SiSU}http://www.sisudoc.org;"
+ ~ " {www.sisudoc.org}http://www.sisudoc.org;"
+ ~ " {sources / git}http://git.sisudoc.org/gitweb/";
string[] italics;
string auto_num_top_at_level;
int auto_num_top_lv = 9;
diff --git a/src/sdp/meta/rgx.d b/src/sdp/meta/rgx.d
index 9fdcb99..1595263 100644
--- a/src/sdp/meta/rgx.d
+++ b/src/sdp/meta/rgx.d
@@ -146,7 +146,7 @@ static template SiSUrgxInit() {
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_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 image = ctRegex!(`([a-zA-Z0-9._-]+?\.(?:png|gif|jpg))`, "mg");
@@ -218,6 +218,13 @@ static template SiSUrgxInit() {
static src_base_parent_dir_name = ctRegex!(`[/](?P<dir>(?:[a-zA-Z0-9._-]+))(?:/media/text/[a-z]{2})$`); // formalizes dir structure
static src_base_parent_path = ctRegex!(`(?P<dir>(?:[/a-zA-Z0-9._-]+))(?:/media/text/[a-z]{2})$`); // formalizes dir structure
static src_formalised_file_path_parts = ctRegex!(`(?P<pth>(?:[/a-zA-Z0-9._-]+?)(?P<dir>[a-zA-Z0-9._-]+))(?:/media/text/[a-z]{2})$`); // formalizes dir structure
+ /+ line breaks +/
+ static br_line = ctRegex!(`┘`, "mg");
+ static br_nl = ctRegex!(`┙`, "mg");
+ static br_paragraph = ctRegex!(`┚`, "mg");
+ static br_page_line = ctRegex!(`┼`, "mg");
+ static br_page = ctRegex!(`┿`, "mg");
+ static br_page_new = ctRegex!(`╂`, "mg");
/+ inline markup footnotes endnotes +/
static inline_notes_al = ctRegex!(`【(?:[*+]\s+|\s*)(.+?)】`, "mg");
static inline_notes_al_special = ctRegex!(`【(?:[*+]\s+)(.+?)】`, "mg"); // TODO remove match when special footnotes are implemented