Primo
A visual CMS with a built-in code editor, Svelte blocks, and static site ge...
README
The modern monolithic CMS
Primo makes it a blast to build pages, update content, and edit code - one block at a time.
⭐ Why Primo?
Traditional monolithic CMSs like WordPress, Drupal, and Joomla enable quick setup and easy content editing, but rely on antiquated and heavy development practices (often relying on plugins and third-party services to customize the site and add new components). Headless CMSs have popped up to modernize the view layer with modern development practices and frameworks, but have a poorer content editing experience due to their decoupling from the content layer.
Primo is a modern approach to the monolithic CMS that builds on the traditional monolith's benefits of a quick setup and easy content editing alongside the benefits of modern development (i.e. Svelte). These combine into a web publishing tool that is significantly easier and more fun to use for both technical and non-technical users and enables you to build faster, more secure, and more unique websites.
✨ Features
- Visual, on-page content editing
- Drag-and-drop page building with blocks
- Integrated development environment for blocks and pages
- Static site generation
- Real-time page collaboration
- Internationalization
- Multisite (1 server = infinity sites)
- Deploys to Github (i.e. any web host)
How to self-host Primo
Third-party services (all can be signed into with Github):
Installation
1. Ensure you have an account with all the services listed above.
4. Go to your web host and create a new project from your new repository, inputting your Supabase details (go to the API settings) as environment variables.
- PUBLIC\_SUPABASE\_URL
- PUBLIC\_SUPABASE\_PUBLIC\_KEY
- PRIVATE\_SUPABASE\_PRIVATE\_KEY
5. Publish the project and navigate to the Primo authentication screen.
6. The user account you create will be the server owner. You can manage all your server's data from the Supabase project dashboard.
7. Finally, go back to your Supabase project & set the Site URL to the URL of your Primo site (under Authentication > URL Configuration > Site URL).
Updating
You can merge upstream updates by clicking 'Sync fork' on your forked repository. Your updates will automatically deploy to your web host.