Sent/running campaigns are now skipped (not rejected) during sync, so a
finished campaign like 2026-07-23-iron-rose-proof-approved no longer has
to be deleted just to keep sync green.
Fixes a spurious "changed" flag on any campaign without an explicit
template_id, which was re-syncing and re-previewing campaigns like
welcome/campaign.md on every unrelated push.
Pointed at a "Newsletter" list that doesn't exist in listmonk; the
real list name for this site is set by reground-infrastructure's
listmonk_client_lists (see listmonk-tools/sites.conf).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
v0.1.4 fixes several bugs found while testing on twosquirrelspress-campaigns:
- test-send failed validation on empty name/messenger fields (v0.1.1, v0.1.2)
- campaigns went out HTML-only; listmonk never derives a plaintext
alternative on its own, so altbody is now sent explicitly (v0.1.3)
- change-detection now tracks altbody so campaigns synced before this
fix actually pick it up on their next sync (v0.1.4)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
campaigns/welcome/ is a sample campaign showing the campaign.md format in
practice. Restyled email-templates/campaign.html to thistleandmoth.org's
actual brand colors and fonts (EB Garamond/Source Serif 4), no images, with
web-safe fallbacks for clients that can't load webfonts.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>