Files
will 197e36bb6b
Sync courses / sync (push) Successful in 5s
Note that the thistleandmoth-list Listmonk list now exists
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 13:28:28 -04:00

52 lines
2.2 KiB
Markdown

# thistleandmoth-eec-courses
Course content for [eec](https://gitea.reground.org/will/eec), the self-paced
email course engine — this instance served at eec.thistleandmoth.org. Push to
`master` and CI syncs `courses/` straight to production — there's no staging
step, so treat a push here the same as a push to `eec` itself.
Full reference for course/step file format, `course.yml` fields, the
readiness step, drip-triggered courses, and sync guardrails lives in the
[`eec-courses`](https://gitea.reground.org/will/eec-courses) README — the
format is identical, only the target instance differs.
## Layout
```
courses/
reader-magnet/
course.yml
day-0.md
day-1.md
```
`reader-magnet` is the funnel for thistleandmoth.org's `/gift` page (see the
`thistleandmoth-site` repo). Same shape as michaelferrara.org's: landing page
signup → subscriber added to the thistleandmoth.org Listmonk list immediately
(`signup_list_name` in `course.yml`, no click required) → the reader-magnet
file email goes out (`{{.CTALink}}` in `day-0.md` is a direct download link,
not a webpage) → a day-1 follow-up email 24h later with no list/conversion
mechanics of its own.
## Stub — one thing needs to happen before this goes live
`course.yml` is `active: false`. All the content below is a placeholder
(TODO subject lines, TODO body copy, and a `redirect_url` pointing at a file
that doesn't exist yet in the `thistleandmoth-downloads` bucket — see
`thistleandmoth-site`'s `/gift` page, which is the same kind of stub).
Replace the TODOs with real copy once the reader-magnet file and cover art
are ready, then flip `active: true`.
`signup_list_name: "thistleandmoth-list"` already exists in Listmonk
(`public`/single opt-in, matching `michaelferrara-list`/`Two Squirrels
Press`'s convention) — no action needed there.
## Deploying
Push to `master``.gitea/workflows/sync.yml` tars up `courses/` and
`POST`s it to this domain's `eec-thistleandmoth` container over the internal
Docker network, authenticated with `THISTLEANDMOTH_EEC_SYNC_TOKEN` (a Gitea
Actions secret shared with the `eec-thistleandmoth` Ansible role's copy). No
separate deploy step, no staging — a push here goes live immediately (once
`active: true` and the Listmonk list exist).