aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/meta/metadoc_from_src.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/meta/metadoc_from_src.d')
-rw-r--r--src/doc_reform/meta/metadoc_from_src.d28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d
index 65e0754..28ce990 100644
--- a/src/doc_reform/meta/metadoc_from_src.d
+++ b/src/doc_reform/meta/metadoc_from_src.d
@@ -4041,6 +4041,7 @@ template docAbstraction() {
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;
@@ -4052,11 +4053,32 @@ template docAbstraction() {
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)) {