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

28 lines
1 KiB
Python

import os
import glob
import re
import shutil
folders_to_copy = ["src", "scripts", "configs"]
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/, scripts/, or configs/
# Logic: Because the folders were moved one level deeper, we remove exactly ONE '../'
content = re.sub(
r"\]\(\.\./((?:\.\./)*)(src|scripts|configs)/([^)]*)\)", 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.")