← All playbooks · Raw API
news-pages
# News — Headwater Science
Playbook for **news articles** (`resources/news`) — press releases, partnerships, conference news.
## URL patterns
```
/resources/news/{asset-type-tag}/{slug}/
```
Example: `/resources/news/press-release/headwater-science-names-susan-barnes-head-of-operations/`
Tag listings: `/resources/news/press-release/`, `/resources/news/conference-presentation/`, etc.
## Content stack
| Region | Type | Role |
|--------|------|------|
| Template | **News hero** (article-sourced) | From article fields + `resources/news` template |
| `content` | **Article rich text** only | No News Hero in content |
## Required fields
| Field | Guidance |
|-------|----------|
| `articleType` | `resources/news` |
| `primaryTag` / tags | `asset-type` — e.g. `press-release` |
| `title`, `slug`, `date` | Required |
| `subtitle` | Hero display line (press subheadline) |
| `description` | Meta — under ~160 characters |
| `visuals` | Hero + listing thumbnail (portrait composite via `news-images` playbook) |
| `featuredImage` | Landscape OG composite — defaults `7Gjr8l44cfJBVaVUqlNRkm` / `1AnckDjqLhoUCca15RKh52` are placeholders only |
| `cmsLabel` | `News — {Article title}` |
| `indexed` | `true`, `hidden: false` for public PRs |
## Conference news
Add conference/venue tags — shown above title on news hero (`news-hero-tags.ts` in site-common).
## Workflow
1. Read `cms-edit://customer/articles`
2. `cms-edit index sync`
3. `task-create-article` with `articleTypeSlug: resources/news`
4. Set all fields above; **Article rich text** only in `content`
5. `create from-json --dry-run --strict` before save
6. Preview: `/resources/news/press-release/<slug>`
7. `diff` → `save` → `task-publish-handoff`
Pre-save checklist: see `cms-edit://customer/articles` and `apps/headwater-website/docs/cms-guide.md`.
## Out of scope
- Publications — `publications-pages`
- Duplicating News Hero in `content`
## Publish handoff
`save` creates drafts only — publish in Contentful UI when ready.