# Articles — BrightLife Kids


## Source packages (briefs, Drive, assets)

Before creating from an external brief or asset pack:

1. Follow **`task-source-readiness-review`** (inventory → beat sheet → GO / GO-WITH-GAPS / NO-GO → light human yes).
2. Map structure **faithfully** to this site's components — **do not rewrite source copy**.
3. Do not invent pair layouts or section titles absent from the source.
4. Prefer source order; use labeled placeholders when the verdict is GO-WITH-GAPS.

Playbook for **blog articles** at `/blog/{slug}/` (and Spanish `/es-US/blog/{slug}/`).

## Routing

| Concept | Value |
|---------|-------|
| Public path | `/blog/{slug}/` |
| Article type slug | `blog` |
| Tags in URL | **No** (`enablePrimaryTagPartOfSlug=false`) |
| Topics index | **Off** (`enableTag=false`) |
| People / authors | **Off** (`enablePerson=false`) |

Read `cms-edit://customer/routing` for live constants.

## Article entry fields

| Field | Notes |
|-------|-------|
| `slug` | URL segment under `/blog/` |
| `title` | H1 / page title |
| `description` | Meta description |
| `date` | Publication date (sort key for listings) |
| `articleType` | Link to **`blog`** article type |
| `featuredImage` | OG / social — see `cms-edit://customer/defaults` |
| `visuals` | Article hero visual when template expects it |
| `content` | Stack of components (see below) |

## Common article components

| Type | Role |
|------|------|
| **Blog content** | Main article body RTF (`body` field) |
| **Hero** or **Home page hero** | Optional lead when template uses page hero |
| **Quote** | Pull quotes |
| **CTA** / **CtaCard** | End-of-article conversion |

See `cms-edit://customer/components-index` for field-level detail.

## Listing and discovery

```bash
cms-edit list --type article --sort date -n 20
cms-edit open --article-slug california-meets-the-twin-problems-of-mental-health-care-with-a-triplicate
cms-edit read @root
```

Articles sort by `date`, not `sys.updatedAt`.

## Creating articles

Use `cms-edit://customer/task-create-article` or:

1. Resolve `blog` article type ID: `cms-edit list --type articleType`
2. Create article with correct `articleType` link
3. Add **Blog content** to `content` stack
4. Set `featuredImage` per defaults decision tree
5. `create from-json --dry-run --strict` for full payloads
6. `diff` → `save`

## Reference articles

| Slug | Notes |
|------|-------|
| `california-meets-the-twin-problems-of-mental-health-care-with-a-triplicate` | Long-form news style |
| `peer-communities-for-caregivers` | Program explainer |
| `brightlife-kids-year-one` | Milestone / anniversary |

Fetch markdown: `https://www.brightlife.kids/blog/{slug}.md`

## Spanish articles

Mirror structure at `/es-US/blog/{slug}/`. Translate title, description, and **Blog content** body. Keep shared assets (images) when culturally appropriate.

## Brightline vs BLK

BLK has **no blog tag matrix** — tags are not used for URL or filter chips. Do not apply Brightline `blog-tag-matrix` workflows on this space.

## Featured images

Read `cms-edit://customer/defaults` — site default asset ID is configured in `project.json` (`1HvemTB68IMoXBPmetmA8P`).

## Publish handoff

`save` = draft only. Publish in Contentful UI when approved.