28 lines
1 KiB
Python
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.")
|