Create branded diagrams for CTO Field Notes blog posts using a fixed HTML/SVG template with swappable content.
Base template: wiki/produce/hermes/blogs/drafts/templates/ctofn-diagram-base.html
These stay identical across all CTOFN diagrams:
ctofieldnotes.com (bottom right, blue)Replace {{TITLE}} with the post title.
Replace {{CONTENT}} with your diagram SVG. Content area: x=80 to x=1180, y=100 to y=580.
Replace {{QUOTE}} with the post's key quote. Format: Quote text — Author Name
| Token | Hex | Usage |
|---|---|---|
| Ink | #1a1a2e |
Node outlines, labels, header text |
| Blue | #2563eb |
Accent: arrows, tagline, quote marks, URL |
| Muted | #555 |
Subtitles, descriptions |
| Gray | #888 |
Secondary text |
Four circles in diamond pattern with curved arrows. Use for reinforcing loops.
Two side-by-side boxes with labels. Use for trade-offs, before/after, pros/cons.
Sequential steps with arrows. Use for step-by-step frameworks.
Three stacked shapes, widest at bottom. Use for hierarchies, priorities.
1. Read the base template: templates/ctofn-diagram-base.html
2. Copy to wiki/produce/hermes/blogs/drafts/{post-slug}/diagram-{name}.html
3. Replace {{TITLE}}, {{QUOTE}}, and {{CONTENT}}
4. Render in browser, screenshot for verification
5. Export to PNG via Playwright: python tools/export_png.py diagram.html diagram.png 2
See wiki/produce/hermes/blogs/drafts/engineer-your-luck/notebook-luck-flywheel.html for a complete working example (flywheel type).
1. Filter on arrows: Always put filter="url(#pencil)" on the arrow group, not individual arrows
2. Text centering: Use text-anchor="middle" and position text at the circle's center x,y
3. Font loading: Google Fonts load asynchronously — screenshot may show fallback fonts on first render
4. SVG viewBox: Fixed at 1200x675. Content must fit within x=80 to x=1180, y=100 to y=580