Small static blog generator
Find a file
James Grogan 437a2b0dfc
All checks were successful
/ test (push) Successful in 1m17s
SEO fixes: title dedup, canonical, heading demotion, JSON-LD author, OG article tags
- Deduplicate <title> when page title equals site name
- Canonical for home page uses / not /index.html
- Demote body headings (h1→h2 etc.) on post/article pages to avoid
  multiple h1s clashing with the template-injected title heading
- Add h1 from title on auto_index pages (blog/articles index had none)
- Add author to BlogPosting/Article JSON-LD structured data
- Add article:published_time OG meta tag on posts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 07:00:00 +01:00
.forgejo/workflows CI: skip patch tag if it already exists to handle concurrent runs 2026-06-07 17:38:02 +01:00
src/dialann SEO fixes: title dedup, canonical, heading demotion, JSON-LD author, OG article tags 2026-06-10 07:00:00 +01:00
test Add tag system, article auto-index mode, richer post listings 2026-06-07 17:32:59 +01:00
.gitignore Small gitignore change 2024-08-26 17:26:45 +01:00
CLAUDE.md Add CLAUDE.md and expand README 2026-06-07 21:51:40 +01:00
LICENSE Initial commit 2024-05-12 10:46:32 +00:00
pyproject.toml Add Pydantic CV model, YAML renderer, and JSON-LD export 2026-06-07 17:36:47 +01:00
README.md Add CLAUDE.md and expand README 2026-06-07 21:51:40 +01:00

dialann

Static site generator for jmsgrogan.com.

Install

python -m venv .venv && source .venv/bin/activate
pip install .

Usage

Run from the site's src/ directory:

dialann --build_dir /path/to/output

Development

pip install -e ".[dev]"
tox -e py

Versioning

Versions are tagged automatically by CI on merge to main (patch bump). For minor or major bumps, trigger workflow_dispatch in Forgejo with bump=minor or bump=major.