#+TITLE: sdp defaults
#+AUTHOR: Ralph Amissah
#+EMAIL: ralph.amissah@gmail.com
#+STARTUP: indent
#+LANGUAGE: en
#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc
#+OPTIONS: author:nil email:nil creator:nil timestamp:nil
#+PROPERTY: header-args :padline no :exports code :noweb yes
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+FILETAGS: :sdp:rel:ao:
#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n)

* defaults                                                :template:defaults:
[[./sdp.org][sdp]] [[./][org/]]
** template: header                                                  :header:
#+name: ao_defaults_templates
#+BEGIN_SRC d
template SiSUheader() {
  auto header_make_jsonstr = `{
    "make": {
      "cover_image"        : "",
      "home_button_image"  : "",
      "home_button_text"   : "",
      "footer"             : "",
      "headings"           : "",
      "num_top"            : "",
      "breaks"             : "",
      "substitute"         : "",
      "bold"               : "",
      "italics"            : "",
      "emphasis"           : "",
      "texpdf_font"        : "",
      "css"                : ""
    }
  }`;
  auto header_metadata_jsonstr = `{
    "creator": {
      "author"             : "",
      "translator"         : "",
      "illustrator"        : ""
    },
    "title": {
      "main"               : "",
      "sub"                : "",
      "full"               : "",
      "language"           : "",
      "edition"            : "",
      "note"               : ""
    },
    "rights": {
      "copyright"          : "",
      "illustrations"      : "",
      "license"            : "",
      "cover"              : ""
    },
    "date": {
      "published"          : "",
      "created"            : "",
      "issued"             : "",
      "available"          : "",
      "valid"              : "",
      "modified"           : "",
      "added_to_site"      : ""
    },
    "original": {
      "title"              : "",
      "language"           : "",
      "source"             : ""
    },
    "classify": {
      "topic_register"     : "",
      "subject"            : "",
      "keywords"           : "",
      "loc"                : "",
      "dewey"              : ""
    },
    "identifier": {
      "oclc"               : "",
      "pg"                 : "",
      "isbn"               : ""
    },
    "notes": {
      "abstract"           : "",
      "description"        : ""
    },
    "publisher": {
      "name"               : ""
    },
    "links": {
    }
  }`; // links
  auto pointer_head_main =
    [
      "creator",
      "title",
      "rights",
      "date",
      "original",
      "classify",
      "identifier",
      "notes",
      "make",
      "links"
    ];
  auto pointer_head_sub_creator =
    [
      "author",
      "translator",
      "illustrator",
      "cover"
    ];
  auto pointer_head_sub_title =
    [
      "main",
      "sub",
      "full",
      "language",
      "edition",
      "note"
    ];
  auto pointer_head_sub_rights =
    [
      "copyright",
      "illustrations",
      "license"
    ];
  auto pointer_head_sub_date =
    [
      "published",
      "created",
      "issued",
      "valid",
      "modified",
      "added_to_site"
    ];
  auto pointer_head_sub_original =
    [
      "title",
      "language",
      "source"
    ];
  auto pointer_head_sub_classify =
    [
      "topic_register",
      "subject",
      "keywords",
      "loc",
      "dewey"
    ];
  auto pointer_head_sub_identifier =
    [
      "oclc",
      "pg",
      "isbn"
    ];
  auto pointer_head_sub_notes =
    [
      "abstract",
      "description"
    ];
  auto pointer_head_sub_publisher =
    [ "name" ];
  auto pointer_head_sub_make =
    [
      "cover_image",
      "home_button_image",
      "home_button_text",
      "footer", "headings",
      "num_top",
      "breaks",
      "substitute",
      "bold",
      "italics",
      "emphasis",
      "texpdf_font",
      "css"
    ];
  auto config_jsonstr = `{
  }`;
}
#+END_SRC
** template: flags regex initialize                             :regex_flags:
#+name: ao_defaults_templates
#+BEGIN_SRC d
/+ regex flags +/
template SiSUrgxInitFlags() {
  int[string] flag_type = [
    "make_headings"        : 0,
    "header_make"          : 0,
    "header_metadata"      : 0,
    "heading"              : 0,
    "heading_biblio"       : 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_table"          : 0,
    "curly_group"          : 0,
    "curly_block"          : 0,
    "curly_quote"          : 0,
    "tic_code"             : 0,
    "tic_poem"             : 0,
    "tic_table"            : 0,
    "tic_group"            : 0,
    "tic_block"            : 0,
    "tic_quote"            : 0,
    "ocn_status"           : 0, // 0 ocn; 1 no ocn; 2 no ocn & dummy headings
    "ocn_status_multi_obj" : 0, // 0 ocn; 1 no ocn; 2 no ocn & dummy headings
    "book_index"           : 0,
  ];
}
#+END_SRC
** template: bibliography                                            :biblio:
#+name: ao_defaults_templates
#+BEGIN_SRC d
template SiSUbiblio() {
  auto biblio_entry_tags_jsonstr =  `{
    "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
  auto biblio_tag_map = [
    "au"                               : "author_raw",
    "ed"                               : "editor_raw",
    "ti"                               : "fulltitle",
    "lng"                              : "language",
    "jo"                               : "journal",
    "vol"                              : "volume",
    "edn"                              : "edition",
    "yr"                               : "year",
    "pl"                               : "place",
    "pb"                               : "publisher",
    "pub"                              : "publisher",
    "pg"                               : "pages",
    "pgs"                              : "pages",
    "sn"                               : "short_name"
  ]; // is: book, article, magazine, newspaper, blog, other
}
#+END_SRC
** template: internal markup                                         :markup:
#+name: ao_defaults_templates
#+BEGIN_SRC d
template InternalMarkup() {
  struct InternalMarkup {
    auto en_a_o = "【"; auto en_a_c = "】";
    auto en_b_o = "〖"; auto en_b_c = "〗";
    // auto segname_prefix_auto_num_extract = "c";
    // auto segname_prefix_auto_num_provide = "s";
    // auto segname_prefix_auto_num_other = "x";
    // auto ocn_id_char = "";                                              //'o'; now as before; remove for html5
    // auto note = "note_";
    // auto note_ref = "noteref_";
    // auto note_astx = "note_astx_";
    // auto note_ref_astx = "noteref_astx_";
    // auto note_plus = "note_plus_";
    // auto note_ref_plus = "noteref_plus_";
    // auto meta_o = "〔@"; auto meta_c = "〕";
    // auto lv_o_0 = 0;
    // auto lv_o_1 = 1;
    // auto lv_o_2 = 2;
    // auto lv_o_3 = 3;
    // auto lv_o_4 = 4;
    // auto lv_o_5 = 5;
    // auto lv_o_6 = 6;
    // auto lv_o_7 = 7;
    // auto lv_o_8 = 8;
    // auto lv_o_9 = 9;
    // auto lv_o = "〔"; auto lv_c = "〕";
    // auto bl_o = "〔"; auto bl_c = "〕";          // block text mark
    // auto gr_o = "〔"; auto gr_c = "〕";          // group text mark #REPLACE & RETIRE
    // auto id_o = "〔"; auto id_c = "〕";          // object id mark
    // auto tc_o = "『"; auto tc_c = "』";          // table row mark #Mx[:tc_c]="』\n"
    // auto tc_p = "┆'"
    // auto pa_o = "〔"; auto pa_c = "〕";          // affects paragraph mark
    // auto mk_o = "〔"; auto mk_c = "〕";          // generic mark
    // auto gl_o = "〔"; auto gl_c = "〕";          // glyph
    // auto fa_o = "〔"; auto fa_o_c = "¤"; auto fa_c_o = "¤"; auto fa_c = "〕";
    // auto idx_o = "▩"; auto idx_c = "▩";
    // auto nbsp = "░";                                              // '▭ '
    // auto br_line = "╱";                                              // lB ▌  9612 ┘ ¶
    // auto br_nl = "╲";                                              // lB ▌ 』  ┘
    // auto br_paragraph = "█";                                              // FB █  9608 # PP ∥  8741 #▐  #'┘' #'¶' #FB █  9608  lB ▌  9612   RB ▐  9616
    // auto br_obj = "break_obj";
    // auto br_page_line = "▭";
    // auto br_page = "┼";
    // auto br_page_new = "╋";
    // auto lnk_o = "⌠";          lnk_c = "⌡";           // '⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o= '◁'; Mx[:lnk_c= '▷' #‹ ›
    // auto url_o = "◘"; auto url_c = "◙";
    // auto rel_o = "⌈"; auto rel_c = "⌋";
    // auto tag_o = "⌊"; auto tag_c = "⌉";
    // auto sm_set_o = "◢"; auto sm_set_c = "◣";
    // auto sm_subset_o = "◢"; auto sm_subset_c = "◣";
    // auto vline = "┆";                                              //   ¦ |
    // auto src_bold_o = "!{"; auto src_bold_c = "}!";
    // auto src_italics_o = "/{"; auto src_italics_c = "}/";
    // auto src_underscore_o = "_{"; auto src_underscore_c = "}_";
    // auto src_cite_o = ""{"; auto src_cite_c = "}"";
    // auto src_insert_o = "+{"; auto src_insert_c = "}+";
    // auto src_strike_o = "-{"; auto src_strike_c = "}-";
    // auto src_superscript_o = "^{"; auto src_superscript_c = "}^";
    // auto src_subscript_o = ";{"; auto src_subscript_c = "}'"
    // auto src_hilite_o = "*{"; auto src_hilite_c = "}*";
    // auto src_monospace_o = "#{"; auto src_monospace_c = "}#";
    // auto srcrgx_bold_o = "\\!\\{";  auto srcrgx_bold_c = "\\}\\!";
    // auto srcrgx_italics_o = "\\/\\{";  auto srcrgx_italics_c = "\\}\\/";
    // auto srcrgx_underscore_o = "_\\{"; auto srcrgx_underscore_c = "\\}_";
    // auto srcrgx_cite_o = "\"\\{"; auto srcrgx_cite_c = "\\}\"";
    // auto srcrgx_insert_o = "\\+\\{";  auto srcrgx_insert_c = "\\}\\+";
    // auto srcrgx_strike_o = "\\-\\{";  auto srcrgx_strike_c = "\\}\\-";
    // auto srcrgx_superscript_o = "\\^\\{";  auto srcrgx_superscript_c = "\\}\\^";
    // auto srcrgx_subscript_o = ",\\{"; auto srcrgx_subscript_c = "\\},";
    // auto srcrgx_hilite_o = "\\*\\{";  auto srcrgx_hilite_c = "\\}\\*";
    // auto srcrgx_monospace_o = "\\#\\{";  auto srcrgx_monospace_c = "\\}\\#";
    // ⊹
  }
}
#+END_SRC

* tangles                                                            :tangle:
** code structure:                                               :ao_defaults.d:
#+name: tangle_ao_defaults
#+BEGIN_SRC d :tangle ../lib/sdp/ao_defaults.d
/+
  defaults
  ao_defaults.d
+/
<<ao_defaults_templates>>
#+END_SRC