1
Fork 0
This repository has been archived on 2026-08-15. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
2026SEL3-project-Brittle_St.../.github/scripts/prepare_docs.py

35 lines
1.1 KiB
Python

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.")