#!/usr/bin/env python3 """ Generate `blog/manifest.json` from the text files present in the blog/ folder. Run this in the project root to refresh the manifest after adding/removing blog entries. """ import os import json BASEDIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) BLOGDIR = os.path.join(BASEDIR, 'blog') def main(): exts = ('.txt', '.text') files = [f for f in sorted(os.listdir(BLOGDIR)) if f.lower().endswith(exts)] out = os.path.join(BLOGDIR, 'manifest.json') with open(out, 'w', encoding='utf-8') as fh: json.dump(files, fh, indent=2) print(f'Wrote {len(files)} entries to {out}') if __name__ == '__main__': main()