← All playbooks · Raw API

resources-hub-pages

# Resources hub & listing pages — Headwater Science

Playbook for **resource indexes and tag listing pages** — not article detail pages.

## URL patterns

| Public path | Driven by |
|-------------|-----------|
| `/resources/news/` | `articleType` `resources/news` |
| `/resources/publications/` | `articleType` `resources/publications` |
| `/resources/news/{tag}/` | Tag + article type |
| `/resources/publications/{tag}/` | Tag + article type |
| `/categories/` | `customType` `categories` |
| `/categories/{tag}/` | Tag entry |

Article details: `/resources/{type}/{primaryTopic}/{slug}/` — use `news-pages` or `publications-pages`.

## How listing pages work

Listing URLs are **taxonomy-generated** — do not create standalone **page** entries for `/resources/news/press-release/` etc.

| Target | What to edit |
|--------|--------------|
| **Article type** | `indexPageTopContent` — news hero collection or tag listing hero |
| **Tag** | `title`, `description`, optional hero overrides |
| **customType** `categories` | Category directory + listing collections on `/categories/` |
| **Articles** | Tags control listing membership |

```bash
cms-edit list --type articleType
cms-edit list --type tag
cms-edit index sync
```

## Index components

### News hub

- **News hero articles** on `resources/news` `indexPageTopContent`
- Listing grids auto-hydrate from tagged articles

### Publications hub

- **Tag listing hero** on `resources/publications` `indexPageTopContent`
- **Publications list** collection for filterable grid

### Categories hub

- **Category directory** + publications/news listing blocks on `customType` `categories`

## Workflow

1. Read `cms-edit://customer/articles`
2. Identify hub (articleType/customType) vs tag entry
3. Edit `indexPageTopContent` / hero components — retag articles to change listings
4. `preview urls` on listing path
5. `diff` → `save` → `task-publish-handoff`

## Out of scope

- Creating page entries for listing URLs
- Article body edits — use article playbooks

## Publish handoff

`save` creates drafts only — publish in Contentful UI when ready.