diff options
Diffstat (limited to 'org')
| -rw-r--r-- | org/default_regex.org | 3 | ||||
| -rw-r--r-- | org/metaverse.org | 28 | ||||
| -rw-r--r-- | org/out_xmls.org | 23 | 
3 files changed, 48 insertions, 6 deletions
| diff --git a/org/default_regex.org b/org/default_regex.org index 9ea040e..6734b62 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -138,8 +138,11 @@ static comment                                        = ctRegex!(`^%+ `);  #+NAME: meta_rgx_headers  #+BEGIN_SRC d  /+ header +/ +static variable_doc_title_author_date                 = ctRegex!(`@title-author-date`); +static variable_doc_title_author                      = ctRegex!(`@title-author`);  static variable_doc_title                             = ctRegex!(`@title`);  static variable_doc_author                            = ctRegex!(`@author|@creator`); +static variable_doc_date                              = ctRegex!(`@date`);  static raw_author_munge                               = ctRegex!(`(?P<last>\S.+?),\s+(?P<first>.+)`,"i");  static yaml_header_meta_title                         = ctRegex!(`^\s*title\s*:\s*(?:"?\w|$)`, "m");  static yaml_config                                    = ctRegex!(`^[a-z]+\s*:\s*(?:"?\w|$)`, "m"); diff --git a/org/metaverse.org b/org/metaverse.org index 421bd2b..f3e7425 100644 --- a/org/metaverse.org +++ b/org/metaverse.org @@ -5151,6 +5151,7 @@ if (pith["block_is"] == eN.blk_is.quote) {    return ref CMM             conf_make_meta,  ) {    static auto rgx = RgxI(); +  static auto mkup = InlineMarkup();    if (auto m = line.match(rgx.headings)) {                                      /+ heading match +/      ++line_occur["heading"];      pith["txt_is"]           = eN.txt_is.heading; @@ -5162,11 +5163,32 @@ if (pith["block_is"] == eN.blk_is.quote) {      assertions_doc_structure(an_object, lv); // includes most of the logic for collapsed levels      switch (an_object["lev"]) {      case "A":                                // Title set -      if (an_object[an_object_key].match(rgx.variable_doc_title) -      && an_object[an_object_key].match(rgx.variable_doc_author)) { +      if ((an_object[an_object_key].match(rgx.variable_doc_title_author_date)) +      || (an_object[an_object_key].match(rgx.variable_doc_title) +      && an_object[an_object_key].match(rgx.variable_doc_author) +      && an_object[an_object_key].match(rgx.variable_doc_date))) { +        an_object[an_object_key] = an_object[an_object_key] +          .replaceFirst(rgx.variable_doc_title_author_date, +            (conf_make_meta.meta.title_full +            ~ mkup.br_nl +            ~ conf_make_meta.meta.creator_author +            ~ " (" ~ (conf_make_meta.meta.date_published.replaceFirst(regex(r"(?:-00)+"),"")) ~ ")")) +          .replaceFirst(rgx.variable_doc_title, +            (conf_make_meta.meta.title_full ~ mkup.br_nl)) +          .replaceFirst(rgx.variable_doc_author, +            conf_make_meta.meta.creator_author) +          .replaceFirst(rgx.variable_doc_date, +            " (" ~ (conf_make_meta.meta.date_published.replaceFirst(regex(r"(?:-00)+"),"")) ~ ")"); +      } else if ((an_object[an_object_key].match(rgx.variable_doc_title_author)) +      || (an_object[an_object_key].match(rgx.variable_doc_title) +      && an_object[an_object_key].match(rgx.variable_doc_author))) {          an_object[an_object_key] = an_object[an_object_key] +          .replaceFirst(rgx.variable_doc_title_author_date, +            (conf_make_meta.meta.title_full +            ~ mkup.br_nl +            ~ conf_make_meta.meta.creator_author))            .replaceFirst(rgx.variable_doc_title, -            (conf_make_meta.meta.title_full ~ ", ")) +            (conf_make_meta.meta.title_full ~ mkup.br_nl))            .replaceFirst(rgx.variable_doc_author,              conf_make_meta.meta.creator_author);        } else if (an_object[an_object_key].match(rgx.variable_doc_title)) { diff --git a/org/out_xmls.org b/org/out_xmls.org index ca202c4..ef96b34 100644 --- a/org/out_xmls.org +++ b/org/out_xmls.org @@ -34,6 +34,7 @@ template outputXHTMLs() {      static auto rgx = RgxO();      <<xhtml_format_objects_div_delimit>>      <<xhtml_format_objects_special_characters_text>> +    <<xhtml_format_objects_special_characters_date>>      <<xhtml_format_objects_breaks_indents_bullets>>      <<xhtml_format_objects_font_face>>      <<xhtml_format_objects_xml_anchor_tags>> @@ -158,6 +159,22 @@ import      .replaceAll(rgx.xhtml_quotation,    """) // """      .replaceAll(rgx.xhtml_less_than,    "<")   // "<"      .replaceAll(rgx.xhtml_greater_than, ">")   // ">" +    .replaceAll(rgx.br_line,            "<br>") +    .replaceAll(rgx.br_nl,              "<br>") +    .replaceAll(rgx.nbsp_char,          " "); +  return _txt; +} +#+END_SRC + +**** special characters date + +#+NAME: xhtml_format_objects_special_characters_date +#+BEGIN_SRC d +@safe string special_characters_date(string _txt) { +  _txt = _txt +    .replaceAll(regex(r"(?:-00)+"),     "") +    .replaceAll(rgx.br_line,            "<br>") +    .replaceAll(rgx.br_nl,              "<br>")      .replaceAll(rgx.nbsp_char,          " ");    return _txt;  } @@ -286,7 +303,7 @@ import      special_characters_text(doc_matters.conf_make_meta.meta.title_full),      special_characters_text(doc_matters.conf_make_meta.meta.creator_author),      _publisher, -    special_characters_text(doc_matters.conf_make_meta.meta.date_published), +    special_characters_date(doc_matters.conf_make_meta.meta.date_published),      special_characters_text(doc_matters.conf_make_meta.meta.date_created),      special_characters_text(doc_matters.conf_make_meta.meta.date_issued),      special_characters_text(doc_matters.conf_make_meta.meta.date_available), @@ -490,7 +507,7 @@ import      special_characters_text(doc_matters.conf_make_meta.meta.title_full),      (doc_matters.conf_make_meta.meta.creator_author.empty) ? ""        : ", " ~ special_characters_text(doc_matters.conf_make_meta.meta.creator_author), -    special_characters_text(doc_matters.conf_make_meta.meta.date_published), +    special_characters_date(doc_matters.conf_make_meta.meta.date_published),      special_characters_text(doc_matters.conf_make_meta.meta.date_created),      special_characters_text(doc_matters.conf_make_meta.meta.date_issued),      special_characters_text(doc_matters.conf_make_meta.meta.date_available), @@ -2430,7 +2447,7 @@ xmlns="urn:oasis:names:tc:opendocument:xmlns:container">        ? "" : xhtml_format.special_characters_text(doc_matters.conf_make_meta.meta.creator_author),      doc_matters.src.language,                                   // language, fix (needed in dochead metadata)      (doc_matters.conf_make_meta.meta.date_published.empty) -      ? "" : xhtml_format.special_characters_text(doc_matters.conf_make_meta.meta.date_published), +      ? "" : xhtml_format.special_characters_date(doc_matters.conf_make_meta.meta.date_published),      (doc_matters.conf_make_meta.meta.rights_copyright.empty)        ? "" : xhtml_format.special_characters_text(doc_matters.conf_make_meta.meta.rights_copyright),      _uuid, | 
