Content Management

Content management in Primo is intuitive and approachable. Pages are built using the site's component library (with the option to import built-in components). Content within components is updated from clearly-defined fields and live-previewed, and content sections can be used to freewrite content directly on the page.

Editing Content

Content Section

Content Sections can be edited in place by clicking and typing, just like a doc editor. Most Markdown syntax is accepted as valid input and auto-converts to the appropriate HTML.

Content Elements

Specific types of content like headings and lists can be created by clicking into a Content Section and selecting an option which converts on build into clean HTML.

New line menu

  • Heading (h1)
  • Code Block (pre)
  • Blockquote (blockquote)
  • Bulleted List (ul)
  • Numbered List (ol)
  • Image (img)

Formatting menu


When hovering and selecting some text, a menu appears with formatting options:

  • Link
  • Bold
  • Italic
  • Highlight

Component Section

When in the CMS view, click Edit while hovering over a component to update the component's content in an isolated editor.

Hovering to edit

The editor contains a live preview that updates instantly as content changes.

Component Editor

Page/Site Content

Clicking Fields in the top toolbar will show options to create Fields for the current Page & the site. Values can be overwritten if they share the same ID, for instance, a Site Field with the ID of nav can be overwritten by a page.

Creating Pages

In the pages section, you can create a new page or duplicate one from the active page as you can also rename or delete them

Also, you can create nested pages in the top-level pages as you can rename or delete them too.



You can add new languages from the Languages dropdown. Primo doesn't translate your content for you, but offers a way to manage multiple versions of your site and publishes a static version of your site for each language added (note that this can increase publishing times).

The default version of your site (i.e. English) will be published to the root (e.g., and the other versions will be published below their corresponding locale (e.g. for Spanish).

Language dropdown


To publish your site, click 'Publish' in the Toolbar. If you haven't connected a webhost or Github yet, you'll need to do so by entering your user token. Alternatively, you can download your site to host it manually.

Toolbar primary buttons

Publish to a Web Host

You can connect a web host from the Publish screen by connecting your web host's Personal Access Token. Primo uploads a full backup of your site to a primo.json file with each publish which you can access at any time from your host's previous deployments to restore an older version of your site or use as a starting point for a new site.

Publishing to Vercel

Things to note

Vercel: If you have another site in your account with the same ID, it will be overwritten. Otherwise, Primo will create a new site in your Vercel account.

Netlify - Primo creates a new site when publishing a new Primo site. Otherwise, site updates are published as expected.