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

# Templates and reusable pieces

> Three portable file types in Compose: course templates, design presets and shared blocks. What each carries, and when to use it.

Compose can save three things to portable files so you do not build them twice.

| File                | Extension     | Carries                                                                   |
| ------------------- | ------------- | ------------------------------------------------------------------------- |
| **Course template** | `.cetemplate` | A design **plus** blocks pinned to the top of a new course's first lesson |
| **Design preset**   | `.cetheme`    | The design only — colours, typefaces, shape                               |
| **Shared block**    | `.ceblock`    | One block, with its content                                               |

All three live next to your projects, in folders Compose creates for you:

```
~/Documents/Mauvely Compose/
├── Templates/     .cetemplate
├── Themes/        .cetheme
└── Blocks/        .ceblock
```

Any media referenced by a saved file travels **inside** it, so a template or preset you send to a
colleague works on their machine without a folder of loose images.

***

## Course templates

A course template is a brand plus a starting structure. Use one when every course your team
produces should open the same way — a welcome banner, a standard objectives block, house colours
already applied.

### Creating one

Set the course up the way you want new courses to start: apply the design, and put the blocks you
want carried forward at the top of the first lesson. Then **Course ▸ Save as template…**.

### Using one

* **From the welcome screen** — *From a template* starts a new course from it.
* **Course ▸ Apply template…** — applies a template's design to the course you already have open.

<Note>
  Applying a template to an existing course applies its **design**. It does not insert the pinned
  blocks into a course that is already under way.
</Note>

***

## Design presets

A `.cetheme` is the look and nothing else: accent, background, surface and text colours, the three
typefaces, corner rounding, content width and light/dark. Any background image is embedded, so the
file stands alone.

Manage them in the **Design** tab under *Your presets*:

| Action                  | Where                                              |
| ----------------------- | -------------------------------------------------- |
| Save the current design | **Save current…**                                  |
| Apply a saved one       | Click it                                           |
| Send one to a colleague | Right-click ▸ **Export / share…**                  |
| Bring one in            | **Import…**                                        |
| Remove one              | Right-click ▸ **Delete preset** — deletes the file |

Use a preset when you want to restyle a course that already exists; use a template when you want a
new course to start correct.

***

## Shared blocks

Any block can be written to a `.ceblock` file with **Edit ▸ Share block as file…**. Files in your
Blocks folder appear in the **Blocks** tab of the left panel alongside the built-in catalogue, and
insert like any other block.

This is most useful for **custom code blocks**, which carry their own HTML, CSS and JavaScript — a
shared `.ceblock` containing one is effectively a portable interaction, and the closest thing
Compose has to a plugin.

**File ▸ Import block…** brings in a `.ceblock` from anywhere on disk. An imported block is given
a fresh identity when inserted, so you can use the same one many times in a course without
conflict.

<Tip>
  Compose refuses to import a `.cetemplate`, `.cetheme` or `.ceblock` that is not really one, so
  pointing it at unrelated JSON produces a clear error rather than a broken course.
</Tip>
