Avoid splitting links on italic text
This commit is contained in:
parent
165acb8e2e
commit
d1efae7745
2 changed files with 26 additions and 1 deletions
|
|
@ -116,10 +116,15 @@ def find_cite_template_spans(text: str) -> list[tuple[int, int]]:
|
|||
def parse_cite(text: str) -> typing.Iterator[tuple[str, str]]:
|
||||
"""Parse citations yielding (type, chunk) tuples, skipping ref tags, cite templates, and external links."""
|
||||
regions = [(m.start(), m.end()) for m in re_cite.finditer(text)]
|
||||
link_spans = [(m.start(), m.end()) for m in re_link_in_text.finditer(text)]
|
||||
regions.extend(find_cite_template_spans(text))
|
||||
regions.extend((m.start(), m.end()) for m in re_no_param_template.finditer(text))
|
||||
regions.extend((m.start(), m.end()) for m in re_external_link.finditer(text))
|
||||
regions.extend((m.start(), m.end()) for m in re_italic.finditer(text))
|
||||
regions.extend(
|
||||
(m.start(), m.end())
|
||||
for m in re_italic.finditer(text)
|
||||
if not any(start <= m.start() and m.end() <= end for start, end in link_spans)
|
||||
)
|
||||
regions.extend((m.start(), m.end()) for m in re_bullet_with_url.finditer(text))
|
||||
regions.sort()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue