docs: fix non docs/ links
This commit is contained in:
parent
cd411494d1
commit
e4869e0061
4 changed files with 40 additions and 2 deletions
35
.github/scripts/prepare_docs.py
vendored
Normal file
35
.github/scripts/prepare_docs.py
vendored
Normal 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.")
|
||||
|
||||
Reference in a new issue