/++ read configuration files
- read config files
ao_config_files.d +/ import std.array, std.path, std.regex, std.stdio; import ao_rgx; template SiSUpathsSRC() { mixin SiSUrgxInit; auto rgx = Rgx(); auto SiSUpathsSRC(D,Fn)( D _pwd, Fn _fn_src, ) { struct SisuSrcPaths { auto pwd() { return _pwd; } auto language() { // use command line info as well? string _k; if (auto m = _fn_src.match(rgx.language_code_and_filename)) { _k = m.captures[1]; } else { _k = "en"; } return _k; } auto doc_root() { return "sisudoc"; } auto text_root() { return doc_root.chainPath("text").array; } auto media_root() { return doc_root.chainPath("docmedia").array; } auto conf_root() { return doc_root.chainPath("conf").array; } auto image_root() { return media_root.chainPath("image").array; } auto doc_src_fn_with_path_for_text_root_and_lng() { return text_root.chainPath(language).array; } auto doc_src_with_relative_path() { return pwd.chainPath(_fn_src).array; } auto doc_src_fn() { return _fn_src.baseName.array; } } return SisuSrcPaths(); } }