From d18c6be61b70598e9c605db92103bf4e1054f15e Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 6 Jun 2017 17:46:46 -0400 Subject: headings & toc, monospace and links, fix --- src/sdp/ao/abstract_doc_source.d | 7 ++++++- src/sdp/ao/defaults.d | 1 + src/sdp/ao/rgx.d | 1 + src/sdp/output/defaults.d | 1 + src/sdp/output/rgx.d | 1 + src/sdp/output/xmls.d | 1 + 6 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/sdp') diff --git a/src/sdp/ao/abstract_doc_source.d b/src/sdp/ao/abstract_doc_source.d index dfd0dd9..8b95cc0 100644 --- a/src/sdp/ao/abstract_doc_source.d +++ b/src/sdp/ao/abstract_doc_source.d @@ -3485,6 +3485,8 @@ template SiSUdocAbstraction() { debug(asserts) { static assert(is(typeof(obj_txt_in) == string)); } + auto mng = InlineMarkup(); + obj_txt_in = obj_txt_in.replaceAll(rgx.inline_mono, (mng.mono ~ "{$1}" ~ mng.mono)); /+ url matched +/ if (obj_txt_in.match(rgx.inline_url_generic)) { /+ link: naked url: http://url +/ @@ -3533,6 +3535,7 @@ template SiSUdocAbstraction() { ); } } + obj_txt_in = obj_txt_in.replaceAll(rgx.inline_mono_box, ("#{$1}#")); return obj_txt_in; } auto footnotes_endnotes_markup_and_number_or_stars(Ot)(Ot obj_txt_in, bool reset_note_numbers) { @@ -4012,7 +4015,9 @@ template SiSUdocAbstraction() { _anchor_tag, ); lev4_subtoc[segment_anchor_tag_that_object_belongs_to] - ~= obj_["lev_markup_number"] ~ "~ " ~ subtoc_txt_.to!string.strip; + ~= munge.url_links(obj_["lev_markup_number"] + ~ "~ " ~ subtoc_txt_.to!string.strip + ); toc_txt_= munge.url_links(toc_txt_); indent=[ "hang_position" : obj_["lev_markup_number"].to!int, diff --git a/src/sdp/ao/defaults.d b/src/sdp/ao/defaults.d index aa9fc2c..4a989b6 100644 --- a/src/sdp/ao/defaults.d +++ b/src/sdp/ao/defaults.d @@ -395,6 +395,7 @@ template InternalMarkup() { auto tc_o = "┏"; auto tc_c = "┚"; auto tc_p = "┆"; + auto mono = "■"; string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") { _indent_spaces = replicate(_indent_spaces, indent); return _indent_spaces; diff --git a/src/sdp/ao/rgx.d b/src/sdp/ao/rgx.d index 3f74329..d0d42df 100644 --- a/src/sdp/ao/rgx.d +++ b/src/sdp/ao/rgx.d @@ -233,6 +233,7 @@ template SiSUrgxInit() { static inline_strike = ctRegex!(`-\{(?P.+?)\}-`, "mg"); static inline_insert = ctRegex!(`\+\{(?P.+?)\}\+`, "mg"); static inline_mono = ctRegex!(`#\{(?P.+?)\}#`, "mg"); + static inline_mono_box = ctRegex!(`■\{(?P.+?)\}■`, "mg"); static inline_cite = ctRegex!(`"\{(?P.+?)\}"`, "mg"); static inline_faces_line = ctRegex!(`^[*!/_]_ (?P.+?)((?: [\\]{2}|[~]#){0,2}$)`); static inline_emphasis_line = ctRegex!(`^\*_ (?P.+?)((?: [\\]{2}|[~]#){0,2}$)`); diff --git a/src/sdp/output/defaults.d b/src/sdp/output/defaults.d index 82a8d1a..d63c3d5 100644 --- a/src/sdp/output/defaults.d +++ b/src/sdp/output/defaults.d @@ -22,6 +22,7 @@ template InternalMarkup() { auto tc_o = "┏"; auto tc_c = "┚"; auto tc_p = "┆"; + auto mono = "■"; string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") { _indent_spaces = replicate(_indent_spaces, indent); return _indent_spaces; diff --git a/src/sdp/output/rgx.d b/src/sdp/output/rgx.d index 6fdc876..ae7599f 100644 --- a/src/sdp/output/rgx.d +++ b/src/sdp/output/rgx.d @@ -55,6 +55,7 @@ template SiSUoutputRgxInit() { static inline_strike = ctRegex!(`-\{(?P.+?)\}-`, "mg"); static inline_insert = ctRegex!(`\+\{(?P.+?)\}\+`, "mg"); static inline_mono = ctRegex!(`#\{(?P.+?)\}#`, "mg"); + static inline_mono_box = ctRegex!(`■\{(?P.+?)\}■`, "mg"); static inline_cite = ctRegex!(`"\{(?P.+?)\}"`, "mg"); static inline_faces_line = ctRegex!(`^[*!/_]_ (?P.+?)((?: [\\]{2}|[~]#){0,2}$)`); static inline_emphasis_line = ctRegex!(`^\*_ (?P.+?)((?: [\\]{2}|[~]#){0,2}$)`); diff --git a/src/sdp/output/xmls.d b/src/sdp/output/xmls.d index 7a057ad..ed9b548 100644 --- a/src/sdp/output/xmls.d +++ b/src/sdp/output/xmls.d @@ -350,6 +350,7 @@ template outputXHTMLs() { || (obj.heading_lev_markup == 0 || obj.heading_lev_markup > 4)) { _horizontal_rule = ""; } + _txt = font_face(_txt); string o; if (obj.obj_cite_number.empty) { o = format(q"¶%s -- cgit v1.2.3