diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sisudoc/io_out/rgx.d | 6 | ||||
-rw-r--r-- | src/sisudoc/io_out/text.d | 4 | ||||
-rw-r--r-- | src/sisudoc/meta/metadoc_from_src_functions.d | 4 | ||||
-rw-r--r-- | src/sisudoc/meta/rgx.d | 6 |
4 files changed, 8 insertions, 12 deletions
diff --git a/src/sisudoc/io_out/rgx.d b/src/sisudoc/io_out/rgx.d index b4bec5f..1327854 100644 --- a/src/sisudoc/io_out/rgx.d +++ b/src/sisudoc/io_out/rgx.d @@ -88,10 +88,8 @@ static template spineRgxOut() { 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"); diff --git a/src/sisudoc/io_out/text.d b/src/sisudoc/io_out/text.d index da0e2b6..ce37310 100644 --- a/src/sisudoc/io_out/text.d +++ b/src/sisudoc/io_out/text.d @@ -309,9 +309,9 @@ template outputText() { _ocn = "「" ~ obj.metainfo.ocn.to!string ~ "」"; string _txt = obj.text; _txt = _txt - .replaceFirst(rgx.inline_link, ("$1")) + .replaceAll(rgx.inline_link, ("$1")) // consider .replaceFirst(rgx.inline_superscript, ("$1")); - _txt = special_characters_and_font_face!().general(_txt); + _txt = special_characters_and_font_face!().general(_txt) ~ " ≫" ~ obj.metainfo.parent_ocn.to!string; return _txt ~ newlines; } string bookindex(O,M)(O obj, M doc_matters) { 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..da48658 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"); |