diff options
Diffstat (limited to 'src/doc_reform/meta')
-rw-r--r-- | src/doc_reform/meta/conf_make_meta_json.d | 11 | ||||
-rw-r--r-- | src/doc_reform/meta/conf_make_meta_structs.d | 5 | ||||
-rw-r--r-- | src/doc_reform/meta/rgx.d | 1 |
3 files changed, 9 insertions, 8 deletions
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<text>.+?)(?:(?:[~])[{][*+ ]*)(?P<note>.+?)(?:[}][~])`, "mg"); static note_ref = ctRegex!(`^\S+?noteref_([0-9]+)`, "mg"); // {^{73.}^}#noteref_73 + static webserv_url_doc_root = ctRegex!(`(?P<url>(?P<domain>https?:\/\/[^ /]+)\/(?P<path>\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 |