Content Management

Content management in Primo is focused entirely on content - bringing in design only where it's been specifically needed. Since all the complexity is kept easily accessible from the code, the CMS can be focused entirely on content.

Editing Content

There are three ways to manage content in primo, depending on the type of content being written.

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.