diff options
Diffstat (limited to 'org/meta_conf_make_meta.org')
-rw-r--r-- | org/meta_conf_make_meta.org | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index bd18695..c6c4b2c 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -70,13 +70,13 @@ struct ConfCompositeMakeStr { string css = ""; string emphasis = ""; string footer = ""; - string headings = ""; + string[] headings; string home_button_image = ""; string home_button_text = ""; string italics = ""; string num_top = ""; string num_depth = ""; - string[][] substitute; // = [["", ""]]; + string[][] substitute; string texpdf_font = ""; } struct confCompositeMakeBuild { @@ -122,7 +122,7 @@ struct confCompositeMakeBuild { auto footer(string _mk) { return _mk; } - auto headings(string _mk) { + auto headings(string[] _mk) { return _mk; } auto home_button_image(string _mk) { @@ -179,7 +179,7 @@ struct ConfCompositeMakeInit { auto emphasis_substitute_sisu_markup = "!{$1}!"; auto emphasis_substitute_html = "<em>$1</em>"; string footer = ""; - string headings = ""; + string[] headings; string home_button_image = ""; string home_button_text = ""; char[] italics_rgxmatch = `=NULL`.dup; @@ -188,7 +188,7 @@ struct ConfCompositeMakeInit { auto italics_substitute_html = "<i>$1</i>"; string num_top = ""; string num_depth = ""; - string[][] substitute; // = [["", ""]]; + string[][] substitute; string texpdf_font = ""; } #+END_SRC @@ -491,7 +491,17 @@ if ("make" in _json.object) { if ("headings" in _json.object["make"] && (_json.object["make"]["headings"].type().to!string == "STRING") ) { - _struct_composite.make_str.headings = _json.object["make"]["headings"].str; + char[][] __match_headings_array + = (cast(char[]) _json.object["make"]["headings"].str) + .split(_rgx.make_heading_delimiter); + _struct_composite.make_str.headings = __match_headings_array.to!(string[]); + } else if ("headings" in _json.object["make"] + && _json.object["make"]["headings"].type().to!string == "ARRAY") { + string[] _match_headings_array; + foreach (_match_heading; _json.object["make"]["headings"].arrayNoRef) { + _match_headings_array ~= _match_heading.str; + } + _struct_composite.make_str.headings = _match_headings_array; } if ("home_button_image" in _json.object["make"] && (_json.object["make"]["home_button_image"].type().to!string == "STRING") |