/++ default settings +/ module doc_reform.meta.defaults; template DocReformRgxInitFlags() { /+ regex flags +/ static int[string] flags_type_init() { int[string] flags_type_init = [ "make_headings" : 0, "header_make" : 0, "header_meta" : 0, "heading" : 0, "biblio_section" : 0, "glossary_section" : 0, "blurb_section" : 0, "para" : 0, "blocks" : 0, // 0..2 generic "code" : 0, // 0..2 "poem" : 0, // 0..2 "table" : 0, // 0..2 "group" : 0, // 0..2 "block" : 0, // 0..2 "quote" : 0, // 0..2 "verse_new" : 0, "curly_code" : 0, "curly_poem" : 0, "curly_group" : 0, "curly_block" : 0, "curly_quote" : 0, "curly_table" : 0, "curly_table_special_markup" : 0, "tic_code" : 0, "tic_poem" : 0, "tic_group" : 0, "tic_block" : 0, "tic_quote" : 0, "tic_table" : 0, "ocn_status" : 0, // 0 object_number; 1 no object_number; 2 no object_number & dummy headings "ocn_status_off_for_multiple_objects" : 0, // 0 object_number; 1 no object_number; 2 no object_number & dummy headings "heading_status" : 0, "heading_off_for_multiple_objects" : 0, "book_index" : 0, ]; return flags_type_init; } } template DocReformNode() { static string[string] node_metadata_heading_str() { string[string] _node = [ "is" : "", "ocn" : "", "marked_up_lev" : "", "segment_anchor_tag_html" : "", "segment_anchor_tag_epub" : "", "attrib" : "", ]; return _node; } static int[string] node_metadata_heading_int() { int[string] _node = [ "ocn" : 0, // decide whether to use or keep? "ptr_doc_object" : 0, "ptr_html_segnames" : 0, "ptr_heading" : 0, "heading_lev_markup" : 9, "heading_lev_collapsed" : 9, "parent_ocn" : 0, "parent_lev_markup" : 9, ]; return _node; } static string[string] node_metadata_para_str() { string[string] _node = [ "is" : "", "ocn" : "", "attrib" : "", ]; return _node; } static int[string] node_metadata_para_int() { int[string] _node = [ "ocn" : 0, "indent_base" : 0, "indent_hang" : 0, "bullet" : 0, // bool (0|1) ]; return _node; } } template DocReformHarvest() { auto DocReformHarvest() { struct _Harvest { struct Harvest { string title = ""; string[] author_arr = []; string author = ""; string author_surname = ""; string author_surname_fn = ""; string language = ""; string language_original = ""; string uid = ""; string date_published = ""; string[] topic_register_arr = []; string path_html_segtoc = ""; string path_html_scroll = ""; string path_epub = ""; string url_html_seg = ""; string url_html_scroll = ""; string url_epub = ""; } Harvest harvest; Harvest[] harvests; Harvest[][string][string][string][string] subject_trees; } return _Harvest(); } } template DocReformBiblio() { // required: deemed_author (author || editor); year; fulltitle; struct BibJsnStr { static auto biblio_entry_tags_jsonstr() { string x = `{ "is" : "", "sortby_deemed_author_year_title" : "", "deemed_author" : "", "author_raw" : "", "author" : "", "author_arr" : [ "" ], "editor_raw" : "", "editor" : "", "editor_arr" : [ "" ], "title" : "", "subtitle" : "", "fulltitle" : "", "language" : "", "trans" : "", "src" : "", "journal" : "", "in" : "", "volume" : "", "edition" : "", "year" : "", "place" : "", "publisher" : "", "url" : "", "pages" : "", "note" : "", "short_name" : "", "id" : "" }`; // is: book, article, magazine, newspaper, blog, other return x; } } } template InternalMarkup() { import std.array; static struct InlineMarkup { 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 sep = "␣"; 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; } static string repeat_character_by_number_provided(C,N)(C _character ="-", N number=10) { _character = replicate(_character, number); return _character; } } } template DocReformLanguageCodes() { /+ language codes +/ struct Lang { static string[string][string] codes() { auto _lang_codes = [ "am": [ "c": "am", "n": "Amharic", "t": "Amharic", "xlp": "amharic" ], "bg": [ "c": "bg", "n": "Bulgarian", "t": "Български (Bəlgarski)", "xlp": "bulgarian" ], "bn": [ "c": "bn", "n": "Bengali", "t": "Bengali", "xlp": "bengali" ], "br": [ "c": "br", "n": "Breton", "t": "Breton", "xlp": "breton" ], "ca": [ "c": "ca", "n": "Catalan", "t": "catalan", "xlp": "catalan" ], "cs": [ "c": "cs", "n": "Czech", "t": "česky", "xlp": "czech" ], "cy": [ "c": "cy", "n": "Welsh", "t": "Welsh", "xlp": "welsh" ], "da": [ "c": "da", "n": "Danish", "t": "dansk", "xlp": "danish" ], "de": [ "c": "de", "n": "German", "t": "Deutsch", "xlp": "german" ], "el": [ "c": "el", "n": "Greek", "t": "Ελληνικά (Ellinika)", "xlp": "greek" ], "en": [ "c": "en", "n": "English", "t": "English", "xlp": "english" ], "eo": [ "c": "eo", "n": "Esperanto", "t": "Esperanto", "xlp": "esperanto" ], "es": [ "c": "es", "n": "Spanish", "t": "español", "xlp": "spanish" ], "et": [ "c": "et", "n": "Estonian", "t": "Estonian", "xlp": "estonian" ], "eu": [ "c": "eu", "n": "Basque", "t": "basque", "xlp": "basque" ], "fi": [ "c": "fi", "n": "Finnish", "t": "suomi", "xlp": "finnish" ], "fr": [ "c": "fr", "n": "French", "t": "français", "xlp": "french" ], "ga": [ "c": "ga", "n": "Irish", "t": "Irish", "xlp": "irish" ], "gl": [ "c": "gl", "n": "Galician", "t": "Galician", "xlp": "galician" ], "he": [ "c": "he", "n": "Hebrew", "t": "Hebrew", "xlp": "hebrew" ], "hi": [ "c": "hi", "n": "Hindi", "t": "Hindi", "xlp": "hindi" ], "hr": [ "c": "hr", "n": "Croatian", "t": "Croatian", "xlp": "croatian" ], "hy": [ "c": "hy", "n": "Armenian", "t": "Armenian", "xlp": "armenian" ], "ia": [ "c": "ia", "n": "Interlingua", "t": "Interlingua", "xlp": "interlingua" ], "is": [ "c": "is", "n": "Icelandic", "t": "Icelandic", "xlp": "icelandic" ], "it": [ "c": "it", "n": "Italian", "t": "Italiano", "xlp": "italian" ], "ja": [ "c": "ja", "n": "Japanese", "t": "日本語 (Nihongo)", "xlp": "japanese" ], "ko": [ "c": "ko", "n": "Korean", "t": "Korean", "xlp": "korean" ], "la": [ "c": "la", "n": "Latin", "t": "Latin", "xlp": "latin" ], "lo": [ "c": "lo", "n": "Lao", "t": "Lao", "xlp": "lao" ], "lt": [ "c": "lt", "n": "Lithuanian", "t": "Lithuanian", "xlp": "lithuanian" ], "lv": [ "c": "lv", "n": "Latvian", "t": "Latvian", "xlp": "latvian" ], "ml": [ "c": "ml", "n": "Malayalam", "t": "Malayalam", "xlp": "malayalam" ], "mr": [ "c": "mr", "n": "Marathi", "t": "Marathi", "xlp": "marathi" ], "nl": [ "c": "nl", "n": "Dutch", "t": "Nederlands", "xlp": "dutch" ], "no": [ "c": "no", "n": "Norwegian", "t": "norsk", "xlp": "norsk" ], "nn": [ "c": "nn", "n": "Norwegian Nynorsk", "t": "nynorsk", "xlp": "nynorsk" ], "oc": [ "c": "oc", "n": "Occitan", "t": "Occitan", "xlp": "occitan" ], "pl": [ "c": "pl", "n": "Polish", "t": "polski", "xlp": "polish" ], "pt": [ "c": "pt", "n": "Portuguese", "t": "Português", "xlp": "portuges" ], "pt_BR": [ "c": "pt_BR", "n": "Portuguese Brazil", "t": "Brazilian Português", "xlp": "brazilian" ], "ro": [ "c": "ro", "n": "Romanian", "t": "română", "xlp": "romanian" ], "ru": [ "c": "ru", "n": "Russian", "t": "Русский (Russkij)", "xlp": "russian" ], "sa": [ "c": "sa", "n": "Sanskrit", "t": "Sanskrit", "xlp": "sanskrit" ], "se": [ "c": "se", "n": "Sami", "t": "Samin", "xlp": "samin" ], "sk": [ "c": "sk", "n": "Slovak", "t": "slovensky", "xlp": "slovak" ], "sl": [ "c": "sl", "n": "Slovenian", "t": "Slovenian", "xlp": "slovenian" ], "sq": [ "c": "sq", "n": "Albanian", "t": "Albanian", "xlp": "albanian" ], "sr": [ "c": "sr", "n": "Serbian", "t": "Serbian", "xlp": "serbian" ], "sv": [ "c": "sv", "n": "Swedish", "t": "svenska", "xlp": "swedish" ], "ta": [ "c": "ta", "n": "Tamil", "t": "Tamil", "xlp": "tamil" ], "te": [ "c": "te", "n": "Telugu", "t": "Telugu", "xlp": "telugu" ], "th": [ "c": "th", "n": "Thai", "t": "Thai", "xlp": "thai" ], "tk": [ "c": "tk", "n": "Turkmen", "t": "Turkmen", "xlp": "turkmen" ], "tr": [ "c": "tr", "n": "Turkish", "t": "Türkçe", "xlp": "turkish" ], "uk": [ "c": "uk", "n": "Ukranian", "t": "українська (ukrajins\"ka)", "xlp": "ukrainian" ], "ur": [ "c": "ur", "n": "Urdu", "t": "Urdu", "xlp": "urdu" ], "us": [ "c": "en", "n": "English (American)","t": "English", "xlp": "english" ], "vi": [ "c": "vi", "n": "Vietnamese", "t": "Vietnamese", "xlp": "vietnamese" ], "zh": [ "c": "zh", "n": "Chinese", "t": "中文", "xlp": "chinese" ], "en": [ "c": "en", "n": "English", "t": "English", "xlp": "english" ], "xx": [ "c": "xx", "n": "Default", "t": "English", "xlp": "english" ], ]; return _lang_codes; } static string[] code_arr_ptr() { 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() { 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_() { return "(" ~ join(code_arr,"|") ~ ")"; } static auto codes_regex() { return regex(codes_); } } }