Introduction

What is Plenti?

Plenti is an open source Build-Time Render (BTR) Engine. Some people refer to it as a Static Site Generator (SSG) or Jamstack (JavaScript, APIs, Markup) framework. The templates are based on Svelte, which is a JavaScript library for building reactive user interfaces. Because Svelte is compiled, your app stays very light and performs well, even on underpowered devices. You might also notice that Plenti runs significantly faster than other JavaScript SSGs you may have tried. This is because the commandline interface (CLI) is built using Go and we've cut out slow processes like traditional bundlers. Our goal is to keep the tooling to a minimum so it's easy to install and use.

What makes it different?

We think the missing piece that will open up BTR websites (SSGs, Jamstack) to the masses is an integrated, Git-backed CMS. Plenti is the only BTR project that ships with a fully integrated editing experience that runs directly in the browser of your deployed site (you don't need to run a separate server or service). Our entire architecture is designed around making this work in real time so editors are as close as possible to the content they're writing while offloading builds to CI (continuous integration) so developers can create a full product experience just by writing frontend code.

Why not just use Hugo or NextJS?

Most solutions have optimized for either the build process, or the display of the website. That's why you see so many SSGs claiming to be the fastest - they are all talking about different things. To create a full editing experience similar to Wordpress out-of-the-box, we needed both a fast build and a reactive frontend that could handle previews and connect to a Git repository. That's why we're obsessing over speed (we're actively trying to make the builds even faster). We also use a simple JSON data source instead of Markdown, because it's a web standard for APIs and we intend for you to edit content directly in the browser.

Is it beginner friendly?

To get started, having some Svelte experience is helpful, but working knowledge of HTML and CSS fundamentals should be enough to get up and running with Plenti. We try to keep the footprint for the project as small as possible so your can orient yourself within the codebase without getting overwhelmed. Plenti requires minimum setup. We built a "discoverable" CMS that analyzes your content source to give you sane defaults for your editing experience. You can extend this if you want something specific, but you don't need to do any configuration to get it to just work. There are no shortage of excellent headless CMS options on the market for JAMstack, but most require purchasing a license for a proprietary product, take significant developer time to connect to your website, lack on features like live displays, and there is often duplicate work to match your data source structure with the CMS fields. We want you to have a fully open source option that is a complete product experience without any required services or add-ons.