Using default front end or static site generator?


#1

Hi folks !

I’ve got a question for you.
Are you using the default ghost front end or do you use a static site generator ?

Are you using a static site generator for performance ? For another reason ?
Are you using the default ghost front end because it’s easier to configure ? For another reason ?

Thanks for your answer !


#2

Not sure to understand your question. Do I use ghost or something like Hugo ?

What’s the point?


#3

Thanks @pascalandy to make me more clear.
I’d like to know what architecture you are using and why. It can help me to choose if I will use Ghost only as a headless cms, with hugo, jekyll, gatsby or any kind of static site generator. Or if I will use the default themes layer of ghost.
Is it more clear ?


#4

@krichtof My blog1 and the demo site2 for my first open-source theme3 run Ghost on Heroku with the stock frontend. Because Heroku doesn’t play well with Ghost 2.0 — among other reasons* — these are running Ghost LTS.

For the demo4 of my most popular premium theme5 I’m running Ghost 2.x on AWS (using Dokku). It’s not as simple as DO or Ghost PRO, but I have other apps on the same machine, so it’s cheaper, and once you have it figured out it’s fairly low-maintenance.

The demo sites for my open-source Ghost starter theme6 and my most recent premium Ghost theme7, which I don’t need to update as frequently as a blog, are static sites generated from a local Ghost 2.x install using the Buster python script8, hosted on GitHub pages. Buster is technically unmaintained, but still works, and saves on hosting $$$ for sites that you aren’t posting to every day.

tl;dr — 3 of the 5 of the Ghost blogs I maintain are using the stock Ghost frontend, and other 2 are static sites generated with Buster. Running Ghost normally is more convenient, especially for frequently updated sites, but hosting Buster-generated static sites is free, and static sites have a smaller attack surface.


#5

Thanks @curiositry for your very precise answer.
I was thinking that the choice of static sites could be for performance reason. But you didn’t mention it. Maybe because the 3 blogs that you maintain using stock Ghost frontend are fast enough for you ?


#6

@krichtof You’re right, on both counts.

I had included a bit about the performance benefits of static sites in my post, but then I realized that I hadn’t actually measured whether my static Ghost blogs are, in fact, noticeable faster. So I took that part out.

In practice, though, it probably doesn’t matter much in my case: Ghost is fast to start with, especially when it’s on decent hosting, and my blog is on Cloudflare, so it’s all heavily cached.


#7

Ghost performances are stellar thanks to Node.js
Static site is great for power users but I still prefer having a nice GUI :slight_smile:


#8

Well received for performances @pascalandy !

But not sure to understand what you said about the GUI.
I think that you can use the nice Ghost GUI even with static site generators. The static site generator, during the build phase, will pull content from Ghost API, and this content has been produced with the Ghost Admin GUI.

Maybe you talk about another GUI ?


#9

I was referring to a tool like Jekyll. No GUI there.


#10

You can use Jekyll alongside a headless CMS similar to how we’re using Gatsby+Ghost for our docs site. You still use the Ghost admin area/GUI to create your content but you use Jekyll/Gastby/other-frontend to generate your site’s pages.

@krichtof regarding your opening question it’s probably far too early in Ghost’s headless-CMS days for many users to give you an answer. Although Ghost has always had an API we’ve only recently started tuning it for use as a headless CMS and creating tooling for that to be a smooth experience. >99% of the Ghost sites you’ll see will currently be using the built-in handlebars front-end but we expect that to change over time as more tooling and documentation becomes available :smile:.


#11

That’s very cool. I was not aware about this :wink:


#12

Thanks @Kevin for this clarification :slight_smile: