diff options
| author | HiFiPhile <[email protected]> | 2026-06-02 11:10:15 +0200 |
|---|---|---|
| committer | HiFiPhile <[email protected]> | 2026-06-02 11:30:33 +0200 |
| commit | 22c2ece872262c1331482f8e80881ab1f5f36c0b (patch) | |
| tree | 1c664033a71d9d5ee47866c0504631af23b80025 /docs | |
| parent | 64af21f930db48f4dfbe8c0d4c4cb0fabf839ca6 (diff) | |
try to get render right
Signed-off-by: HiFiPhile <[email protected]>
Diffstat (limited to 'docs')
| -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"): |
