diff options
Diffstat (limited to 'src/sisudoc/meta')
-rw-r--r-- | src/sisudoc/meta/metadoc_from_src_functions.d | 4 | ||||
-rw-r--r-- | src/sisudoc/meta/rgx.d | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/sisudoc/meta/metadoc_from_src_functions.d b/src/sisudoc/meta/metadoc_from_src_functions.d index 53e494b..63143e9 100644 --- a/src/sisudoc/meta/metadoc_from_src_functions.d +++ b/src/sisudoc/meta/metadoc_from_src_functions.d @@ -4240,7 +4240,7 @@ template docAbstractionFunctions() { if (obj.has.inline_notes_reg) { if ((obj.text).matchFirst(rgx.inline_notes_al_gen)) { foreach (m; (obj.text).matchAll(rgx.inline_notes_al_regular_number_note)) { - _notes ~= "\n\n" ~ m["num"] ~ ". " ~ m["note"] ~ " ≫" ~ obj.metainfo.ocn.to!string; + _notes ~= "\n\n" ~ m["num"] ~ ". " ~ m["note"]; notes_[(m["num"])]["ocn"] = obj.metainfo.ocn.to!string; } } @@ -4254,7 +4254,7 @@ template docAbstractionFunctions() { foreach (ref obj; the_document_endnotes_section) { auto matches = (obj.text).matchAll(rgx.endnote_section_note); foreach (m; matches) { - obj.text = m.hit ~ " ≫" ~ notes_[(m["notenumber"])]["ocn"]; + obj.metainfo.parent_ocn = notes_[(m["notenumber"])]["ocn"].to!int; } } foreach (ref obj; the_document_endnotes_section) { diff --git a/src/sisudoc/meta/rgx.d b/src/sisudoc/meta/rgx.d index fcac959..86ca40c 100644 --- a/src/sisudoc/meta/rgx.d +++ b/src/sisudoc/meta/rgx.d @@ -229,10 +229,8 @@ static template spineRgxIn() { static inline_notes_al_special = ctRegex!(`【(?:[*+]\s+)(.+?)】`, "mg"); // TODO remove match when special footnotes are implemented static inline_notes_al_gen = ctRegex!(`【.+?】`, "m"); static inline_notes_al_gen_text = ctRegex!(`【(?P<text>.+?)】`, "m"); - static inline_notes_al_all_note = ctRegex!(`【(?P<num>\d+|(?:[*]|[+])+)\s+(?P<note>.+?)\s*(≫\s\d+)?\s*】`, "mg"); // ocn of origin would be useful in endnote section - static inline_notes_al_regular_number_note = ctRegex!(`【(?P<num>\d+)\s+(?P<note>.+?)\s*(≫\s\d+)?\s*】`, "mg"); // ocn of origin would be useful in endnote section - // static inline_notes_al_all_note = ctRegex!(`【(?P<num>\d+|(?:[*]|[+])+)\s+(?P<note>.+?)\s*】`, "mg"); - // static inline_notes_al_regular_number_note = ctRegex!(`【(?P<num>\d+)\s+(?P<note>.+?)\s*】`, "mg"); + static inline_notes_al_all_note = ctRegex!(`【(?P<num>\d+|(?:[*]|[+])+)\s+(?P<note>.+?)\s*】`, "mg"); + static inline_notes_al_regular_number_note = ctRegex!(`【(?P<num>\d+)\s+(?P<note>.+?)\s*】`, "mg"); static inline_notes_al_special_char_note = ctRegex!(`【(?P<char>(?:[*]|[+])+)\s+(?P<note>.+?)】`, "mg"); static inline_al_delimiter_open_regular = ctRegex!(`【\s`, "m"); static inline_al_delimiter_open_symbol_star = ctRegex!(`【[*]\s`, "m"); @@ -253,6 +251,7 @@ static template spineRgxIn() { static inline_link_seg_and_hash = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>(?P<seg>[^/#├]*)#(?P<hash>.+?))├`, "mg"); static inline_link_clean = ctRegex!(`┤(?:.+?)├|[┥┝]`, "mg"); static inline_link_toc_to_backmatter = ctRegex!(`┤#(?P<link>endnotes|bibliography|bookindex|glossary|blurb)├`, "mg"); + static find_bookindex_ocn_link_and_comma = ctRegex!(`[, ]*┥.+?┝┤#?\S+?├`, "mg"); static url = ctRegex!(`https?://`, "mg"); static uri = ctRegex!(`(?:https?|git)://`, "mg"); static uri_identify_components = ctRegex!(`(?P<type>(?:https?|git)://)(?P<path>\S+?/)(?P<file>[^/]+)$`, "mg"); |