Fix all Pelican build errors and implement proper testing workflow

- Setup virtual environment management in Makefile
- Fix broken linkpeek RST directives in 2011 posts
- Add missing image alt attributes for accessibility
- Fix RST syntax errors and title hierarchy
- Add markdown package for proper .md support
- Update CLAUDE.md with testing workflow and critical issues
- Rename code golf post to match slug
- Clean build: 182 articles, 4 pages, zero errors
This commit is contained in:
Russell Ballestrini 2025-10-10 13:35:36 -04:00
parent 0249875fca
commit 776a4a07f4
16 changed files with 81 additions and 119 deletions

View file

@ -1,5 +1,58 @@
# Claude Memory and Instructions
## RUSSELL BALLESTRINI - KNOW THE USER
Russell Ballestrini is:
- Experienced systems administrator and DevOps engineer
- Python developer and technical blogger
- Creator of webwords project (42 programming languages)
- Uses direct, no-nonsense communication style
- Expects technical precision and working code
- Does not tolerate broken implementations or untested commits
## CRITICAL PELICAN TESTING WORKFLOW
### BEFORE ANY COMMIT:
1. **ALWAYS test Pelican build**: `make clean && make html`
2. **Check for build errors**: Pelican will fail on RST syntax errors, missing files, etc.
3. **Verify output**: `make serve` and check localhost:8000
4. **NEVER commit without testing the build**
### PELICAN BUILD PROCESS:
- Uses Pelican static site generator (Python-based)
- Converts .rst/.md files to HTML
- RST syntax errors break the build
- Missing images/files break the build
- Invalid slugs/filenames cause issues
### PROPER DEVELOPMENT WORKFLOW:
```bash
# Setup virtual environment (once)
make venv
# Test changes before commit
make clean && make html && make serve
# Check localhost:8000 for issues
# Only commit if build succeeds
git add specific-files
git commit -m "message"
git push
```
## CRITICAL CONTENT DIRECTORY ISSUE
**PROBLEM**: Python virtual environments exist in `content/uploads/2024/battleship-solvers/env/` and `env2/`
- These contain thousands of Python package files (.md, .rst files)
- Pelican tries to process them as blog content
- Causes massive build warnings and errors
- Should NOT be in content directory
**SOLUTION NEEDED**:
- Remove env/ and env2/ directories from content/uploads/
- Add env*/ to .gitignore patterns
- Keep only actual blog assets in content/uploads/
## CRITICAL GIT SAFETY LESSON
### DEVASTATING MISTAKE COMMITTED: