diff options
Diffstat (limited to 'src/doc_reform/meta/conf_make_meta_yaml.d')
-rw-r--r-- | src/doc_reform/meta/conf_make_meta_yaml.d | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d index bb072a9..f36a7cf 100644 --- a/src/doc_reform/meta/conf_make_meta_yaml.d +++ b/src/doc_reform/meta/conf_make_meta_yaml.d @@ -8,6 +8,7 @@ static template contentYAMLtoDocReformStruct() { std.algorithm, std.array, std.exception, + std.path, std.regex, std.stdio, std.string, @@ -236,24 +237,33 @@ static template contentYAMLtoDocReformStruct() { } } } + if (!(_struct_composite.conf.output_path)) { + _struct_composite.conf.output_path = ((_manifest.output.path).asNormalizedPath).array; + } + if ("output" in _yaml + && _yaml["output"].type.sequence + ) { + if (_yaml["output"].type.mapping + && _yaml["output"].tag.match(rgx.yaml_tag_is_map) + ) { + if ("path" in _yaml["output"] + && _yaml["output"]["path"].type.string + && _yaml["output"]["path"].tag.match(rgx.yaml_tag_is_str) + ) { + if (_manifest.output.path == _manifest.env.pwd + && _yaml["output"]["path"].get!string.length > 0 + ) { + _struct_composite.conf.output_path = (((_yaml["output"]["path"].get!string).expandTilde).asNormalizedPath).array; + } + } + } + } if ("processing" in _yaml && _yaml["processing"].type.sequence ) { if (_yaml["processing"].type.mapping && _yaml["processing"].tag.match(rgx.yaml_tag_is_map) ) { - if ("path" in _yaml["processing"] - && _yaml["processing"]["path"].type.string - && _yaml["processing"]["path"].tag.match(rgx.yaml_tag_is_str) - ) { - _struct_composite.conf.processing_path = _yaml["processing"]["path"].get!string; - } - if ("dir" in _yaml["processing"] - && _yaml["processing"]["dir"].type.string - && _yaml["processing"]["dir"].tag.match(rgx.yaml_tag_is_str) - ) { - _struct_composite.conf.processing_dir = _yaml["processing"]["dir"].get!string; - } if ("concord_max" in _yaml["processing"] && _yaml["processing"]["concord_max"].type.string && _yaml["processing"]["concord_max"].tag.match(rgx.yaml_tag_is_str) @@ -268,18 +278,18 @@ static template contentYAMLtoDocReformStruct() { if (_yaml["flag"].type.mapping && _yaml["flag"].tag.match(rgx.yaml_tag_is_map) ) { - if ("act1" in _yaml["flag"] - && _yaml["flag"]["act1"].type.string - && _yaml["flag"]["act1"].tag.match(rgx.yaml_tag_is_str) - ) { - _struct_composite.conf.flag_act1 = _yaml["flag"]["act1"].get!string; - } if ("act0" in _yaml["flag"] && _yaml["flag"]["act0"].type.string && _yaml["flag"]["act0"].tag.match(rgx.yaml_tag_is_str) ) { _struct_composite.conf.flag_act0 = _yaml["flag"]["act0"].get!string; } + if ("act1" in _yaml["flag"] + && _yaml["flag"]["act1"].type.string + && _yaml["flag"]["act1"].tag.match(rgx.yaml_tag_is_str) + ) { + _struct_composite.conf.flag_act1 = _yaml["flag"]["act1"].get!string; + } if ("act2" in _yaml["flag"] && _yaml["flag"]["act2"].type.string && _yaml["flag"]["act2"].tag.match(rgx.yaml_tag_is_str) |