diff options
Diffstat (limited to 'src/doc_reform/output')
-rw-r--r-- | src/doc_reform/output/defaults.d | 64 | ||||
-rw-r--r-- | src/doc_reform/output/html.d | 4 | ||||
-rw-r--r-- | src/doc_reform/output/hub.d | 2 | ||||
-rw-r--r-- | src/doc_reform/output/sqlite.d | 156 | ||||
-rw-r--r-- | src/doc_reform/output/xmls.d | 64 |
5 files changed, 142 insertions, 148 deletions
diff --git a/src/doc_reform/output/defaults.d b/src/doc_reform/output/defaults.d index b8ff322..ef0083a 100644 --- a/src/doc_reform/output/defaults.d +++ b/src/doc_reform/output/defaults.d @@ -6,36 +6,36 @@ module doc_reform.output.defaults; template InternalMarkup() { import std.array; static struct InlineMarkup { - auto en_a_o = "【"; auto en_a_c = "】"; - auto en_b_o = "〖"; auto en_b_c = "〗"; - auto quote_o = "“"; auto quote_c = "”"; - auto ff_o = "┨"; auto ff_c = "┣"; // fontface - auto lnk_o = "┥"; auto lnk_c = "┝"; - auto url_o = "┤"; auto url_c = "├"; - auto emph = "*"; - auto bold = "!"; - auto italic = "/"; - auto underscore = "_"; - auto superscript = "^"; - auto subscript = ","; - auto mono = "■"; - auto cite = "‖"; - auto mark_internal_site_lnk = "¤"; - auto nbsp = "░"; - auto br_line = "┘"; - auto br_nl = "┙"; - auto br_paragraph = "┚"; - auto br_obj = "break_obj"; - auto br_page_line = "┼"; - auto br_page = "┿"; - auto br_page_new = "╂"; - auto tc_s = "┊"; - auto tc_o = "┏"; - auto tc_c = "┚"; - auto tc_p = "┆"; - auto img = "☼"; - auto on_o = "「"; auto on_c = "」"; - auto mk_bullet = "● "; + string en_a_o = "【"; string en_a_c = "】"; + string en_b_o = "〖"; string en_b_c = "〗"; + string quote_o = "“"; string quote_c = "”"; + string ff_o = "┨"; string ff_c = "┣"; // fontface + string lnk_o = "┥"; string lnk_c = "┝"; + string url_o = "┤"; string url_c = "├"; + string emph = "*"; + string bold = "!"; + string italic = "/"; + string underscore = "_"; + string superscript = "^"; + string subscript = ","; + string mono = "■"; + string cite = "‖"; + string mark_internal_site_lnk = "¤"; + string nbsp = "░"; + string br_line = "┘"; + string br_nl = "┙"; + string br_paragraph = "┚"; + string br_obj = "break_obj"; + string br_page_line = "┼"; + string br_page = "┿"; + string br_page_new = "╂"; + string tc_s = "┊"; + string tc_o = "┏"; + string tc_c = "┚"; + string tc_p = "┆"; + string img = "☼"; + string on_o = "「"; auto on_c = "」"; + string mk_bullet = "● "; static string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") { _indent_spaces = replicate(_indent_spaces, indent); return _indent_spaces; @@ -117,11 +117,11 @@ template DocReformLanguageCodes() { return _lang_codes; } static string[] code_arr_ptr() { - auto _lang_codes = ["am", "bg", "bn", "br", "ca", "cs", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fi", "fr", "ga", "gl", "he", "hi", "hr", "hy", "ia", "is", "it", "ja", "ko", "la", "lo", "lt", "lv", "ml", "mr", "nl", "no", "nn", "oc", "pl", "pt", "pt_BR", "ro", "ru", "sa", "se", "sk", "sl", "sq", "sr", "sv", "ta", "te", "th", "tk", "tr", "uk", "ur", "us", "vi", "zh", "en", "xx",]; + string[] _lang_codes = ["am", "bg", "bn", "br", "ca", "cs", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fi", "fr", "ga", "gl", "he", "hi", "hr", "hy", "ia", "is", "it", "ja", "ko", "la", "lo", "lt", "lv", "ml", "mr", "nl", "no", "nn", "oc", "pl", "pt", "pt_BR", "ro", "ru", "sa", "se", "sk", "sl", "sq", "sr", "sv", "ta", "te", "th", "tk", "tr", "uk", "ur", "us", "vi", "zh", "en", "xx",]; return _lang_codes; } static string[] code_arr() { - auto _lang_codes = ["am", "bg", "bn", "br", "ca", "cs", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fi", "fr", "ga", "gl", "he", "hi", "hr", "hy", "ia", "is", "it", "ja", "ko", "la", "lo", "lt", "lv", "ml", "mr", "nl", "no", "nn", "oc", "pl", "pt", "pt_BR", "ro", "ru", "sa", "se", "sk", "sl", "sq", "sr", "sv", "ta", "te", "th", "tk", "tr", "uk", "ur", "vi", "zh"]; + string[] _lang_codes = ["am", "bg", "bn", "br", "ca", "cs", "cy", "da", "de", "el", "en", "eo", "es", "et", "eu", "fi", "fr", "ga", "gl", "he", "hi", "hr", "hy", "ia", "is", "it", "ja", "ko", "la", "lo", "lt", "lv", "ml", "mr", "nl", "no", "nn", "oc", "pl", "pt", "pt_BR", "ro", "ru", "sa", "se", "sk", "sl", "sq", "sr", "sv", "ta", "te", "th", "tk", "tr", "uk", "ur", "vi", "zh"]; return _lang_codes; } static auto codes_() { diff --git a/src/doc_reform/output/html.d b/src/doc_reform/output/html.d index c9032e5..396f4a0 100644 --- a/src/doc_reform/output/html.d +++ b/src/doc_reform/output/html.d @@ -494,7 +494,7 @@ template outputHTML() { } } void css(M)( - auto ref M doc_matters, + M doc_matters, ) { auto css = DocReformCss(); auto pth_html = DocReformPathsHTML!()(doc_matters.output_path, doc_matters.src.language); @@ -515,7 +515,7 @@ template outputHTML() { } } void images_cp(M)( - auto ref M doc_matters, + M doc_matters, ) { { /+ (copy html images) +/ diff --git a/src/doc_reform/output/hub.d b/src/doc_reform/output/hub.d index a32bd9e..1f01dd6 100644 --- a/src/doc_reform/output/hub.d +++ b/src/doc_reform/output/hub.d @@ -9,7 +9,7 @@ template outputHub() { doc_reform.output.create_zip_file, doc_reform.output.paths_output; import std.parallelism; - void outputHub(D,I)(D doc_abstraction, I doc_matters) { + void outputHub(D,I)(const D doc_abstraction, I doc_matters) { mixin DocReformOutputRgxInit; mixin Msg; auto msg = Msg!()(doc_matters); diff --git a/src/doc_reform/output/sqlite.d b/src/doc_reform/output/sqlite.d index 832e2e7..57c90e0 100644 --- a/src/doc_reform/output/sqlite.d +++ b/src/doc_reform/output/sqlite.d @@ -11,17 +11,17 @@ static auto rgx = Rgx(); long _metadata_tid_lastrowid; template SQLiteHubBuildTablesAndPopulate() { void SQLiteHubBuildTablesAndPopulate(D,M)( - D doc_abstraction, - M doc_matters, + const D doc_abstraction, + M doc_matters, ) { auto pth_sqlite = DocReformPathsSQLite!()(doc_matters.sqlite.filename, doc_matters.output_path); pth_sqlite.base.mkdirRecurse; auto db = Database(pth_sqlite.sqlite_file); template SQLiteDbStatementComposite() { void SQLiteDbStatementComposite(Db,D,M)( - Db db, - D doc_abstraction, - M doc_matters, + Db db, + const D doc_abstraction, + M doc_matters, ) { { string _db_statement; @@ -58,17 +58,17 @@ template SQLiteHubBuildTablesAndPopulate() { } template SQLiteHubDiscreteBuildTablesAndPopulate() { void SQLiteHubDiscreteBuildTablesAndPopulate(D,M)( - D doc_abstraction, - M doc_matters, + const D doc_abstraction, + M doc_matters, ) { auto pth_sqlite = DocReformPathsSQLiteDiscrete!()(doc_matters.output_path, doc_matters.src.language); pth_sqlite.base.mkdirRecurse; auto db = Database(pth_sqlite.sqlite_file(doc_matters.src.filename)); template SQLiteDiscreteDbStatementComposite() { void SQLiteDiscreteDbStatementComposite(Db,D,M)( - Db db, - D doc_abstraction, - M doc_matters, + Db db, + const D doc_abstraction, + M doc_matters, ) { { string _db_statement; @@ -137,7 +137,7 @@ template SQLiteFormatAndLoadObject() { ) { mixin DocReformOutputRgxInit; struct sqlite_format_and_load_objects { - auto generic_munge_sanitize_text_for_search( + string generic_munge_sanitize_text_for_search( string _txt, ) { string _notes; @@ -173,9 +173,9 @@ template SQLiteFormatAndLoadObject() { } return _txt; } - auto munge_html(M,O)( - M doc_matters, - auto ref const O obj, + string munge_html(M,O)( + M doc_matters, + const O obj, ) { string _html_special_characters(string _txt){ _txt = _txt @@ -254,7 +254,7 @@ template SQLiteFormatAndLoadObject() { .replaceAll(rgx.inline_cite, "<cite>$1</cite>"); return _txt; } - auto inline_images(M,O)( + string inline_images(M,O)( M doc_matters, const O obj, string _txt, @@ -278,7 +278,7 @@ template SQLiteFormatAndLoadObject() { } return _txt; } - auto inline_links(M,O)( + string inline_links(M,O)( M doc_matters, const O obj, string _txt, @@ -379,7 +379,7 @@ template SQLiteFormatAndLoadObject() { } return _txt; } - auto inline_notes_scroll(M,O)( + string inline_notes_scroll(M,O)( M doc_matters, const O obj, string _txt, @@ -443,7 +443,7 @@ template SQLiteFormatAndLoadObject() { return t; } string xml_type="seg"; /+ set html document type to be linked to here (seg|scroll) +/ - auto inline_markup(M,O)( + string inline_markup(M,O)( M doc_matters, const O obj, string _txt, @@ -453,9 +453,9 @@ template SQLiteFormatAndLoadObject() { _txt = inline_notes_scroll(doc_matters, obj, _txt); return _txt; } - auto html_heading(M,O)( - M doc_matters, - auto ref const O obj, + string html_heading(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body" || "frontmatter" || "backmatter"); assert(obj.metainfo.is_of_section == "body" || "toc" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -471,9 +471,9 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_para(M,O)( - M doc_matters, - auto ref const O obj, + string html_para(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body" || "frontmatter" || "backmatter"); assert(obj.metainfo.is_of_section == "body" || "toc" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -492,9 +492,9 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_quote(M,O)( - M doc_matters, - auto ref const O obj, + string html_quote(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -509,9 +509,9 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_group(M,O)( - M doc_matters, - auto ref const O obj, + string html_group(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -526,9 +526,9 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_block(M,O)( - M doc_matters, - auto ref const O obj, + string html_block(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -542,9 +542,9 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_verse(M,O)( - M doc_matters, - auto ref const O obj, + string html_verse(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body" || "glossary" || "bibliography" || "bookindex" || "blurb"); @@ -557,8 +557,8 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_code(O)( - auto ref const O obj, + string html_code(O)( + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body"); @@ -571,17 +571,17 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto html_table(M,O)( - M doc_matters, - auto ref const O obj, + string html_table(M,O)( + M doc_matters, + const O obj, ) { assert(obj.metainfo.is_of_part == "body"); assert(obj.metainfo.is_of_section == "body"); assert(obj.metainfo.is_of_type == "block"); assert(obj.metainfo.is_a == "table"); auto _tablarize(O)( - auto ref const O obj, - string _txt, + const O obj, + string _txt, ) { string[] _table_rows = _txt.split(rgx.table_delimiter_row); string[] _table_cols; @@ -636,24 +636,24 @@ template SQLiteFormatAndLoadObject() { ); return o; } - auto sqlite_load_string(M,O)( - auto ref M doc_matters, - auto ref const O obj, + string sqlite_load_string(M,O)( + M doc_matters, + const O obj, ) { string o; return o; } - auto postgresql_load_string(M,O)( - auto ref M doc_matters, - auto ref const O obj, + string postgresql_load_string(M,O)( + M doc_matters, + const O obj, ) { string o; return o; } string sqlite_statement(O)( - auto ref const O obj, - string _txt, - string _html, + const O obj, + string _txt, + string _html, ) { void _sql_exe(O)( string _sql, @@ -664,9 +664,9 @@ template SQLiteFormatAndLoadObject() { string _sql; return _sql; } - auto heading(M,O)( - M doc_matters, - auto ref const O obj, + string[string] heading(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -687,9 +687,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto para(M,O)( - M doc_matters, - auto ref const O obj, + string[string] para(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -710,9 +710,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto quote(M,O)( - M doc_matters, - auto ref const O obj, + string[string] quote(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -733,9 +733,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto group(M,O)( - M doc_matters, - auto ref const O obj, + string[string] group(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -756,9 +756,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto block(M,O)( - M doc_matters, - auto ref const O obj, + string[string] block(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -779,9 +779,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto verse(M,O)( - M doc_matters, - auto ref const O obj, + string[string] verse(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -802,9 +802,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto code(M,O)( - M doc_matters, - auto ref const O obj, + string[string] code(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -825,9 +825,9 @@ template SQLiteFormatAndLoadObject() { } return obj_txt; } - auto table(M,O)( - M doc_matters, - auto ref const O obj, + string[string] table(M,O)( + M doc_matters, + const O obj, ) { string[string] obj_txt = [ "text": generic_munge_sanitize_text_for_search(obj.text), @@ -1166,8 +1166,8 @@ template SQLiteInsertMetadata() { } template SQLiteInsertDocObjectsLoop() { string SQLiteInsertDocObjectsLoop(D,M)( - D doc_abstraction, - M doc_matters, + const D doc_abstraction, + M doc_matters, ) { string _uid = SQLinsertDelimiter!()(doc_matters.src.doc_uid); auto site_url = DocReformPathsUrl!()(doc_matters); diff --git a/src/doc_reform/output/xmls.d b/src/doc_reform/output/xmls.d index 90f4e7d..25733b1 100644 --- a/src/doc_reform/output/xmls.d +++ b/src/doc_reform/output/xmls.d @@ -16,8 +16,8 @@ template outputXHTMLs() { struct outputXHTMLs { static auto rgx = Rgx(); string div_delimit( - string part, - return ref string previous_part + string part, + return ref string previous_part ){ string delimit = ""; string delimit_ = ""; @@ -90,7 +90,7 @@ template outputXHTMLs() { } return tags; } - auto header_metadata(M)( + string header_metadata(M)( M doc_matters, ) { string _publisher="Publisher"; // TODO @@ -127,7 +127,7 @@ template outputXHTMLs() { ); return o; } - auto site_info_button(M)( + string site_info_button(M)( M doc_matters, ) { string _locations; @@ -151,7 +151,7 @@ template outputXHTMLs() { ); return o; } - auto inline_search_form(M)( + string inline_search_form(M)( M doc_matters, ) { string _action="http://www.sisudoc.org/cgi-bin/search.cgi"; @@ -186,7 +186,7 @@ template outputXHTMLs() { ); return o; } - auto html_head(M)( + string html_head(M)( M doc_matters, string type, ) { @@ -241,7 +241,7 @@ template outputXHTMLs() { ); return o; } - auto epub3_seg_head(M)( + string epub3_seg_head(M)( M doc_matters, ) { string html_base = format(q"┃<!DOCTYPE html> @@ -309,7 +309,7 @@ template outputXHTMLs() { ); return o; } - auto tail() { + string tail() { string o; o = format(q"┃ <a name="bottom" id="bottom"></a> @@ -318,7 +318,7 @@ template outputXHTMLs() { </html>┃"); return o; } - auto inline_images(O,M)( + string inline_images(O,M)( string _txt, const O obj, M doc_matters, @@ -345,7 +345,7 @@ template outputXHTMLs() { } return _txt; } - auto inline_links(O,M)( + string inline_links(O,M)( string _txt, const O obj, M doc_matters, @@ -436,7 +436,7 @@ template outputXHTMLs() { } return _txt; } - auto inline_notes_scroll(O,M)( + string inline_notes_scroll(O,M)( string _txt, const O obj, M doc_matters, @@ -500,7 +500,7 @@ template outputXHTMLs() { ); return t; } - auto inline_markup_scroll(O,M)( + string inline_markup_scroll(O,M)( string _txt, const O obj, M doc_matters, @@ -641,7 +641,7 @@ template outputXHTMLs() { } return bar(); } - auto heading(O)( + string heading(O)( string _txt, const O obj, string _xml_type = "html", @@ -650,7 +650,7 @@ template outputXHTMLs() { assert(obj.metainfo.is_of_section == "body" || "toc" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb"); assert(obj.metainfo.is_of_type == "para"); assert(obj.metainfo.is_a == "heading"); - auto tags = _xhtml_anchor_tags(obj); + string tags = _xhtml_anchor_tags(obj); string heading_lev_anchor_tag; string _horizontal_rule = "<hr />"; if ((_xml_type != "html") @@ -705,13 +705,12 @@ template outputXHTMLs() { } return o; } - auto heading_scroll(O,M)( + string heading_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = heading(_txt, obj); return o; @@ -733,7 +732,7 @@ template outputXHTMLs() { ); return u; } - auto para(O)( + string para(O)( string _txt, const O obj, ) { @@ -741,7 +740,7 @@ template outputXHTMLs() { assert(obj.metainfo.is_of_section == "body" || "toc" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb"); assert(obj.metainfo.is_of_type == "para"); assert(obj.metainfo.is_a == "para" || "toc" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb"); - auto tags = _xhtml_anchor_tags(obj); + string tags = _xhtml_anchor_tags(obj); _txt = font_face(_txt); string o; _txt = (obj.attrib.bullet) ? ("●  " ~ _txt) : _txt; @@ -778,13 +777,12 @@ template outputXHTMLs() { } return o; } - auto para_scroll(O,M)( + string para_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = para(_txt, obj); return o; @@ -806,7 +804,7 @@ template outputXHTMLs() { ); return u; } - auto quote(O)( + string quote(O)( string _txt, const O obj, ) { @@ -841,13 +839,12 @@ template outputXHTMLs() { } return o; } - auto quote_scroll(O,M)( + string quote_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = quote(_txt, obj); return o; @@ -869,7 +866,7 @@ template outputXHTMLs() { ); return u; } - auto group(O)( + string group(O)( string _txt, const O obj, ) { @@ -904,14 +901,13 @@ template outputXHTMLs() { } return o; } - auto group_scroll(O,M)( + string group_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", string _xml_type = "html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = group(_txt, obj); return o; @@ -933,7 +929,7 @@ template outputXHTMLs() { ); return u; } - auto block(O)( + string block(O)( string _txt, const O obj, ) { @@ -964,14 +960,13 @@ template outputXHTMLs() { } return o; } - auto block_scroll(O,M)( + string block_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", string _xml_type = "html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = block(_txt, obj); return o; @@ -993,7 +988,7 @@ template outputXHTMLs() { ); return u; } - auto verse(O)( + string verse(O)( string _txt, const O obj, ) { @@ -1024,14 +1019,13 @@ template outputXHTMLs() { } return o; } - auto verse_scroll(O,M)( + string verse_scroll(O,M)( string _txt, const O obj, M doc_matters, string _suffix = ".html", string _xml_type = "html", ) { - auto tags = _xhtml_anchor_tags(obj); _txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix); string o = verse(_txt, obj); return o; @@ -1086,7 +1080,7 @@ template outputXHTMLs() { ); return t; } - auto table(O)( + string table(O)( string _txt, const O obj, ) { @@ -1094,7 +1088,7 @@ template outputXHTMLs() { assert(obj.metainfo.is_of_section == "body"); assert(obj.metainfo.is_of_type == "block"); assert(obj.metainfo.is_a == "table"); - auto tags = _xhtml_anchor_tags(obj); + string tags = _xhtml_anchor_tags(obj); _txt = font_face(_txt); auto t = tablarize(_txt, obj); _txt = t[0]; @@ -1119,7 +1113,7 @@ template outputXHTMLs() { ); return o; } - auto code(O)( + string code(O)( string _txt, const O obj, ) { |