Files
olehomelchenko.com/reorganize-urls.py

39 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Post-render script to reorganize HTML files into pretty URL structure.
Converts posts/post-name.html to posts/post-name/index.html for trailing slash support.
"""
import os
import shutil
from pathlib import Path
def reorganize_html_files(site_dir="_site"):
"""Reorganize HTML files into directory structure for pretty URLs."""
site_path = Path(site_dir)
# Directories to process (add more as needed)
directories_to_process = ["posts", "til", "portfolio", "projects"]
for directory in directories_to_process:
dir_path = site_path / directory
if not dir_path.exists():
continue
# Find all HTML files except index.html
for html_file in dir_path.glob("*.html"):
if html_file.name == "index.html":
continue
# Create directory with same name as file (without .html)
new_dir = dir_path / html_file.stem
new_dir.mkdir(exist_ok=True)
# Move file to directory as index.html
new_file = new_dir / "index.html"
shutil.move(str(html_file), str(new_file))
print(f"Moved {html_file} -> {new_file}")
if __name__ == "__main__":
reorganize_html_files()
print("URL reorganization complete!")