Something Else

cms-edit · OM1

← All playbooks · Raw API

routing

# Routing

URL and content routing rules for this site.

## Homepage

- **CMS slug (Contentful):** `index`
- **Open in cms-edit:** `--page-slug /` or `--page-slug /index`
- **Public URL:** `/` on the live site
- **Sitemap displays:** `/index` (formatting only — same page as `/`)

## Article paths

- **Articles slug segment:** `resources`
- **Articles base path:** `/${ARTICLES_SLUG}`
- **Primary tag in URL:** yes
- **Article type index enabled:** true

## Tags and people

- **Tags base:** `/${TAGS_SLUG}`
- **People base:** `/${PEOPLE_SLUG}`
- **Default topic (untagged articles):** `other`

## Feature flags

- **enableTag:** true
- **enableTagsIndex:** true
- **enablePerson:** true
- **enableArticleTypeTagIndex:** true
- **articlesBaseIsPage:** false

## Public markdown URLs

Append `.md` to the **public HTML path**.

- **Pages:** `/{path}.md` (homepage `/index.md`)
- **Articles:** `/resources/{type}/{topic}/{slug}.md`
- **Ebooks:** `/resources/ebooks/{slug}.md` — no topic segment (`TOPICLESS_ARTICLE_TYPE_SLUGS`)
- **Ebook hub:** `/resources/ebooks.md`
- **Topics:** `/topics/{slug}.md`
- **Team:** `/team/{slug}.md`

Some older ebook landing pages are ordinary pages (e.g. `/ebook-hiding-in-plain-sight-volume-1.md`), not `/resources/ebooks/…`.

## CMS types vs CTA labels

**Get a demo** and **Talk to us** are button/link labels, not `collectionType` / `componentType` values. Showcase `?type=Get+a+demo` falls through to **Generic** (excluded). Use **CTA: Large**, **CTA: Small**, or a module that already has those links.