---
title: Add / Edit a Doc
slug: add-edit-doc
description: Create or edit documentation articles, write in Markdown, and publish them to your docs site.
productSlug: cedros
productLabel: Cedros
sectionKey: site
sectionLabel: Site
docType: panel
parentSlug: docs
---
# Add / Edit a Doc

This page covers how to write a new documentation article and how to edit an existing one. Both flows use the same editor, so once you know one, you know the other.

## Creating a new doc

Click **New Doc** in the top right of the [Docs](docs.md) section. There's no setup wizard — you go straight into the editor with a blank article and fill it in from there.

If an installed extension ships its own documentation, you may also see **Start Draft** cards above the list with ready-made article templates. Pick one to open a pre-filled draft you can edit.

## Editing a doc

Click the **Edit** (pencil) icon on any row in the Docs section. The article opens in the editor.

## What's in the editor

The doc editor is a tabbed workspace. Four tabs run across the top — **Author**, **SEO**, **Taxonomy**, and **History** — and the top-right header has **Save** and **Exit** buttons. Most of your time is spent on the **Author** tab.

### Author tab

This is the writing surface, laid out top to bottom:

- **Title** — The article headline. Type into the large field at the top (it shows **Untitled doc** until you do).
- **Excerpt** — A short summary just below the title ("Short summary that appears in previews and search"). It appears in previews and search results. Keep it to a sentence or two.
- **Slug** — The end of the address, shown with a **docs/** prefix. Lowercase letters, numbers, and dashes only. Visitors see the article at `/docs/your-slug`. Nested slugs like `pay/getting-started/install` are supported.
- **Article body** — The main writing area, in Markdown.

#### The Markdown toolbar

You don't need to know Markdown — the toolbar above the body handles the formatting:

- **Heading** dropdown — Paragraph, Heading 1, 2, 3, or 4. Use Heading 2 for main steps, Heading 3 for sub-steps.
- **Bold** / **Italic** — Style selected text.
- **Link** — Insert a hyperlink. Highlight text first, then enter the address.
- **Bulleted list** / **Numbered list** — Start a list at the cursor.
- **Quote** — Format a paragraph as a quote block.
- **Code** — Inline code or a multi-line code block. Handy for command examples.
- **Add Media** — Open a panel to insert images from your media library.
- **AI Edit** — Open the AI co-author to rewrite, expand, or tighten the selected text. Highlight a passage first to scope the edit.
- **Preview** — Toggle a rendered view of the formatted article (the button reads **Edit** while previewing, to switch back).

A live word count sits at the right edge of the toolbar.

### SEO tab

The **SEO** tab covers how the article appears in search results and social shares:

- **SEO Title** — How the title shows in Google results (defaults to the article title if blank).
- **SEO Description** — How the article is described in Google results (defaults to the excerpt).
- **OG Image** — The image shown when the article is shared on social platforms (for example, `https://cdn.cedros.io/og/install.png`).

There's no canonical-address field for docs — each doc is canonical at its own `/docs/` address.

### Taxonomy tab

The **Taxonomy** tab helps with search and badges:

- **Category** — A high-level grouping for the doc, typed in directly.
- **Tags** — Free-form, comma-separated keywords (for example, `payments, api, launch`). Tags help search, badges, and docs metadata.

### History tab

Every save creates a revision. The **History** tab lists them with a count badge, timestamps, change notes, and who saved each one. Use the **restore** action on a past revision to bring it back as the current draft if you need to roll back.

### Saving and publishing

There's no separate publishing tab — publishing happens through the header **Save** button:

- **Save** — For a new or draft doc, it opens a **"Save this doc?"** prompt: choose **Save as draft** to keep it private, or **Publish** to put it live now. For a doc that's already live, **Save** updates the published article right away.
- **Exit** — Leaves the editor. If you have unsaved changes, a **"Save changes before exiting?"** prompt lets you **Keep editing**, **Exit without saving**, or **Save and exit**.

### Where a doc sits on your help site

The public docs site builds its sidebar from each doc's **product** and **section**. New docs created in the editor start in the default section ("Getting Started"). To place a doc under a specific product or section, set those fields in the file's front matter and bring it in with **Upload docs** from the [Docs](docs.md) section — the editor itself doesn't expose product and section fields. The front matter fields are `productSlug` / `productLabel`, `sectionKey` / `sectionLabel`, and (optionally) `order` for placement within a section and `readingMinutes` for the estimated reading time.

## Common things you can do here

### Write and publish a doc

1. Click **New Doc** in the Docs section.
2. Type a **Title** and an **Excerpt**.
3. Write the body using the toolbar (or paste in your Markdown).
4. Click **Save**, then **Publish** in the prompt.

### Save a draft to finish later

1. Write what you have so far.
2. Click **Save**, then **Save as draft**. The article stays private until you publish it.

### Place a doc in a specific sidebar section

New docs land in the default section. To control where a doc appears, set `productSlug`/`sectionKey` (and `order`) in its front matter and import it with **Upload docs** from the [Docs](docs.md) section.

### Roll back to an earlier version

1. Open the doc in the editor and go to the **History** tab.
2. Find the version you want and use its **restore** action to make it the current draft.
3. Click **Save**, then **Publish** to put it live.

### Insert an image mid-article

1. Place your cursor where you want the image.
2. Click **Add Media** in the Markdown toolbar.
3. Upload a new image or pick one from the library — it inserts at your cursor.

## Tips

- **Drafts autosave** to a recovery slot so you don't lose work if your browser crashes. When you reopen the doc, you'll see a prompt to restore unsaved changes.
- **The excerpt matters.** It's what shows up in previews and search results — make it a clear one-liner about what the reader will accomplish.
- **Use Heading 2 and Heading 3 for structure**, not bold text. Step-by-step docs read best with a heading for each step.
- **AI Edit is built in.** Highlight a rough passage and use **AI Edit** to tighten it or fill gaps.
- **Product and section come from the upload front matter, not the editor.** To organize the sidebar precisely, set them in the file and bring it in with **Upload docs**.
- **Markdown syntax cheats:** `**bold**`, `*italic*`, `[link text](https://example.com)`, `## Heading`, `- bullet`, `> quote`, `` `code` ``. The toolbar handles all of these, but you can type them directly if you prefer.

## Troubleshooting

- **Save is disabled?** You likely don't have edit permission — a disabled **Save** shows the note "Requires data:pages:write." Ask an admin for access.
- **Fields are locked / Delete is greyed out?** That lock applies to extension-owned *pages*, not docs. A doc started by an extension is an ordinary draft you own and can edit freely.
- **Doc isn't in the sidebar where you expect?** Its product and section come from the front matter at upload (or the defaults). Re-import it with the right front matter using **Upload docs**.
- **Slug shows a conflict error?** Another doc is already using that address. Change the slug, or first delete or archive the conflicting doc.
- **Lost your changes?** Look for the recovery prompt when you reopen the doc, or check the **History** tab for the most recent saved version.
- **No way to schedule a doc?** Docs publish straight from the **Save** button (save as draft or publish now). Scheduled publishing isn't offered for docs the way it is for pages.

See also: [Docs](docs.md) for the library view, and [Doc Analytics](doc-analytics.md) for traffic, heatmaps, and breakdowns once a doc is live.
