#!/usr/bin/env python3 """ Fix links to standalone directories to include /legacy prefix """ import re from pathlib import Path POSTS_DIR = Path('/Users/ericwagoner/Sites/blog/content/posts') def fix_standalone_links(): """Fix links to standalone directories""" # Directories that were copied to /legacy standalone_dirs = ['curtain', 'farm', 'gobbler', 'house', 'images', 'railsday', 'birthday', 'party', 'revcemetery'] fixed_count = 0 total_fixes = 0 for post in POSTS_DIR.glob('*.md'): with open(post, 'r', encoding='utf-8') as f: content = f.read() original_content = content for dir_name in standalone_dirs: # Fix links like ](/curtain/) to ](/legacy/curtain/) pattern = f'](/{dir_name}/' replacement = f'](/legacy/{dir_name}/' if pattern in content: content = content.replace(pattern, replacement) print(f" Fixed: {pattern} -> {replacement} in {post.name}") total_fixes += 1 # Also fix links like href="/curtain/" pattern = f'href="/{dir_name}/' replacement = f'href="/legacy/{dir_name}/' if pattern in content: content = content.replace(pattern, replacement) print(f" Fixed: {pattern} -> {replacement} in {post.name}") total_fixes += 1 # And src="/images/ if dir_name == 'images': pattern = f'src="/{dir_name}/' replacement = f'src="/legacy/{dir_name}/' if pattern in content: content = content.replace(pattern, replacement) print(f" Fixed: {pattern} -> {replacement} in {post.name}") total_fixes += 1 if content != original_content: with open(post, 'w', encoding='utf-8') as f: f.write(content) fixed_count += 1 return fixed_count, total_fixes def main(): print("Fixing standalone directory links...") posts_fixed, links_fixed = fix_standalone_links() print(f"\n✅ Fixed {links_fixed} links in {posts_fixed} posts") if __name__ == "__main__": main()