Editing Pages
Opening a File
Click any .md file in the Pages tab to open it in the editor. The file loads with its full content. Switching to another page keeps your changes to the one you leave: they wait to be saved together with the others (see Saving).
The Toolbar
The toolbar above the editor provides formatting shortcuts. Ctrl stands for Cmd on a Mac.
| Action | Shortcut |
|---|---|
| Heading 1–3 | Ctrl+Alt+1 … Ctrl+Alt+3 |
| Bold | Ctrl+B |
| Italic | Ctrl+I |
| Strikethrough | Ctrl+Shift+X |
| Inline code | Ctrl+E |
| Bullet list / ordered list | Ctrl+Shift+8 / Ctrl+Shift+7 |
| Block quote | Ctrl+Shift+B |
| Code block | Ctrl+Alt+C |
| Link | Ctrl+K |
| Image | Ctrl+Alt+I |
| Container | Ctrl+Shift+C |
| Undo / Redo | Ctrl+Z / Ctrl+Shift+Z |
A horizontal rule is inserted with its toolbar button. Buttons acting where the cursor is stay unavailable until the cursor is placed in the text. Containers are described in Containers.
Links
Select the text the link should carry, then click the link button (Ctrl+K). The button stays unavailable while nothing is selected: a link without a label is invisible on the published page and cannot be typed into afterwards. To change or remove an existing link, place the cursor inside it and open the same dialog.
The dialog offers the pages of the site for selection, and accepts any other address as free text. Cancelling it leaves both the text and the selection untouched.
A bare address written into the text — www.example.com, https://example.com or mail@example.com — stays text. Only a link written as [label](url) or <https://example.com> becomes one, in the editor as well as on the published site.
Images
The image button (Ctrl+Alt+I) inserts an image from the media folder, or changes the one the cursor is on. Besides the image, the dialog asks for two texts:
| Field | What it is for |
|---|---|
| Alt text | What the image shows, read out to those who cannot see it. Leave it empty only for an image that is decoration. |
| Caption | Shown below the image on the published page, for everyone. Optional. |
The caption appears below an image that stands in a paragraph of its own. An image amid text has no room for one below it, so its caption is shown when the pointer rests on it.
Page Metadata
Click the sliders button at the right end of the toolbar to open the page's metadata. Each field is written into the page's front matter; a field left empty is left out of the file.
| Field | What it does |
|---|---|
| Visibility | Keeps the page off menus, breadcrumbs, page lists or the feed — several at once, or everywhere. The page stays reachable at its address. |
| Menus | Chooses the menus the page appears in. By page structure lists it where it sits among the folders, as without a choice; the other entries are the menus the site names in menus. Choosing one of them alone takes the page out of the menus following the page structure. The choice is fixed while the site names no menus, and unavailable — and dropped on saving — while the page is hidden from menus. |
| URL alias | Serves the page at a different address. The editor warns while typing when another page already owns that address. |
| Title | The page's title. |
| Navigation label | A shorter text for menus and breadcrumbs. |
| Order | The page's position among its siblings. |
| Date and time | Places the page in date-ordered lists and in the feed. |
| Teaser image | The image shown where the page is teased; left empty, the first image in the page is used. |
| Introductory text | The text shown where the page is teased; left empty, its opening sentences are used. |
| Language | The page's language, inherited from the page above when left empty. |
| Translations | The same page in other languages. |
| Redirection | Sends visitors elsewhere, optionally depending on their language. |
Below these follow the fields the site declares itself in frontmatter_fields, and any other key the page carries. Add custom field adds one by name.
Saving
Changes are collected until you save them. A page with unsaved changes is marked with a dot in the Pages tab, and so is a folded folder holding one. You can edit several pages one after another and save them all at once.
Click Save in the header to write every collected change back to the repository. They go into a single commit on the draft you are working on, so the site's pipeline runs once for all of them rather than once per page. Saving on the published version starts a new draft first.
Unsaved changes survive reloading the browser tab, but not closing it. The browser asks before a tab with unsaved changes is closed.
When someone else changed a page meanwhile
Before saving, the editor checks every page against the draft. If someone else changed or deleted a page after you started editing it, nothing is overwritten unasked. A dialog lists those pages, and for each one you choose:
- Keep my version — your text replaces theirs. For a page that was deleted, this restores it with your text.
- Use the other version — your changes to that page are discarded, and the editor shows the version now on the draft.
Both versions can be previewed in the dialog before you decide. Cancelling it saves nothing, and your changes stay where they are.
Actions that save on their own
Creating, moving or deleting a page, uploading or deleting media, updating the draft from the published version, and publishing all write to the repository by themselves. While changes are unsaved, the editor asks you to save them first, so the two do not get in each other's way. Switching to another draft and signing out also ask, and there you can discard the changes instead.