← All playbooks · Raw API
ebook-pages
# 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.