# Ebook pages — OM1

Playbook for **ebook articles** (`ebooks` article type) — gated long-form downloads with a **topicless URL**.

## URL patterns

| Pattern | Examples |
|---------|----------|
| `/resources/ebooks/{slug}/` | `/resources/ebooks/{slug}/` — **no topic segment** |
| `/resources/ebooks/` | Article type landing |

OM1 sets `TOPICLESS_ARTICLE_TYPE_SLUGS` to include `ebooks`. Do **not** put a topic tag in the ebook URL even when tags are assigned for filtering.

Markdown fetch: `https://www.om1.com/resources/ebooks/{slug}.md`

## Typical content stack

| Region | Type | Role |
|--------|------|------|
| Template hero | **Article hero** or **Article listing hero** | Title, summary, download CTA |
| Body | **Article rich text** | Description / chapter overview |
| Optional | **Book chapter** components | Multi-section ebooks |
| Form / gate | **HubSpot form** or **Pardot** external | Lead capture before download |

## Required / common fields

| Field | Guidance |
|-------|----------|
| `articleType` | `ebooks` |
| `title` | Ebook title |
| `slug` | URL segment only — no topic prefix |
| `date` | Publication date |
| `description` | Meta description |
| `featuredImage` | Cover image / OG |
| `download` | PDF asset when direct download is used |
| `tags` | For listing filters — **does not appear in URL** |

## Workflow

1. Read `cms-edit://customer/articles` — confirm topicless routing for ebooks
2. `cms-edit index sync`
3. Create article with `articleTypeSlug: ebooks`
4. Set `slug` — verify preview URL is `/resources/ebooks/{slug}/` (not `/resources/ebooks/{topic}/{slug}/`)
5. Add body content and optional **Book chapter** sections
6. Wire form external or download asset
7. `preview urls` → `diff` → `save` → `task-publish-handoff`

## Reference

Clone structure from an existing ebook:

```bash
cms-edit list --type article --filter ebooks
cms-edit peek --article-slug <ebook-slug>
```

## Out of scope

- Standard topic-in-URL articles — use `resource-article-pages`
- **Books** (`books` article type) — different multi-chapter route; engineering-led

## Publish handoff

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