HACKER Q&A
📣 Smithalicious

Simple(st) Static Site Generator?


There are innumerable static site generators out there which mainly differentiate themselves by being written in the hip new language of today, being written in the hip new language of yesterday, or having all kinds of bells and whistles that I don't need.

What's a very simple (but still usable) static site generator that's fit for a no frills little personal blog? I'm half-tempted to just write one myself but the last thing the world needs is more of these...

EDIT: I'll clarify a bit: I'm hoping to get a site out of it that's about HN levels of "sophistication" (both functionally and and visually), so I do mean simple in that sense, not necessarily in the sense of "easiest to get started with", though I feel the former should imply the latter.


  👤 aardvarkr Accepted Answer ✓
Your best bet is probably to jekyll on Github pages. It's pretty dang simple since it's baked into github and doesn't take much to set up.

There are a bajillion static site generators out there (and everyone has an opinion, I'm sure) but here's the secret - it doesn't matter! You want to know what does? Writing! Focus on the content and if you run into any limitations or issues then migrate to whatever is hip in the future.

Most people struggle at writing the content so that really has to be your priority. Pick whatever gets


👤 spamalot159
Depends on what you mean by simple. If simple means simple to find a theme and start writing I think Hugo or Jekyll are equally good. (I use Hugo).

If simple means no frills and simple to customize to your liking I think 11ty would be the way to go.

If you don't want to think to hard about it just use Hugo, imo.


👤 leejoramo
I have tried lots of static rendering systems over the years. Userland Frontier, pyblosxom, Jekyll, Lektor, Pelican, Hugo, etc.

One that I would note for being very simple for the end user while still having lots of potential configuration is Blot

Blot allows you to organize files (.txt, .md, .docx, . odt, .html, images, bookmarks) in a Dropbox folder or Git. (That is plain git, no dependence on GitHub)

A superset of Markdown is supported, with many of the most common additions plus some very interesting layout formats to support columns, call outs, side bars and more.

A variety of site templates are provided and you can customize the templates.

Blot is primarily a paid hosted service and as such is VERY simple. The code is open source but it is a complex nodejs app with some big dependencies.

https://blot.im

I have used blot in the past, and think it is very much worth consideration. At the very least I think it deserves attention for a variety of very cool features.


👤 techdragon
Makefiles and Shell scripts (sh/ash/dash/bash/zsh/et. al.)

Make will take care of the file discovery, change detection and rebuilding all content files. And some simple shell scripting will let you generate minimal HTML with the no frills approach of just embedded big chunks of HTML into your scripts using strings or HereDoc sections depending on personal preferences.

For maximum simplicity I’d recommend writing blog/page content in a “HTML fragment style” where you basically just write the content as text annotated with any explicit HTML formatting like hr or br tags, along with appropriate paragraph tags. This will minimise the complexity of the shell scripts (mostly by eliminating any complicated markup translation mechanisms) you need to write for templating out finished HTML files.

If you want to get fancy add “jq” a widely available json parsing tool available as a static binary for most environments you’ll ever want to work in. Store a “metadata file” in JSON format next to your content. You can use this to automate post author attribution, extra post information like publication dates. As well as making more advanced things like controlling the styling of each item if you want different themes for different kinds of blog content.

You could gradually increase the sophistication of your HTML templating scripts, add some sed and awk to gradually minimise the number of big hand written chunks of HTML your templating scripts contain. But these will if not careful, reduce the flexibility you have by just being able to edit the hand written chunk of template HTML that wraps around your content. Both mechanisms have advantages so I’d recommend using a mechanism like the aforementioned “jq” metadata and an intermediary script layer that uses this metadata to control which scripting path gets used to build a page that way you can easily experiment with new variations in how you render your pages without risking breaking all your existing stuff.


👤 shanecleveland
You can just send a text to my project: https://textpost.me

👤 cpach
I find Hugo very easy to work with.

Here’s my demo site: https://github.com/cpach/piper

Only about ~30 lines of markup is needed to create a site. No theme required.

Hosting is very easy on AWS Amplify. I hear Netlify is good too.


👤 wuname
I am a big fan of SSGs. I stopped myself from overthinking it and created several Hugo sites. Created a quick Gatsby site that I did not release just to check it out.

In general, I prefer Hugo. Both offer a selection of simple free themes. Both were easy to find my way around and get started. Mostly I like Hugo better because when I make changes (such as add a blog post), the site rebuilds itself faster than Gatsby.

Both are suited for a no frills personal blog. Likely other SSGs you mention can do this too.

The key is to select a theme with your purpose in mind. Some themes add bells and whistles.

I host 2 Hugo sites out of AWS S3 buckets. They get steady traffic but not a ton. Cheapest path to a website ever.


👤 softwaredoug
Honestly I think static site generators tend to invite tinkering (I know I do nonstop!). I think for “simplest blogging experience” just using Wordpress and avoiding static site generators is the way to go.

👤 konfuzio
We watented a fast, SEO optimized, multi language page, where blog posts can be written in markdown.

You can copy and paste our setup in Jekyll and Gitlab pages.

IMHO existing SSG need educated users to produce sophisticated homepages not another SSG. Still jekyll feels rather complicated to use, I described my set-up issues in the post:

https://www.helm-nagel.com/how-to-score-a-perfect-100-percen...


👤 izolate
Just write your own. It's the new To-Do List app.

👤 jjjbokma
Mine is around 1000 lines. There is a Python and a Perl version. You can see it in action at https://plurrrr.com/. It's available on GitHub: https://github.com/john-bokma/tumblelog

I am working on adding tags.


👤 arthurjj
I've been using Jekyll for my personal blog[1] since 2015. I think it took me a few hours to get up to speed and I've never coded ruby. There are maybe 4 commands you actually need to know and I don't think a newer version has yet broken any of my pages

http://arthur-johnston.com


👤 beforeolives
I found Hugo much better than Jekyll in terms of useability. It also works with Github Pages.

👤 tuananh
hugo: it's simple, fast, shipped as single binary

jekyll is slow as you grow, a pain to set up