> ## Documentation Index
> Fetch the complete documentation index at: https://docs.avocadostudio.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Pages and drafts

> Where your unpublished work lives, why the live site looks unchanged until you publish, and how to move between pages and languages.

Everything you change in the editor goes into a **draft**. The live site keeps
serving what it served before until you publish. That is the whole model, and
almost every confusing moment in the editor comes from forgetting it.

## Your draft is not the live site

```mermaid theme={null}
flowchart LR
    You["You, in the editor"] -->|"every edit"| Draft["<b>Draft</b><br/>held for your site"]
    Draft -->|"Publish, explicitly"| Live["<b>Live site</b><br/>what visitors see"]
    Source["Your CMS or content files"] -->|"Pull from site / Pull this page"| Draft
```

Two consequences worth internalising:

* **Opening the site in a normal browser tab shows the published page**, not
  your edits. That is not a bug and it is not a caching problem. It is how you
  check whether publishing actually did anything.
* **Your draft survives a reload, and a restart.** It is held on the server, not
  in your browser tab. Closing the laptop does not lose the afternoon.

## Switching pages

The **Page** control in the top bar lists every page your site declares. Pick one
and the preview loads it; your chat history stays with you, but the draft you
are editing is now that page's.

Each page keeps its own undo stack, so undoing on `/pricing` never disturbs
`/about`.

A page marked **out of date** in that list has a draft that uses blocks the site
no longer renders — usually because a developer changed the site's blocks after
you started editing. The Chat panel says which blocks, with a **Pull this page**
button; see [pulling one page](#pulling-one-page) below.

## Content shared across pages

Some blocks are one piece of content on every page that shows them — a footer,
say, if your developers set it up that way. Edit it on any page and every page's
draft changes with it; undo on that page reverts all of them. The publish review
lists such a block once, under **Site-wide content**, with the pages it affects.

## Creating a page

Ask for it: *"Create an /about page"*. If the site defines **page templates** —
named structures like *Campaign landing page*, set up in Site settings — you can
name one, and the new page arrives with those sections already in place:

> *"Create a /spring-sale page from the Campaign landing page template"*

Deleting a page is treated as destructive: the editor stops and asks before it
does it, rather than doing it and offering an undo.

## Languages

On a multilingual site the top bar carries a **Language** control alongside the
page picker. Each language version of a page is edited as its own page — you
switch to German, you edit German. Two entries in that list are not languages:

* **Default** — the site's base language.
* **Not language-specific** — pages that exist once, in no particular language.

Asking the chat to *"translate this page into German"* fills the German version
from the one you are on. If your site lists the languages it supports and German
is not one of them, the chat asks before it creates a page in a language the
site does not have. It is also the single most expensive thing you can ask
for, because it rewrites every text-bearing block on the page — see
[what things cost](/editing/prompts#what-things-cost).

More on how this is wired: [multilingual](/integration/multilingual) and
[i18n](/i18n).

## Pulling from the site

When the editor opens a site, it reads the site's current content and refreshes
any page you have not changed since you last published. A page with unpublished
edits keeps your draft.

Two commands in the site menu (click the site name in the top bar) go further.

**Pull from site** replaces the draft of *every* page with what your CMS or
content files hold now — including pages you have edited and not published. You
want it when someone changed the content somewhere other than Avocado — a
developer edited a JSON file, a colleague published from your CMS — and the
editor is still showing what it read earlier. It reports what it did (*"Pulled 9
pages from site"*), and it tells you plainly when there is nothing to read or
the site is unreachable. Pages that exist only in your draft are left alone. On
a page with undo history, one **Undo** steps back over the pull.

### Pulling one page

**Pull this page** does the same for the page you are on, and nothing else. It
shows what would change before it does anything:

* **Only in your draft — will be removed**
* **From the site — will be added**
* **Will change (your draft → the site)**, field by field

It warns you when *this page has edits that were never published*, and says so
when the draft already matches the site. Press **Pull this page** to confirm.
Undo gives the previous draft back.

## Sessions and site settings

A **site** in Avocado is a set of pages plus the settings that describe them —
name, logo, hosting target, media source, and the
[editorial brief](/editing/brief). **Site settings**, in the site menu, opens
them. **View all sites** takes you to the **Sites** page, where each site's card
shows whether it is currently reachable and whether its editing surface is fully
working (**Editing ready**) or degraded (**Limited editing**). The gear button on
a card opens that site's settings.

**Limited editing** means the site is not describing its blocks to the editor
properly. Nothing you do will fix it from this screen; it goes to whoever
maintains the integration, with [coverage checks](/integration/coverage).

## What to read next

<CardGroup cols={2}>
  <Card title="Review, undo and versions" icon="clock-rotate-left" href="/editing/review-and-undo">
    Undo one change, revert to a moment, or remove a single change from last week.
  </Card>

  <Card title="Publishing" icon="rocket" href="/editing/publish">
    Choosing what goes live, and confirming it did.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.