How the pieces fit together
Blog Post and Hero are example names you choose. Primo supplies the page, block, and field controls; you build or import the templates and designs.
Sites
A site contains its own pages, page types, blocks, and shared settings. Create one from a marketplace starter, copy an existing site, or start blank. A starter includes code and sample content you can change. You can edit a site before it has a public address. Assign a domain when you want to serve it to visitors.Page types
A page type defines:- Page fields: Values each page can store, such as a title, author, or article body.
- Starting layout: Header and footer sections shared across pages of the type, plus body sections copied into each new page.
- Available blocks: The blocks editors can add to the body.
Choose page types for your content
You can use a page type for specific content, such as a blog post, or for general pages, such as About and Services.
These names are examples, not built-in presets. Pages with similar layouts can use the same type; you do not need a separate type for every page.
Fixed or flexible body layouts
The available-block list controls how much editors can change the body:- With available blocks: Editors can add those blocks, remove sections, and change their order.
- With no available blocks: Editors can edit the existing content but cannot add, remove, or reorder body sections.
Pages
A page is one use of a page type, with its own content. For example, two articles can use your Blog Post type while having different titles and bodies. Create pages from Pages in the toolbar. Choose a type, enter a name and slug, then fill in its fields and sections. The slug is a segment of the page’s URL. A page with slugfirst-post under a parent with slug blog has the URL /blog/first-post. The homepage is the root page at /. Naming a page or page type “Homepage” does not make it the root page.
Page fields only appear on the rendered page when your code uses them. For example, create a Page Field reference in a block to display a page title, or add metadata tags to the page type’s Head HTML for search engines. See Working with fields.
Blocks
A block combines Svelte markup, styles, and logic with fields editors can fill in. For example, you can build a Hero block with a headline, image, and link. You control how those values appear.Library blocks and site blocks
- Library blocks are reusable starting points stored in the server’s block library. Adding one to a site creates an independent copy.
- Site blocks belong to one site. Editing their code updates the sections using them in that site; publish to update the public pages.
Sections
A section is one placement of a block with content for that placement. If you add the same Hero block twice, each section can have a different headline and image while using the same code. For body sections, changing one section’s content leaves the other sections’ content alone. Header and footer sections are shared by pages of the same type.Fields
Fields make content editable. You choose supported types such as Text, Image, Link, and Repeater, then give each field a label and key.
Names such as
logo, title, and headline are examples you define. To use site or page content in a block, add a Site Field or Page Field reference and select its source. Matching names alone do not create a connection.
See Field types for the built-in types and their values.
Working with content editors
As a developer, you create the blocks, fields, and page types. Content editors create pages, fill in fields, and arrange body sections where the page type allows it. They cannot edit code or redefine the page types. Inline edits and layout changes save automatically. Changes in editor dialogs require Save. Publishing makes the site’s saved changes public, including changes on other pages. For example, you can create a Blog Post type and a block that displays its title and body. An editor then creates articles from that type and fills in the fields. Both articles keep the layout you defined, with their own content.Next Steps
Quickstart
Build your first site and see these concepts in action.
Your First Site
Step-by-step guide to creating a complete site.
Architecture
Learn how Primo works under the hood.
Defining Page Types
Set up page types to control structure and available blocks.