1
Fork 0

docs: fix non docs/ links

This commit is contained in:
Tibo De Peuter 2026-05-19 22:58:01 +02:00
parent cd411494d1
commit e4869e0061
4 changed files with 40 additions and 2 deletions

35
.github/scripts/prepare_docs.py vendored Normal file
View file

@ -0,0 +1,35 @@
import os
import glob
import re
import shutil
folders_to_copy = ['src', 'scripts']
for folder in folders_to_copy:
if os.path.exists(folder):
shutil.copytree(folder, f'docs/{folder}', dirs_exist_ok=True)
for filepath in glob.glob('docs/**/*.md', recursive=True):
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
# RULE A: Fix links pointing OUT to src/ or scripts/
# Logic: Because the folders were moved one level deeper, we remove exactly ONE '../'
content = re.sub(
r'\]\(\.\./((?:\.\./)*)(src|scripts)/([^)]*)\)',
r'](\1\2/\3)',
content
)
# RULE B: Fix links pointing FROM the copied files back TO the original docs/ folder
# Logic: Since these files are now inside docs/, the 'docs/' segment in the path is redundant.
content = re.sub(
r'\]\(((?:\.\./)+)docs/([^)]*)\)',
r'](\1\2)',
content
)
with open(filepath, 'w', encoding='utf-8') as f:
f.write(content)
print("Successfully imported external files and adjusted markdown links.")