diff options
Diffstat (limited to 'org')
-rw-r--r-- | org/default_regex.org | 15 | ||||
-rw-r--r-- | org/meta_conf_make_meta.org | 36 | ||||
-rw-r--r-- | org/output_xmls.org | 46 |
3 files changed, 45 insertions, 52 deletions
diff --git a/org/default_regex.org b/org/default_regex.org index 59bd11e..9dbab82 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -252,7 +252,7 @@ static note_ref = ctRegex!(`^\S+?noteref_( static inline_url_generic = ctRegex!(`(?:^|[}(\[ ])(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_#]`, "mg"); static inline_url = ctRegex!(`((?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)[a-zA-Z0-9_]\S*)`, "mg"); static inline_link_naked_url = ctRegex!(`(?P<before>^|[ ])(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>[.,;:?!'"]?(?:[ ]|$))`, "mg"); -static inline_link_markup_regular = ctRegex!(`(?P<before>^|[ ])\{\s*(?P<content>.+?)\s*\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>[.,;:?!]?(?:[ ]|$))`, "mg"); +static inline_link_markup_regular = ctRegex!(`(?P<before>^|[ ])\{\s*(?P<content>.+?)\s*\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>(?:[,;:? ]|[!.]?(?:[ ]|$)))`, "mg"); static inline_link_endnote_url_helper_punctuated = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+?)(?P<after>[.,;:?!]?(?:[ ]|$))`, "mg"); static inline_link_endnote_url_helper = ctRegex!(`\{~\^\s+(?P<content>.+?)\}(?P<link>(?:(?:https?|git):\/\/|¤?\.\.\/|¤?\.\/|¤|#)\S+)`, "mg"); #+END_SRC @@ -436,6 +436,19 @@ static src_formalised_file_path_parts = ctRegex!(`(?P<pth>(?:[/a #+END_SRC ** inline markup + +*** inline breaks + +#+name: prgmkup_rgx +#+BEGIN_SRC d +/+ line breaks +/ +static br_line = ctRegex!(`┘`, "mg"); +static br_nl = ctRegex!(`┙`, "mg"); +static br_paragraph = ctRegex!(`┚`, "mg"); +static br_page_line = ctRegex!(`┼`, "mg"); +static br_page = ctRegex!(`┿`, "mg"); +static br_page_new = ctRegex!(`╂`, "mg"); +#+END_SRC *** inline (internal program) markup footnotes endnotes :inline:footnote: #+name: prgmkup_rgx diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index 9f6fbf7..fba8663 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -84,14 +84,18 @@ auto url_markup(string line) { ~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c ~ _mkup.url_o ~ "$3" ~ _mkup.url_c ~ "$4") // ("$1{ $2 }$3$4") - ) + ) .replaceAll( _rgx.inline_link_naked_url, ("$1" ~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c ~ _mkup.url_o ~ "$2" ~ _mkup.url_c ~ "$3") // ("$1{ $2 }$2$3") - ); + ) + .replaceAll( + _rgx.arr_delimiter, + _mkup.br_line + ); return line_; } struct ConfCompositeMakeStr { @@ -103,7 +107,9 @@ struct ConfCompositeMakeStr { string[] footer; string[] headings; string[] home_button_image; - string[] home_button_text; + string home_button_text = "{SiSU}http://www.sisudoc.org;" + ~ " {www.sisudoc.org}http://www.sisudoc.org;" + ~ " {sources / git}http://git.sisudoc.org/gitweb/"; string italics; string auto_num_top_at_level; int auto_num_top_lv = 9; @@ -149,13 +155,8 @@ struct confCompositeMakeBuild { auto home_button_image(string[] _mk) { return _mk; } - auto home_button_text(string[] _mk) { - string line_; - string[] _mk2; - foreach (line; _mk) { - _mk2 ~= url_markup(line); - } - return _mk2; + auto home_button_text(string _mk) { + return url_markup(_mk); } auto italics(string _mk) { string[] _out; @@ -196,7 +197,9 @@ struct ConfCompositeMakeInit { string[] footer; string[] headings; string[] home_button_image; - string[] home_button_text; + string home_button_text = "{SiSU}http://www.sisudoc.org;" + ~ " {www.sisudoc.org}http://www.sisudoc.org;" + ~ " {sources / git}http://git.sisudoc.org/gitweb/"; string[] italics; string auto_num_top_at_level; int auto_num_top_lv = 9; @@ -543,17 +546,16 @@ if ("make" in _json.object) { if ("home_button_text" in _json.object["make"] && (_json.object["make"]["home_button_text"].type().to!string == "STRING") ) { - char[][] __match_home_button_text_array - = (cast(char[]) _json.object["make"]["home_button_text"].str) - .split(_rgx.make_heading_delimiter); - _struct_composite.make_str.home_button_text = __match_home_button_text_array.to!(string[]); + _struct_composite.make_str.home_button_text = _json.object["make"]["home_button_text"].str; } else if ("home_button_text" in _json.object["make"] - && _json.object["make"]["home_button_text"].type().to!string == "ARRAY") { + && _json.object["make"]["home_button_text"].type().to!string == "ARRAY" + ) { string[] _match_home_button_text_array; foreach (_match_heading; _json.object["make"]["home_button_text"].arrayNoRef) { _match_home_button_text_array ~= _match_heading.str; } - _struct_composite.make_str.home_button_text = _match_home_button_text_array; + string _match_home_button_text_str = (_match_home_button_text_array).join("; "); + _struct_composite.make_str.home_button_text = _match_home_button_text_str; } if ("italics" in _json.object["make"] && (_json.object["make"]["italics"].type().to!string == "STRING") diff --git a/org/output_xmls.org b/org/output_xmls.org index 9a34534..0c79bf9 100644 --- a/org/output_xmls.org +++ b/org/output_xmls.org @@ -230,46 +230,24 @@ auto header_metadata(Dm)( auto site_info_button(Dm)( Dm doc_matters, ) { - string[string][] _location = [ - [ "url" : "", "lnk" : "" ], - [ "url" : "", "lnk" : "" ], - [ "url" : "", "lnk" : "" ] - ]; + string _locations; if (doc_matters.conf_make_meta.make.home_button_text.length > 0) { - foreach(int key, string line; doc_matters.conf_make_meta.make.home_button_text) { - if (auto m = line.match(rgx.inline_link)) { - if (key < 3) { - _location[key] = [ "url" : m.captures[2], "lnk" : m.captures[1] ]; - } else { - writeln("WARNING markup error info button content too long (max length 3 used), length: ", - doc_matters.conf_make_meta.make.home_button_text.length, - " button: ", doc_matters.conf_make_meta.make.home_button_text); - } - } else { - _location[key]["url"] = ""; - _location[key]["lnk"] = line; - } - } + _locations = (doc_matters.conf_make_meta.make.home_button_text) + .replaceAll( + rgx.inline_link, + ("<p class=\"tiny_left\"><a href=\"$2\">$1</a></p>")) + .replaceAll( + rgx.br_line, "") + .replaceAll( + rgx.br_nl, ""); } else { - _location[0]["url"] = "http://www.sisudoc.org"; _location[0]["lnk"] = "SiSU"; - _location[1]["url"] = "http://www.sisudoc.org"; _location[1]["lnk"] = "www.sisudoc.org"; - _location[2]["url"] = "http://www.sisudoc.org"; _location[2]["lnk"] = "sisu"; + writeln("WARNING home button text expected"); } string o; o = format(q"¶<div class="flex-menu-option"> - <p class="tiny_left"><a href="%s" target="_top"> - %s - </a></p> - <p class="tiny_left"><a href="%s" target="_top"> - %s - </a></p> - <p class="tiny_left"><a href="%s" target="_top"> - %s - </a></p> + %s </div>¶", - _location[0]["url"], _location[0]["lnk"], - _location[1]["url"], _location[1]["lnk"], - _location[2]["url"], _location[2]["lnk"], + _locations, ); return o; } |