Rename default template, restyle campaign email to the Fantasy Michigan palette, write a short domain-specific README.
This commit is contained in:
@@ -1,30 +1,23 @@
|
||||
# campaigns-template
|
||||
# cateconners-campaigns
|
||||
|
||||
Gitea template repo for standing up a new domain/client's campaign content repo. Generate a new repo from this one (Gitea → this repo → "Generate Repo," or `POST /api/v1/repos/generate/will/campaigns-template`) rather than cloning it — generating starts the new repo with a clean history of its own.
|
||||
cateconners.com's campaign content, synced to listmonk by [`eec-campaigns`](https://gitea.reground.org/will/eec-campaigns). This repo holds only campaign content and this domain's listmonk secrets — the tool itself is installed at a pinned version in CI.
|
||||
|
||||
Full reference for everything below lives in the [`eec-campaigns` README](https://gitea.reground.org/will/eec-campaigns).
|
||||
## To send a campaign
|
||||
|
||||
## After generating a new repo from this template
|
||||
1. Write `campaigns/<slug>/campaign.md` (frontmatter + Markdown body — see the [eec-campaigns README](https://gitea.reground.org/will/eec-campaigns#campaignmd) for the full field reference). Set `from` explicitly to `Cate Conners <hello@cateconners.com>` — Mailcow's Sender ACL only allows that exact address for this domain.
|
||||
2. `git push` to `master` — CI syncs it into listmonk as a **draft** and emails a preview to `CAMPAIGNS_PREVIEW_EMAIL` (or the campaign's own `preview_emails`).
|
||||
3. Check the preview inbox. Keep pushing edits until it looks right — each push re-syncs and re-previews.
|
||||
4. When ready to actually send: `git tag send/<slug> && git push origin send/<slug>`. This is the one action that transitions the campaign from draft to running — a plain `git push` to master can never do it.
|
||||
|
||||
1. **Rename the template.** In `.gitea/workflows/sync-template.yml`, replace `TEMPLATE default` with a name specific to this domain (e.g. `<client> default`).
|
||||
2. **Restyle `email-templates/campaign.html`** if this client wants different branding than the stock listmonk template it starts as.
|
||||
3. **Add repo secrets** (Gitea Actions → Secrets): `CAMPAIGNS_LISTMONK_BASE_URL`, `CAMPAIGNS_LISTMONK_API_USER`, `CAMPAIGNS_LISTMONK_API_TOKEN`, and optionally `CAMPAIGNS_PREVIEW_EMAIL` — scoped to this domain's own listmonk instance and its own dedicated API user (see `reground-infrastructure`'s `campaigns` Ansible role for provisioning that user).
|
||||
4. **Check the tool version pin** in all four `.gitea/workflows/*.yml` files (currently `v0.1.0`) — bump it only deliberately, after confirming a newer `eec-campaigns` release works.
|
||||
5. Run the `Sync default campaign template` workflow once.
|
||||
6. Replace this README with a short one for this domain (see `reground-campaigns`'s README for the pattern: a numbered "to send a campaign" list for whoever operates this repo day-to-day).
|
||||
7. Give the client push/PR access to *this repo only* — that's the entire isolation boundary. They never need access to `eec-campaigns`, `campaigns-template`, or any other domain's repo.
|
||||
Alternatively, run the `Send campaign` workflow manually from Gitea Actions with the slug as input — same effect as the tag push.
|
||||
|
||||
## Layout
|
||||
## Other workflows
|
||||
|
||||
```
|
||||
campaigns/
|
||||
<slug>/
|
||||
campaign.md
|
||||
email-templates/
|
||||
campaign.html
|
||||
.gitea/workflows/
|
||||
sync.yml # push to master -> draft + preview
|
||||
send.yml # tag push send/<slug>, or manual dispatch -> real send
|
||||
test.yml # manual dispatch -> re-preview without touching status
|
||||
sync-template.yml # manual dispatch -> push email template as listmonk default
|
||||
```
|
||||
- **`Test-send campaign`** (manual) — re-preview a campaign's current content to any address, without touching its status.
|
||||
- **`Sync default campaign template`** (manual) — pushes `email-templates/campaign.html` into listmonk as the default campaign template. Run once after setup, and again whenever that file changes.
|
||||
|
||||
## Setup (one-time)
|
||||
|
||||
Repo secrets (Gitea Actions → Secrets): `CAMPAIGNS_LISTMONK_BASE_URL`, `CAMPAIGNS_LISTMONK_API_USER`, `CAMPAIGNS_LISTMONK_API_TOKEN`, `CAMPAIGNS_PREVIEW_EMAIL`.
|
||||
|
||||
The workflows in `.gitea/workflows/` pin a specific `eec-campaigns` version (currently `v0.1.0`). Bump that pin deliberately when a new tool version is ready, not automatically.
|
||||
|
||||
Reference in New Issue
Block a user