35 lines
1.1 KiB
Python
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.")
|
|
|