Blog Revival - Setup Complete! π
last updated: 2026-03-09
Blog Revival - Setup Complete! π
Your blog has been restructured with three main sections: Blog, Utils, and Free Game.
What Was Created
Directory Structure
βββ _posts/ # Jekyll blog posts
βββ about.md # Updated about page
βββ utils/ # Browser-based tools
β βββ index.html # Auto-generated index
β βββ json-formatter.html
β βββ base64-converter.html
β βββ uuid-generator.html
β βββ python-playground.html # WASM-based Python runner
βββ free-game/ # Code snippets by topic
β βββ index.html # Auto-generated index
β βββ javascript/
β βββ python/
β βββ web/
β βββ wasm/
β βββ cli/
βββ build_utils_index.py # Index generator for utils
βββ build_freegame_index.py # Index generator for free-game
βββ rebuild_indices.sh # Rebuild both indices
Created Tools
Utils (4 tools):
- JSON Formatter - Format, validate, and minify JSON
- Base64 Converter - Encode/decode with file support
- UUID Generator - Generate UUIDs with batch support
- Python Playground - Run Python in browser via WASM (with NumPy!)
Free Game Snippets (6 snippets across 5 topics):
- JavaScript: copy-to-clipboard, localStorage helpers
- Web: single-file HTML template
- Python: Pyodide WASM setup
- WASM: SQLite in browser
- CLI: Git aliases
Next Steps
1. Test Locally
# Install Jekyll dependencies (if needed)
bundle install
# Build the indices
./rebuild_indices.sh
# Serve the site
bundle exec jekyll serve
# Visit http://localhost:4000
2. Add Content
New util:
# 1. Create HTML file
touch utils/my-tool.html
# 2. Use the template from free-game/web/single-file-html-template.md
# 3. Rebuild index
python3 build_utils_index.py
New free-game snippet:
# 1. Create markdown file in appropriate topic
touch free-game/javascript/new-snippet.md
# 2. Write your snippet with H1 title
# 3. Rebuild index
python3 build_freegame_index.py
3. Deploy
# Commit and push to deploy via GitHub Pages
git add .
git commit -m "Revived blog with utils and free-game sections"
git push origin master
Key Features
Utils
- β Single-file HTML (no build step)
- β Tailwind CSS via CDN
- β Copy-to-clipboard functionality
- β localStorage for persistence
- β WASM support (Python, SQLite)
- β Auto-generated searchable index
Free Game
- β Markdown-based snippets
- β Organized by topic
- β LLM-prompt friendly
- β Auto-generated browsable index
- β Search functionality
Navigation
- β Updated Jekyll config with custom navigation
- β About page updated
- β All sections linked in header
Design Philosophy
Inspired by Simon Willisonβs approach:
- No build steps - Everything runs in the browser
- No frameworks - No React, just vanilla JS
- CDN dependencies - No npm, no bundlers
- Client-side only - No servers, no tracking
- localStorage - Keep API keys and data local
- Copy-paste friendly - Easy to use and share
Maintenance
Rebuild Indices
After adding new utils or snippets:
./rebuild_indices.sh
Git Workflow
# Regular commits
git add .
git commit -m "Added new tool/snippet"
git push
# The indices are committed to git, so they deploy with your site
Useful Commands
# Serve locally
bundle exec jekyll serve
# Rebuild just utils index
python3 build_utils_index.py
# Rebuild just free-game index
python3 build_freegame_index.py
# Rebuild both
./rebuild_indices.sh
# Check what's in each section
ls utils/*.html
ls free-game/*/*.md
Whatβs Next?
Ideas for expansion:
- Add more utils (color picker, regex tester, markdown preview, etc.)
- Add more free-game topics (databases, APIs, DevOps, etc.)
- Add search across all sections
- Add RSS feed for free-game snippets
- Add βcopy codeβ buttons in free-game snippets
- Create GitHub Action to auto-rebuild indices on push
Happy coding! π