aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/default_regex.org1
-rw-r--r--org/meta_conf_make_meta.org16
2 files changed, 9 insertions, 8 deletions
diff --git a/org/default_regex.org b/org/default_regex.org
index 6fbe87b..7f0c724 100644
--- a/org/default_regex.org
+++ b/org/default_regex.org
@@ -257,6 +257,7 @@ static note_ref = ctRegex!(`^\S+?noteref_(
#+name: meta_rgx
#+BEGIN_SRC d
+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
diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org
index fcae4bb..0a6074b 100644
--- a/org/meta_conf_make_meta.org
+++ b/org/meta_conf_make_meta.org
@@ -213,8 +213,9 @@ struct ConfCompositeMakeInit {
#+name: meta_defaults_template_structs
#+BEGIN_SRC d
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;
@@ -651,12 +652,11 @@ if ("webserv" in _json.object) {
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")