diff options
| author | hathach <[email protected]> | 2026-06-18 15:55:55 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2026-06-18 15:55:55 +0700 |
| commit | 4498f65c460874ae64306d01638f52285394efc5 (patch) | |
| tree | b8c36311a2cd5c41d0583ca9b3be92b1f870b89e /docs/conf.py | |
| parent | 072c02e3684e886a93681ecb37f830be5b8c6b53 (diff) | |
| parent | 941d63e39a529593ee86caf7ea85e04839680d59 (diff) | |
Merge remote-tracking branch 'origin/master' into pr-3618
Diffstat (limited to 'docs/conf.py')
| -rwxr-xr-x | docs/conf.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/conf.py b/docs/conf.py index 9e9784fb7..86ddcf672 100755 --- a/docs/conf.py +++ b/docs/conf.py @@ -53,6 +53,25 @@ def preprocess_readme(): tgt = Path(__file__).parent.parent / "README_processed.rst" if src.exists(): content = src.read_text(encoding='utf-8') + # if the matching is inside a table, keep the table cell width by adding the same number of spaces in the end of the line + # match pattern: | ... `... <docs/...>`_ ... | + # change into: | ... `... <...>`_ ... | + def _rewrite_table_line(line): + if not (line.startswith('|') and line.rstrip().endswith('|')): + return line + + rewritten = re.sub(r"<docs/([^>]+)>", r"<\1>", line) + delta = len(line) - len(rewritten) - 1 # -1 for rst->html + + if delta > 0: + last_pipe = rewritten.rfind('|') + if last_pipe >= 0: + rewritten = rewritten[:last_pipe] + (' ' * delta) + rewritten[last_pipe:] + + return rewritten + + content = ''.join(_rewrite_table_line(line) for line in content.splitlines(keepends=True)) + content = re.sub(r"docs/", r"", content) content = re.sub(r"\.rst\b", r".html", content) if not content.endswith("\n"): |
