Pala (formerly Primo) is a visual CMS for small static websites.
Overview
Primo is a modern approach to the traditional monolithic CMSs like WordPress, Drupal, and Joomla. It aims to combine the quick setup and easy content editing of these traditional CMSs with modern development practices and frameworks. By utilizing Svelte, Primo offers a web publishing tool that is easier and more enjoyable to use for both technical and non-technical users. It allows users to build faster, more secure, and more unique websites.
Features
- Visual, on-page content editing: Primo provides a visual interface for editing content directly on the page, making it easy to make changes in real-time.
- Drag-and-drop page building with blocks: Users can create web pages by simply dragging and dropping blocks onto the page, allowing for easy customization and layout design.
- Integrated development environment for blocks and pages: Primo includes an integrated development environment (IDE) that enables developers to build and customize blocks and pages efficiently.
- Static site generation: Primo generates static websites, which improves website performance and security.
- Real-time page collaboration: Multiple users can collaborate on the same page in real-time, allowing for efficient teamwork and content creation.
- Internationalization: Primo supports internationalization, making it easy to create multilingual websites.
- Multisite: With Primo, one server can host multiple websites, providing scalability and flexibility.
- Deploys to Github (i.e. any web host): Primo allows users to deploy their websites to GitHub, which can be connected to any web host.
Installation
To install Primo, follow these steps:
- Ensure you have accounts with the required services mentioned above (web host, Supabase, and GitHub).
- Create a new Supabase project and provision it by copying and pasting the schema into the SQL editor.
- Fork the Primo repository.
- Create a new project on your web host using your forked repository and enter your Supabase details as environment variables.
- Set the necessary environment variables on your web host (PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_PUBLIC_KEY, PRIVATE_SUPABASE_PRIVATE_KEY).
- Publish the project and go to the Primo authentication screen.
- Create a user account, which will be the server owner.
- Manage your server’s data from the Supabase project dashboard.
- Set the Site URL on your Supabase project to the URL of your Primo site for authentication.
- Refer to the step-by-step installation video guide for more details.
Summary
Primo offers a modern approach to CMSs, combining the advantages of traditional monolithic CMSs with modern development practices. Its key features include visual, on-page content editing, drag-and-drop page building, an integrated development environment, static site generation, real-time collaboration, internationalization, multisite support, and deployment to various web hosts through GitHub. By using Primo, users can create websites faster, more securely, and with more flexibility. The installation process involves creating accounts with the required services, forking the Primo repository, setting up environment variables, and managing the Supabase project for authentication.