From 3ee2ed36bd81f7f097aebf946983a732d6d27665 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 28 Sep 2018 17:15:44 -0400 Subject: config webserv_url_doc_root, domain & path --- src/doc_reform/meta/conf_make_meta_json.d | 11 +++++------ src/doc_reform/meta/conf_make_meta_structs.d | 5 +++-- src/doc_reform/meta/rgx.d | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/doc_reform/meta/conf_make_meta_json.d b/src/doc_reform/meta/conf_make_meta_json.d index 30aaedc..cf4c21a 100644 --- a/src/doc_reform/meta/conf_make_meta_json.d +++ b/src/doc_reform/meta/conf_make_meta_json.d @@ -211,12 +211,11 @@ static template contentJSONtoDocReformStruct() { if ("url_root" in _json.object["webserv"] && (_json.object["webserv"]["url_root"].type().to!string == "STRING") ) { - _struct_composite.conf.webserv_url_root = _json.object["webserv"]["url_root"].str; - } - if ("path" in _json.object["webserv"] - && (_json.object["webserv"]["path"].type().to!string == "STRING") - ) { - _struct_composite.conf.webserv_path = _json.object["webserv"]["path"].str; + _struct_composite.conf.webserv_url_doc_root = _json.object["webserv"]["url_root"].str; + if (auto m = _struct_composite.conf.webserv_url_doc_root.match(_rgx.webserv_url_doc_root)) { + _struct_composite.conf.webserv_url_domain = m.captures[2].to!string; + _struct_composite.conf.webserv_url_doc_path = m.captures[3].to!string; + } } if ("images" in _json.object["webserv"] && (_json.object["webserv"]["images"].type().to!string == "STRING") diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d index a05acf7..7158f86 100644 --- a/src/doc_reform/meta/conf_make_meta_structs.d +++ b/src/doc_reform/meta/conf_make_meta_structs.d @@ -141,8 +141,9 @@ struct ConfCompositeMakeInit { string texpdf_font; } struct ConfCompositeSiteLocal { - string webserv_url_root; - string webserv_path; + string webserv_url_doc_root; + string webserv_url_domain; + string webserv_url_doc_path; string webserv_images; string webserv_cgi; string webserv_cgi_host; diff --git a/src/doc_reform/meta/rgx.d b/src/doc_reform/meta/rgx.d index 39f2479..4657384 100644 --- a/src/doc_reform/meta/rgx.d +++ b/src/doc_reform/meta/rgx.d @@ -145,6 +145,7 @@ static template DocReformRgxInit() { static inline_curly_delimiter_close_regular = ctRegex!(`\s*\}~`, "m"); static inline_text_and_note_curly = ctRegex!(`(?P.+?)(?:(?:[~])[{][*+ ]*)(?P.+?)(?:[}][~])`, "mg"); static note_ref = ctRegex!(`^\S+?noteref_([0-9]+)`, "mg"); // {^{73.}^}#noteref_73 + static webserv_url_doc_root = ctRegex!(`(?P(?Phttps?:\/\/[^ /]+)\/(?P\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
^|[ ])(?P(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤)\S+?)(?P[.,;:?!'"]?(?:[ ]|$))`, "mg"); // issue with #link #32
-- 
cgit v1.2.3