DEV Community

loading...

Plenti — a Svelte SSG for people that don’t like web maintenance bullsh#t

saystephanienow profile image Stephanie ・3 min read

**Sound of an alarm clock**
It’s 6am and Stephanie is lying in bed wondering how she should start her day. It’s cold in the house; she left the thermostat low because she’s cheap. It’s snowing outside and the sounds of her cats Comet and Cloud **meows in the distance** can be heard calling for food.

Stephanie grabs her phone and sees there’s yet another security update to do on her client websites and thinks, “great, another day of this crap.”

2021-02-02

Cloud

Okay, let’s pull away from the NPR narrative. Seriously though, these are some of the thoughts that run through every freelancer’s head each morning. Plenti was developed by its creator, Jim Fisk, after a decade of using different web frameworks that seemed to be weighing his websites down instead of empowering them. One of the biggest issues being that the technology the client had their website on was simply too complicated for the job at hand. There just has to be an easier, more secure way and that’s where Plenti was derived.

Plenti is a simple open source Static Site Generator (SSG) with a Go backend and Svelte frontend. Jim picked Golang because it is simple, quick and has the ability to generate a binary that can be run on any machine; and Svelte, well, for one, “Svelte is so hot right now” and also because of the power it gives developers to write simple HTML and CSS to create websites. Merging these two technologies was not an easy task, but with V8Go binding the two together, it’s a marriage that works.

"Svelte is so hot right now"

1_wvdPusv-kGQFrpOyPXqfsQ

Downloading Plenti is fairly simple and there are no dependencies in order to install. Using my Mac from the year 2012 (only 11 years old) and not being much of a developer — at all — I was able to update Homebrew and go through the steps:

  1. Add the tap: brew tap plentico/homebrew-plenti
  2. Install: brew install plenti

And it’s installed. Now to get a site going, I went on to the next set of steps:

  1. Create a new site: plenti new site my-new-site
  2. Move into the folder you created: cd my-new-site
  3. Start up the development server: plenti serve
  4. Navigate to the site in your browser: localhost:3000

2021-02-02

And voilà! I had a new Plenti site! Now, for me, it was really cool to have a website up and running in a matter of four steps after installing the software. If I were to create a blog, I could just update the titles, texts, etc of the default website I just created. This default site is helpful for exploring Plenti for the first time, but more experienced users might want a blank slate, free of any predetermined content or structure. You can start fresh by adding the ‘bare’ flag when creating your site:

Create a new site: 'plenti new site my-new-site -- bare'

Cool so now that you have a starter site or ‘bare’ site up, here’s some cool things already built into Plenti that you can use right now:

  • Pagination
  • File-based client routing
  • Content-driven dynamic components
  • HTML fallbacks for every page
  • Themes

While Plenti is still very new, there is a lot to look forward to like hot reloading, incremental builds, better API support and a Plenti CMS! Of course, these things take time and effort. If you would like to contribute to the project in any way, here’s how:

  1. Give it a star on Github
  2. Use it!
  3. Help develop/work on bugs
  4. Sponsor it on Github
  5. Watch Plenti Videos
  6. Share Plenti on Social Media

Perry the Plenti planarian

Discussion (0)

pic
Editor guide