Post editor
The post editor is where you actually write and shape an article. It opens automatically after you create a new post and any time you click an existing post from the article grid. Everything about a single article — title, body, category, authors, publication date, tags, SEO metadata, per-locale translation status, custom metadata, view history — is edited from this one screen, split across a main content column on the left and a compact operator sidebar on the right.
The post editor is where you actually write and shape an article. It opens automatically after you create a new post and any time you click an existing post from the article grid. Everything about a single article — title, body, category, authors, publication date, tags, SEO metadata, per-locale translation status, custom metadata, view history — is edited from this one screen, split across a main content column on the left and a compact operator sidebar on the right.
This article walks through every control on the Content tab from top to bottom. The three other tabs on the post detail page — Gallery, Attachments, History — have their own dedicated articles linked at the end.
Creating a new post
Click the Add button in the top-right corner of /post. A small
modal opens with just four required decisions:
- Title — the working title of the article. You can change it any time after creation; the current value at any moment is also the source for auto-generated URL slugs (see Routing and URLs).
- Content — the initial body, entered in the markdown editor. Anything from a one-line stub to the full article is fine; you will keep editing on the detail page.
- Main category — pick one from the tree. Only active, undeleted categories are offered; see Post categories. You can leave the field empty when you are drafting and assign later.
- Language — the locale you are authoring in. Defaults to the organisation's primary locale.
- Visibility — one of
public,private,unlisted,subscribe(see Visibility and lifecycle). Defaults toprivateso nothing accidentally goes live.
The moment you save, the detail page opens with your new post loaded. Everything past this point happens on the detail page.
Layout of the detail page
The Content tab is split into two columns:
- Main column (left) — the fields that make up the article itself: title, perex, content body, and the SEO metadata.
- Sidebar (right) — operator-facing controls that do not belong in the article body but govern how the article behaves: status actions, category and authors, publication date, tags, translations, custom metadata, view history, delete / PDF-export.
The layout is deliberate — you can focus on writing without the sidebar noise, and you can review or adjust settings without scrolling through the body.
Main column
Title
The title field carries three roles at once:
- Editorial — the human-readable title as it appears on the public article page.
- URL slug source — the first time you publish, the URL slug is generated by lowercasing, stripping diacritics, and replacing whitespace with hyphens. You can override the slug later; see Routing and URLs.
- SEO fallback — when the SEO meta-title is empty, the article title is used as the browser tab title. Filling a distinct SEO meta-title is often worth it for search rankings.
Change the title at any time. Titles up to 140 characters render without truncation in the grid; longer titles are shown with an ellipsis in list views.
To the left of the title field is a star toggle. Starring an article promotes it to the top of the grid (starred posts always come first, regardless of the current sort). It does not affect the public site.
Perex
Below the title is the perex — a short summary, usually one to three sentences. The perex serves as:
- The article teaser on category pages and RSS feeds.
- The OpenGraph description shared when someone posts the article to social media.
- The fallback SEO meta-description when the dedicated SEO field is empty.
- Search-result snippets on the public site's internal search.
Aim for 120–160 characters. Empty perex hurts SEO health score (see below) and looks bad in social-media cards.
Content body
The main content editor is a full-featured markdown editor with a live preview mode. It supports:
- Standard markdown syntax — headings, lists, tables, blockquotes, emphasis, links, images.
- Fenced code blocks with syntax highlighting when you specify a language.
- Embedded images referenced by URL (upload from the Gallery tab first; the gallery emits URLs you can paste here).
- HTML fragments for anything markdown cannot express — the renderer passes safe HTML through, and dangerous tags are stripped on both the public site and this editor's preview.
Long articles are welcome. There is no length cap; the editor scrolls freely. The word count is displayed live in the grid column when you return to the list.
SEO section
Beneath the content block is a SEO section with two fields and a live health-score pill:
- Meta title — the browser tab title and search-result headline. Placeholder: the article title. Fill only when the SEO variant should differ (usually shorter or more keyword-focused).
- Meta description — the search-result snippet. Two to three sentences of substantive text. Recommended length: 120–160 characters. Longer values are truncated by search engines mid-word.
The SEO health score to the right of the section title is computed from five checks — title length in 20–70 char range, presence of a perex, presence of a main image, content length above 100 words, and title-length variance. Hovering the pill shows exactly which checks failed. The score is advisory: nothing is blocked at low scores, but it flags articles that need polish.
Sidebar
The right column packs everything that is not the article body itself. Each section is discrete and can be edited independently — you don't have to save the whole article to update tags or metadata.
Status actions
The top of the sidebar shows the current derived status (draft, scheduled, published, private, archived) as a coloured pill, plus four quick-action buttons:
- Publish now — sets visibility to
publicand the publication date to right now. The article becomes readable on the public site within seconds. - Schedule — sets visibility to
publicand the publication date to one hour from now (rounded up to the next 5-minute mark). Edit the date field below to change when. - Make draft — clears the publication date and sets visibility to
private. The article disappears from public listings; anyone with the direct URL still gets a 404 or a subscriber-only view depending on the site configuration. - Unpublish — sets visibility to
privatebut keeps the publication date. This is the "temporarily hidden but not reverted-to-draft" state.
Below the buttons are the raw fields these actions modify: Visibility (dropdown) and Publication date (date+time picker). Edit them directly if none of the quick actions matches your intent.
For the full semantics of every state and how the four visibility values interact with the derived status, see Visibility and lifecycle.
Main category and AI suggestion
The main category field is a searchable dropdown of active categories. Only one main category is selected per article — for cross-cutting tagging, use tags instead.
Next to the field is an AI category suggestion button. Clicking it sends the current title and body to the AI, which returns the best-matching category from the organisation's currently-active tree. See AI tools for how the classifier works and what to consider when writing category descriptions to help it.
Authors
Authors is a multi-select list of people credited on the article. The first author in the list is the main author and is displayed prominently on the public article page and in the grid; additional authors are shown as co-authors. The field is initially populated with the member who created the post.
Authors are managed as contacts, so the same person can co-author posts and also appear elsewhere in the platform (in orders, invoices, etc.). The dropdown searches by name.
Publication date
An explicit date + time picker for when the article should become public. Behaviour:
- Empty and visibility
private→ draft. - In the past and visibility
public→ live now. - In the future and visibility
public→ scheduled; the public site auto-flips the article to live at that moment without any manual action. - In the past and visibility
private→ previously-published, now hidden. Cleaner than clearing the date because the audit trail remembers when it was first live.
Full state matrix is in Visibility and lifecycle.
Creation date
A read-only stamp of when the post was first created. Useful when the publication date has drifted away from the origin date and you need to prove when the article started life. Not editable.
Views section
A small line chart of daily views over the last few weeks, with the current cumulative count above it. Fed by daily snapshots taken by an internal reporting job. When the article is brand new and no snapshot has been recorded yet, the chart shows a placeholder — data appears within 24 hours of the first read.
For the full analytics story (trend arrows in the grid, snapshot cadence, rolling-window comparison), see Views and analytics.
Tags
A colour-coded chip picker for the article's tags. Click a chip to remove it, click + Add tag to open the tag selector. New tags can be created inline via + New tag — you supply a code, label, and colour, and it is added to the shared tag library immediately.
See Tags for the tag model, per-locale labels, and the tag-management tab.
Metadata
Arbitrary key–value metadata attached to the article. This is a free-form field for use cases the schema doesn't otherwise cover — external tracking IDs, campaign codes, publishing-workflow flags, sponsorship information, editorial notes that shouldn't appear on the public page.
Each entry is one key + one value, both strings. Keys must be unique per post. There is no schema — the field is exactly what you make of it, and the public API surfaces it verbatim so external integrations can read it.
Translations
When the organisation has more than one locale enabled, this section shows the per-locale translation status:
- Green badge — the translation exists and is in sync with the current source.
- Amber badge — the translation exists but the source article has been edited since; the translation is stale.
- Grey badge — no translation exists in this locale.
Above the badges is an Auto-translate button that appears whenever any target locale is missing or stale. Clicking it invokes the platform's translation pipeline, which regenerates every out-of-date locale from the current source. See Translations for the full workflow, the terminal-based bulk tooling, and the "Translations" tab for organisation-wide analytics.
Actions footer
The very bottom of the sidebar has two paired actions:
- Export as PDF — downloads the current post as an A4 PDF. See PDF export.
- Delete — soft-deletes the post with a confirmation dialog. Deleted posts stay in the grid marked with a red "Deleted" label and can be restored from the row context menu. See Visibility and lifecycle for the semantics.
Saving
Every change on the Content tab is saved together via the Save button at the bottom of the main column. The save operation:
- Validates required fields (at minimum a title and at least one author).
- Persists all field changes atomically.
- Records a snapshot in the article history (see History and versioning) — revisions with the same content and title within a 10-minute window collapse into a single entry rather than proliferating.
- Marks every existing translation as stale so the operator can trigger a refresh from the Translations tab or the sidebar button.
- Triggers a live update to the article grid so collaborators see the change within their next refresh cycle.
Sidebar-only edits (tags, metadata) save inline on their own, without touching the main Save button.
Tips for effective editing
- Draft in
privatevisibility. Nothing surfaces on the public site while visibility isprivate— you can experiment freely. Flip topubliconly when the article is ready. - Set the main image early. The SEO health score and the grid thumbnail both need it, and it changes the OpenGraph card that shows when the URL is shared.
- Write the perex last. After the article is written, summarising it in one to three sentences is much easier than drafting the summary blind.
- Use categories over tags for hierarchy and tags over
categories for cross-cutting attributes. A category is where a
reader browses to (
/category/technology); a tag is a filter applied on top (beta,deprecated,sponsored). - Fill custom metadata before you publish, not after — the public API exposes the metadata alongside the article, and external integrations that consume it will not know to re-fetch when a metadata entry appears later.