diff options
-rw-r--r-- | org/default_regex.org | 1 | ||||
-rw-r--r-- | org/doc_reform.org | 48 | ||||
-rw-r--r-- | org/meta_abstraction.org | 90 | ||||
-rw-r--r-- | org/meta_conf_make_meta.org | 2 | ||||
-rw-r--r-- | org/output_sqlite.org | 8 | ||||
-rw-r--r-- | org/output_xmls.org | 14 | ||||
-rwxr-xr-x | src/doc_reform/doc_reform.d | 10 | ||||
-rw-r--r-- | src/doc_reform/meta/conf_make_meta_structs.d | 2 | ||||
-rw-r--r-- | src/doc_reform/meta/metadoc_from_src.d | 48 | ||||
-rw-r--r-- | src/doc_reform/output/sqlite.d | 8 | ||||
-rw-r--r-- | src/doc_reform/output/xmls.d | 14 |
11 files changed, 165 insertions, 80 deletions
diff --git a/org/default_regex.org b/org/default_regex.org index 1496696..be628dd 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -464,6 +464,7 @@ 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/doc_reform.org b/org/doc_reform.org index acc21e9..69e23a9 100644 --- a/org/doc_reform.org +++ b/org/doc_reform.org @@ -75,6 +75,7 @@ import std.algorithm; import std.parallelism; <<mixin_doc_reform_version>> <<mixin_pre_main>> +string program_name = "doc-reform"; /++ name "doc_reform" description "A SiSU inspired document parser writen in D." @@ -219,8 +220,9 @@ static auto rgx = Rgx(); scope(success) { debug(checkdoc) { writefln( - "~ run complete, ok ~ (doc_reform-%s.%s.%s, %s D:%s, %s %s)", - ver.major, ver.minor, ver.patch, + "~ run complete, ok ~ (%s-%s.%s.%s, %s D:%s, %s %s)", + program_name, + _ver.major, _ver.minor, _ver.patch, __VENDOR__, __VERSION__, bits, os, ); @@ -593,8 +595,8 @@ auto _opt_action = OptActions(); #+NAME: doc_reform_args #+BEGIN_SRC d auto _env = [ - "pwd" : environment["PWD"], - "home" : environment["HOME"], + "pwd" : environment["PWD"], + "home" : environment["HOME"], ]; #+END_SRC @@ -997,6 +999,8 @@ if ((_opt_action.debug_do) - prepare document_matters, miscellany about processing and the document of use in downstream processing +**** verbose message + #+NAME: doc_reform_each_file_do_document_matters #+BEGIN_SRC d if ((_opt_action.debug_do) @@ -1005,9 +1009,21 @@ if ((_opt_action.debug_do) writeln("step4 commence → (doc_matters)"); } struct DocumentMatters { +#+END_SRC + +**** config make & meta + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d auto conf_make_meta() { // TODO meld with all make instructions return _make_and_meta_struct; } +#+END_SRC + +**** env related + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d auto env() { struct Env_ { auto pwd() { @@ -1019,6 +1035,12 @@ struct DocumentMatters { } return Env_(); } +#+END_SRC + +**** opt + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d auto opt() { struct Opt_ { auto action() { @@ -1031,6 +1053,12 @@ struct DocumentMatters { } return Opt_(); } +#+END_SRC + +**** output related + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d auto src() { return _manifest.src; } @@ -1080,8 +1108,20 @@ struct DocumentMatters { auto output_path() { return _manifest.output.path; } +#+END_SRC + +**** } close + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d } auto doc_matters = DocumentMatters(); +#+END_SRC + +**** step complete message + +#+NAME: doc_reform_each_file_do_document_matters +#+BEGIN_SRC d if ((_opt_action.debug_do) || (_opt_action.very_verbose) ) { diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org index 8b8fe79..51b089c 100644 --- a/org/meta_abstraction.org +++ b/org/meta_abstraction.org @@ -613,7 +613,7 @@ scope(failure) { line, ); } -line = (line).replaceAll(rgx.true_dollar, "$$$$"); +line = line.replaceAll(rgx.true_dollar, "$$$$"); /+ dollar represented as $$ needed to stop submatching on $ (substitutions using ${identifiers} must take into account (i.e. happen earlier)) +/ @@ -950,7 +950,7 @@ if there is a blurb section you need to: /+ within block object: group +/ line = _doc_header_and_make_substitutions_(line, conf_make_meta); line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta); - line = (line) + line = line .replaceAll(rgx.para_delimiter, mkup.br_paragraph ~ "$1"); _group_block_(line, an_object, obj_type_status); continue; @@ -965,11 +965,11 @@ if there is a blurb section you need to: line = _doc_header_and_make_substitutions_(line, conf_make_meta); line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta); if (auto m = line.match(rgx.spaces_line_start)) { - line = (line) + line = line .replaceAll(rgx.spaces_line_start, (m.captures[1]).translate([ ' ' : mkup.nbsp ])); } if (auto m = line.match(rgx.spaces_multiple)) { - line = (line) + line = line .replaceAll(rgx.spaces_multiple, (m.captures[1]).translate([ ' ' : mkup.nbsp ])); } _block_block_(line, an_object, obj_type_status); @@ -3517,7 +3517,7 @@ void _biblio_block_( tmp ~= au.str; } } - tmp = (tmp).replace(rgx.trailing_comma, ""); + tmp = tmp.replace(rgx.trailing_comma, ""); j["author"].str = tmp; goto default; case "editor_raw": // editor_arr editor (fn sn) @@ -3532,7 +3532,7 @@ void _biblio_block_( tmp ~= ed.str; } } - tmp = (tmp).replace(rgx.trailing_comma, ""); + tmp = tmp.replace(rgx.trailing_comma, ""); j["editor"].str = tmp; goto default; case "fulltitle": // title & subtitle @@ -4927,7 +4927,7 @@ auto font_faces_line(T)( ) { static auto rgx = Rgx(); if (textline.match(rgx.inline_faces_line)) { - textline = (textline) + textline = textline .replaceFirst(rgx.inline_emphasis_line, ("*{$1}*$2")) .replaceFirst(rgx.inline_bold_line, ("!{$1}!$2")) .replaceFirst(rgx.inline_underscore_line, ("_{$1}_$2")) @@ -5269,7 +5269,7 @@ static struct ObjInlineMarkupMunge { if (obj_txt_in.match(rgx.smid_inline_url_generic)) { /+ link: naked url: http://url +/ if (obj_txt_in.match(rgx.smid_inline_link_naked_url)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_inline_link_naked_url, ("$1" ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c @@ -5283,7 +5283,7 @@ static struct ObjInlineMarkupMunge { { link which includes url as footnote }http://url~{ { http://url }http://url }~ +/ if (obj_txt_in.match(rgx.smid_inline_link_endnote_url_helper)) { - obj_txt_in = (obj_txt_in) + obj_txt_in = obj_txt_in .replaceAll( rgx.smid_inline_link_endnote_url_helper_punctuated, (mkup.lnk_o ~ "$1" ~ mkup.lnk_c @@ -5305,7 +5305,7 @@ static struct ObjInlineMarkupMunge { { linked text or image }http://url +/ if (obj_txt_in.match(rgx.smid_inline_link_markup_regular)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_inline_link_markup_regular, ("$1" ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c @@ -5334,7 +5334,7 @@ static struct ObjInlineMarkupMunge { writeln("Image: ", obj_txt_in); } if (obj_txt_in.match(rgx.smid_image_with_dimensions)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_image_with_dimensions, ("$1" ~ mkup.img ~ "$2,w$3h$4 " @@ -5344,7 +5344,7 @@ static struct ObjInlineMarkupMunge { writeln("IMAGE with size: ", obj_txt_in); // decide on representation } } else if (obj_txt_in.match(rgx.smid_image)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_image, ("$1" ~ mkup.img ~ "$2,w0h0 " @@ -5372,7 +5372,7 @@ static struct ObjInlineMarkupMunge { bool flg_notes_reg = false; bool flg_notes_star = false; bool flg_notes_plus = false; - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.inline_notes_curly, (mkup.en_a_o ~ " $1" ~ mkup.en_a_c) ); @@ -5471,7 +5471,7 @@ static struct ObjInlineMarkupMunge { obj_txt_in = url_links(obj_txt_in); } if (auto m = obj_txt_in.match(rgx.para_inline_link_anchor)) { - obj_txt_in = (obj_txt_in) + obj_txt_in = obj_txt_in .replaceAll(rgx.para_inline_link_anchor, "┋$1┋"); } auto ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers); @@ -5520,7 +5520,7 @@ static struct ObjInlineMarkupMunge { } } body { - obj_txt["munge"]=(obj_txt_in) + obj_txt["munge"] = obj_txt_in .replaceFirst(rgx.heading, "") .replaceFirst(rgx.object_number_off_all, "") .strip; @@ -5677,7 +5677,7 @@ static struct ObjInlineMarkupMunge { } } body { - obj_txt_in = (obj_txt_in).replaceAll(rgx.space, mkup.nbsp); + obj_txt_in = obj_txt_in.replaceAll(rgx.space, mkup.nbsp); obj_txt["munge"] = obj_txt_in; return obj_txt["munge"]; } @@ -6081,7 +6081,7 @@ private: } if ((!empty(heading_number_auto_composite)) && (obj_["lev_markup_number"].to!uint >= conf_make_meta.make.auto_num_top_lv)) { - munge_=(munge_) + munge_ = munge_ .replaceFirst(rgx.heading, "$1~$2 " ~ heading_number_auto_composite ~ ". ") .replaceFirst(rgx.heading_marker_missing_tag, @@ -6109,16 +6109,16 @@ private: if (!(munge_.match(rgx.heading_anchor_tag))) { if (munge_.match(rgx.heading_identify_anchor_tag)) { if (auto m = munge_.match(rgx.heading_extract_named_anchor_tag)) { - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ m.captures[1].toLower ~ "_" ~ m.captures[2] ~ " "); if (auto n = munge_.match(rgx.heading_anchor_tag_plus_colon)) { auto tag_remunge_ = n.captures[2] .replaceAll(rgx.heading_marker_tag_has_colon, ".."); - munge_=(munge_).replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " "); + munge_=munge_.replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " "); } } else if (auto m = munge_.match(rgx.heading_extract_unnamed_anchor_tag)) { - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ "s" ~ m.captures[1] ~ " "); } @@ -6127,7 +6127,7 @@ private: heading_num_lev1 = 0; } heading_num_lev1 ++; - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ "x" ~ heading_num_lev1.to!string ~ " "); } @@ -6689,7 +6689,7 @@ struct BookIndexReportSection { foreach (mainkey; mainkeys) { write("_0_1 !{", mainkey, "}! "); foreach (ref_; bookindex_unordered_hashes[mainkey]["_a"]) { - auto go = (ref_).replaceAll(rgx.book_index_go, "$1"); + auto go = ref_.replaceAll(rgx.book_index_go, "$1"); write(" {", ref_, "}#", go, ", "); } writeln(" \\\\"); @@ -6699,7 +6699,7 @@ struct BookIndexReportSection { foreach (subkey; subkeys) { write(" ", subkey, ", "); foreach (ref_; bookindex_unordered_hashes[mainkey][subkey]) { - auto go = (ref_).replaceAll(rgx.book_index_go, "$1"); + auto go = ref_.replaceAll(rgx.book_index_go, "$1"); write(" {", ref_, "}#", go, ", "); } writeln(" \\\\"); @@ -6823,7 +6823,7 @@ struct BookIndexReportSection { bi_tmp ~= " \\\\\n "; ++skn; } - bi_tmp = (bi_tmp).replaceFirst(rgx.trailing_linebreak, ""); + bi_tmp = bi_tmp.replaceFirst(rgx.trailing_linebreak, ""); comp_obj_para = comp_obj_para.init; comp_obj_para.metainfo.is_of_part = "backmatter"; comp_obj_para.metainfo.is_of_section = "bookindex"; @@ -7863,18 +7863,36 @@ struct DocObj_MetaInfo_ { int parent_ocn = 0; int last_decendant_ocn = 0; } +#+END_SRC + +**** object text attributes + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_TxtAttrib_ { int indent_base = 0; int indent_hang = 0; bool bullet = false; string language = ""; // not implemented, consider } +#+END_SRC + +**** object has within it + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_Has_ { // has bool inline_links = false; bool inline_notes_reg = false; bool inline_notes_star = false; bool contains_image_without_dimensions = false; } +#+END_SRC + +**** table attributes + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_Table_ { int number_of_columns = 0; double[] column_widths = []; @@ -7882,14 +7900,32 @@ struct DocObj_Table_ { bool heading = false; bool walls = false; // not implemented } +#+END_SRC + +**** code attributes + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_CodeBlock_ { string syntax = ""; } +#+END_SRC + +**** pointers + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_Pointer_ { int doc_object = 0; int html_segnames = 0; int heading = 0; } +#+END_SRC + +**** tags + +#+name: meta_structs_init +#+BEGIN_SRC d struct DocObj_Tags_ { string[] heading_ancestors_text = [ "", "", "", "", "", "", "", "", ]; // TODO redundant? see markedup and collapsed ancestors DONE string anchor_tag_html = ""; @@ -7903,6 +7939,12 @@ struct DocObj_Tags_ { string[] lev4_subtoc = []; string[] anchor_tags = []; } +#+END_SRC + +**** composite object the parts + +#+name: meta_structs_init +#+BEGIN_SRC d struct ObjGenericComposite { string text = ""; DocObj_MetaInfo_ metainfo; diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index f7b6fd1..852f144 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -76,7 +76,7 @@ auto _mkup = InlineMarkup(); #+name: meta_defaults_template_structs #+BEGIN_SRC d auto url_markup(string line) { - auto line_ = (line) + auto line_ = line .replaceAll( _rgx.smid_inline_link_markup_regular, ("$1" diff --git a/org/output_sqlite.org b/org/output_sqlite.org index 7d49461..61390a3 100644 --- a/org/output_sqlite.org +++ b/org/output_sqlite.org @@ -535,7 +535,7 @@ auto inline_links(M,O)( if (obj.has.inline_links) { if ((_txt.match(rgx.mark_internal_site_lnk)) && (_xml_type == "scroll")) { // conditions reversed to avoid: gdc compiled program run segfault - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_seg_link, "$1"); } @@ -589,7 +589,7 @@ auto inline_links(M,O)( ); } } - _txt = (_txt) + _txt = _txt .replaceAll( rgx.inline_link_fn_suffix, ("$1.html")) @@ -636,7 +636,7 @@ auto inline_notes_scroll(M,O)( ) { if (obj.has.inline_notes_reg) { // _txt = font_face(_txt); - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); @@ -683,7 +683,7 @@ auto inline_notes_seg(M,O)( "</p>" ); } - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); diff --git a/org/output_xmls.org b/org/output_xmls.org index c58f775..e44a9c9 100644 --- a/org/output_xmls.org +++ b/org/output_xmls.org @@ -94,7 +94,7 @@ string special_characters(O)( const O obj, string _txt ){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.xhtml_ampersand, "&") .replaceAll(rgx.xhtml_quotation, """) .replaceAll(rgx.xhtml_less_than, "<") @@ -113,7 +113,7 @@ string special_characters(O)( #+name: xhtml_format_objects #+BEGIN_SRC d string special_characters_text(string _txt){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.xhtml_ampersand, "&") .replaceAll(rgx.xhtml_quotation, """) .replaceAll(rgx.xhtml_less_than, "<") @@ -128,7 +128,7 @@ string special_characters_text(string _txt){ #+name: xhtml_format_objects #+BEGIN_SRC d string font_face(string _txt){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.inline_emphasis, ("<em>$1</em>")) .replaceAll(rgx.inline_bold, ("<b>$1</b>")) .replaceAll(rgx.inline_underscore, ("<u>$1</u>")) @@ -475,7 +475,7 @@ auto inline_links(M,O)( if (obj.has.inline_links) { if ((_txt.match(rgx.mark_internal_site_lnk)) && (_xml_type == "scroll")) { // conditions reversed to avoid: gdc compiled program run segfault - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_seg_link, "$1"); } @@ -514,7 +514,7 @@ auto inline_links(M,O)( } } } - _txt = (_txt) + _txt = _txt .replaceAll( rgx.inline_link_fn_suffix, ("$1" ~ _suffix)) @@ -561,7 +561,7 @@ auto inline_notes_scroll(M,O)( ) { if (obj.has.inline_notes_reg) { _txt = font_face(_txt); - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); @@ -609,7 +609,7 @@ auto inline_notes_seg(M,O)( "</p>" ); } - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); diff --git a/src/doc_reform/doc_reform.d b/src/doc_reform/doc_reform.d index 081c95c..f1d8d18 100755 --- a/src/doc_reform/doc_reform.d +++ b/src/doc_reform/doc_reform.d @@ -26,6 +26,7 @@ import std.algorithm; import std.parallelism; mixin(import("version.txt")); mixin CompileTimeInfo; +string program_name = "doc-reform"; /++ name "doc_reform" description "A SiSU inspired document parser writen in D." @@ -44,8 +45,9 @@ void main(string[] args) { scope(success) { debug(checkdoc) { writefln( - "~ run complete, ok ~ (doc_reform-%s.%s.%s, %s D:%s, %s %s)", - ver.major, ver.minor, ver.patch, + "~ run complete, ok ~ (%s-%s.%s.%s, %s D:%s, %s %s)", + program_name, + _ver.major, _ver.minor, _ver.patch, __VENDOR__, __VERSION__, bits, os, ); @@ -395,8 +397,8 @@ void main(string[] args) { } auto _opt_action = OptActions(); auto _env = [ - "pwd" : environment["PWD"], - "home" : environment["HOME"], + "pwd" : environment["PWD"], + "home" : environment["HOME"], ]; auto _manifest_start = PodManifest!()(""); auto _manifest_matter = PathMatters!()(_opt_action, _env, ""); diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d index 2fec217..e7b9a5b 100644 --- a/src/doc_reform/meta/conf_make_meta_structs.d +++ b/src/doc_reform/meta/conf_make_meta_structs.d @@ -17,7 +17,7 @@ static auto _rgx = Rgx(); mixin InternalMarkup; auto _mkup = InlineMarkup(); auto url_markup(string line) { - auto line_ = (line) + auto line_ = line .replaceAll( _rgx.smid_inline_link_markup_regular, ("$1" diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d index c3c6147..66efc04 100644 --- a/src/doc_reform/meta/metadoc_from_src.d +++ b/src/doc_reform/meta/metadoc_from_src.d @@ -422,7 +422,7 @@ template DocReformDocAbstraction() { line, ); } - line = (line).replaceAll(rgx.true_dollar, "$$$$"); + line = line.replaceAll(rgx.true_dollar, "$$$$"); /+ dollar represented as $$ needed to stop submatching on $ (substitutions using ${identifiers} must take into account (i.e. happen earlier)) +/ @@ -704,7 +704,7 @@ template DocReformDocAbstraction() { /+ within block object: group +/ line = _doc_header_and_make_substitutions_(line, conf_make_meta); line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta); - line = (line) + line = line .replaceAll(rgx.para_delimiter, mkup.br_paragraph ~ "$1"); _group_block_(line, an_object, obj_type_status); continue; @@ -713,11 +713,11 @@ template DocReformDocAbstraction() { line = _doc_header_and_make_substitutions_(line, conf_make_meta); line = _doc_header_and_make_substitutions_fontface_(line, conf_make_meta); if (auto m = line.match(rgx.spaces_line_start)) { - line = (line) + line = line .replaceAll(rgx.spaces_line_start, (m.captures[1]).translate([ ' ' : mkup.nbsp ])); } if (auto m = line.match(rgx.spaces_multiple)) { - line = (line) + line = line .replaceAll(rgx.spaces_multiple, (m.captures[1]).translate([ ' ' : mkup.nbsp ])); } _block_block_(line, an_object, obj_type_status); @@ -3180,7 +3180,7 @@ template DocReformDocAbstraction() { tmp ~= au.str; } } - tmp = (tmp).replace(rgx.trailing_comma, ""); + tmp = tmp.replace(rgx.trailing_comma, ""); j["author"].str = tmp; goto default; case "editor_raw": // editor_arr editor (fn sn) @@ -3195,7 +3195,7 @@ template DocReformDocAbstraction() { tmp ~= ed.str; } } - tmp = (tmp).replace(rgx.trailing_comma, ""); + tmp = tmp.replace(rgx.trailing_comma, ""); j["editor"].str = tmp; goto default; case "fulltitle": // title & subtitle @@ -3996,7 +3996,7 @@ template DocReformDocAbstraction() { ) { static auto rgx = Rgx(); if (textline.match(rgx.inline_faces_line)) { - textline = (textline) + textline = textline .replaceFirst(rgx.inline_emphasis_line, ("*{$1}*$2")) .replaceFirst(rgx.inline_bold_line, ("!{$1}!$2")) .replaceFirst(rgx.inline_underscore_line, ("_{$1}_$2")) @@ -4280,7 +4280,7 @@ template DocReformDocAbstraction() { if (obj_txt_in.match(rgx.smid_inline_url_generic)) { /+ link: naked url: http://url +/ if (obj_txt_in.match(rgx.smid_inline_link_naked_url)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_inline_link_naked_url, ("$1" ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c @@ -4294,7 +4294,7 @@ template DocReformDocAbstraction() { { link which includes url as footnote }http://url~{ { http://url }http://url }~ +/ if (obj_txt_in.match(rgx.smid_inline_link_endnote_url_helper)) { - obj_txt_in = (obj_txt_in) + obj_txt_in = obj_txt_in .replaceAll( rgx.smid_inline_link_endnote_url_helper_punctuated, (mkup.lnk_o ~ "$1" ~ mkup.lnk_c @@ -4316,7 +4316,7 @@ template DocReformDocAbstraction() { { linked text or image }http://url +/ if (obj_txt_in.match(rgx.smid_inline_link_markup_regular)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_inline_link_markup_regular, ("$1" ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c @@ -4341,7 +4341,7 @@ template DocReformDocAbstraction() { writeln("Image: ", obj_txt_in); } if (obj_txt_in.match(rgx.smid_image_with_dimensions)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_image_with_dimensions, ("$1" ~ mkup.img ~ "$2,w$3h$4 " @@ -4351,7 +4351,7 @@ template DocReformDocAbstraction() { writeln("IMAGE with size: ", obj_txt_in); // decide on representation } } else if (obj_txt_in.match(rgx.smid_image)) { - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.smid_image, ("$1" ~ mkup.img ~ "$2,w0h0 " @@ -4373,7 +4373,7 @@ template DocReformDocAbstraction() { bool flg_notes_reg = false; bool flg_notes_star = false; bool flg_notes_plus = false; - obj_txt_in = (obj_txt_in).replaceAll( + obj_txt_in = obj_txt_in.replaceAll( rgx.inline_notes_curly, (mkup.en_a_o ~ " $1" ~ mkup.en_a_c) ); @@ -4466,7 +4466,7 @@ template DocReformDocAbstraction() { obj_txt_in = url_links(obj_txt_in); } if (auto m = obj_txt_in.match(rgx.para_inline_link_anchor)) { - obj_txt_in = (obj_txt_in) + obj_txt_in = obj_txt_in .replaceAll(rgx.para_inline_link_anchor, "┋$1┋"); } auto ftn = footnotes_endnotes_markup_and_number_or_stars(obj_txt_in, reset_note_numbers); @@ -4507,7 +4507,7 @@ template DocReformDocAbstraction() { } } body { - obj_txt["munge"]=(obj_txt_in) + obj_txt["munge"] = obj_txt_in .replaceFirst(rgx.heading, "") .replaceFirst(rgx.object_number_off_all, "") .strip; @@ -4595,7 +4595,7 @@ template DocReformDocAbstraction() { } } body { - obj_txt_in = (obj_txt_in).replaceAll(rgx.space, mkup.nbsp); + obj_txt_in = obj_txt_in.replaceAll(rgx.space, mkup.nbsp); obj_txt["munge"] = obj_txt_in; return obj_txt["munge"]; } @@ -4948,7 +4948,7 @@ template DocReformDocAbstraction() { } if ((!empty(heading_number_auto_composite)) && (obj_["lev_markup_number"].to!uint >= conf_make_meta.make.auto_num_top_lv)) { - munge_=(munge_) + munge_ = munge_ .replaceFirst(rgx.heading, "$1~$2 " ~ heading_number_auto_composite ~ ". ") .replaceFirst(rgx.heading_marker_missing_tag, @@ -4970,16 +4970,16 @@ template DocReformDocAbstraction() { if (!(munge_.match(rgx.heading_anchor_tag))) { if (munge_.match(rgx.heading_identify_anchor_tag)) { if (auto m = munge_.match(rgx.heading_extract_named_anchor_tag)) { - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ m.captures[1].toLower ~ "_" ~ m.captures[2] ~ " "); if (auto n = munge_.match(rgx.heading_anchor_tag_plus_colon)) { auto tag_remunge_ = n.captures[2] .replaceAll(rgx.heading_marker_tag_has_colon, ".."); - munge_=(munge_).replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " "); + munge_=munge_.replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " "); } } else if (auto m = munge_.match(rgx.heading_extract_unnamed_anchor_tag)) { - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ "s" ~ m.captures[1] ~ " "); } @@ -4988,7 +4988,7 @@ template DocReformDocAbstraction() { heading_num_lev1 = 0; } heading_num_lev1 ++; - munge_=(munge_).replaceFirst( + munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, "$1~" ~ "x" ~ heading_num_lev1.to!string ~ " "); } @@ -5423,7 +5423,7 @@ template DocReformDocAbstraction() { foreach (mainkey; mainkeys) { write("_0_1 !{", mainkey, "}! "); foreach (ref_; bookindex_unordered_hashes[mainkey]["_a"]) { - auto go = (ref_).replaceAll(rgx.book_index_go, "$1"); + auto go = ref_.replaceAll(rgx.book_index_go, "$1"); write(" {", ref_, "}#", go, ", "); } writeln(" \\\\"); @@ -5433,7 +5433,7 @@ template DocReformDocAbstraction() { foreach (subkey; subkeys) { write(" ", subkey, ", "); foreach (ref_; bookindex_unordered_hashes[mainkey][subkey]) { - auto go = (ref_).replaceAll(rgx.book_index_go, "$1"); + auto go = ref_.replaceAll(rgx.book_index_go, "$1"); write(" {", ref_, "}#", go, ", "); } writeln(" \\\\"); @@ -5551,7 +5551,7 @@ template DocReformDocAbstraction() { bi_tmp ~= " \\\\\n "; ++skn; } - bi_tmp = (bi_tmp).replaceFirst(rgx.trailing_linebreak, ""); + bi_tmp = bi_tmp.replaceFirst(rgx.trailing_linebreak, ""); comp_obj_para = comp_obj_para.init; comp_obj_para.metainfo.is_of_part = "backmatter"; comp_obj_para.metainfo.is_of_section = "bookindex"; diff --git a/src/doc_reform/output/sqlite.d b/src/doc_reform/output/sqlite.d index d09b9b8..bf0d546 100644 --- a/src/doc_reform/output/sqlite.d +++ b/src/doc_reform/output/sqlite.d @@ -286,7 +286,7 @@ template SQLiteFormatAndLoadObject() { if (obj.has.inline_links) { if ((_txt.match(rgx.mark_internal_site_lnk)) && (_xml_type == "scroll")) { // conditions reversed to avoid: gdc compiled program run segfault - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_seg_link, "$1"); } @@ -340,7 +340,7 @@ template SQLiteFormatAndLoadObject() { ); } } - _txt = (_txt) + _txt = _txt .replaceAll( rgx.inline_link_fn_suffix, ("$1.html")) @@ -380,7 +380,7 @@ template SQLiteFormatAndLoadObject() { ) { if (obj.has.inline_notes_reg) { // _txt = font_face(_txt); - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); @@ -421,7 +421,7 @@ template SQLiteFormatAndLoadObject() { "</p>" ); } - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); diff --git a/src/doc_reform/output/xmls.d b/src/doc_reform/output/xmls.d index 6a999f6..ef35e10 100644 --- a/src/doc_reform/output/xmls.d +++ b/src/doc_reform/output/xmls.d @@ -48,7 +48,7 @@ template outputXHTMLs() { const O obj, string _txt ){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.xhtml_ampersand, "&") .replaceAll(rgx.xhtml_quotation, """) .replaceAll(rgx.xhtml_less_than, "<") @@ -61,7 +61,7 @@ template outputXHTMLs() { return _txt; } string special_characters_text(string _txt){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.xhtml_ampersand, "&") .replaceAll(rgx.xhtml_quotation, """) .replaceAll(rgx.xhtml_less_than, "<") @@ -70,7 +70,7 @@ template outputXHTMLs() { return _txt; } string font_face(string _txt){ - _txt = (_txt) + _txt = _txt .replaceAll(rgx.inline_emphasis, ("<em>$1</em>")) .replaceAll(rgx.inline_bold, ("<b>$1</b>")) .replaceAll(rgx.inline_underscore, ("<u>$1</u>")) @@ -360,7 +360,7 @@ template outputXHTMLs() { if (obj.has.inline_links) { if ((_txt.match(rgx.mark_internal_site_lnk)) && (_xml_type == "scroll")) { // conditions reversed to avoid: gdc compiled program run segfault - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_seg_link, "$1"); } @@ -399,7 +399,7 @@ template outputXHTMLs() { } } } - _txt = (_txt) + _txt = _txt .replaceAll( rgx.inline_link_fn_suffix, ("$1" ~ _suffix)) @@ -439,7 +439,7 @@ template outputXHTMLs() { ) { if (obj.has.inline_notes_reg) { _txt = font_face(_txt); - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); @@ -481,7 +481,7 @@ template outputXHTMLs() { "</p>" ); } - _txt = (_txt).replaceAll( + _txt = _txt.replaceAll( rgx.inline_notes_delimiter_al_regular_number_note, ("<a href=\"#note_$1\"><note id=\"noteref_$1\"> <sup>$1</sup> </note></a>") ); |