
Static Website Generators - gk1
https://www.netlify.com/blog/2016/05/02/top-ten-static-website-generators/
======
knlb
I just use emacs + org mode -> org-publish to generate my site [1] from org-
mode with some customizations; it's been the most flexible and fun way to
build a site I've had across all my attempts so far, particularly given that I
can go meta and also publish the htmlized raw org files at the same time [2].

[1] Publishing config:
[http://explog.in/config.html](http://explog.in/config.html) [2] Org Source:
[http://explog.in/config.org.html](http://explog.in/config.org.html)

~~~
patrickdavey
I'm a vim user, but org mode is one of the things that I really like the sound
of from emacs.

For vim, I use vimwiki[0] in (github flavour) markdown[1] mode, and also
publish the entire site to HTML. I really just use it for notes, rather than
an entire website, but still, one could.

[0] [https://github.com/vimwiki/vimwiki/](https://github.com/vimwiki/vimwiki/)
[1]
[https://github.com/patrickdavey/vimwiki_markdown](https://github.com/patrickdavey/vimwiki_markdown)

------
forlorn
The main problem for me is that the absolute majority of them target blogs and
if you try to adapt them for a more complicated website you gonna dive very
deep inside the code or continue constant search. Now I look at hugo as it
seems to be a more general-purpose tool that allows to play with structure and
content types.

~~~
lsaferite
Personally, the biggest issues is the CMS backend part of the process. I'm
fine writing content for an SSG, but the marketing department is not. What I
really want is a fast, open, and simple CMS BE that has a publishing workflow
where the output is a static site. I've yet to fine the perfect candidate. The
ones that are close are SaaS platforms and that is unfortunately unacceptable.
I'm perfectly ok paying for software, at least if I get the source. If anyone
has some suggestions, I'm all ears.

Edit: Just to add, I have multiple needs here that aren't enumerated, one of
which is full translation support for the source content to support multi-
linguale/multi-locale sites.

~~~
hunvreus
Funny you'd mention that. We're putting the final touches to an Open Source
Jekyll CMS we've built for ourselves (called Jekyll+) that does just that;
give a nicer interface for marketing folks and provide multilingual support
out of the box.

Preview of my local copy we're prepping up for a release end of the week:
[http://i.imgur.com/1VyxGzqr.png](http://i.imgur.com/1VyxGzqr.png)

Happy to have you testing it out and give me feedback.

~~~
lsaferite
Feel free to send me an email, I'll test it out.

~~~
hunvreus
Will do.

------
johnmw
I crave simplicity in my life right now and am using markdeep:
[https://casual-effects.com/markdeep/](https://casual-effects.com/markdeep/)

I write my documents in markdown and add this tag at the end of my document
<script src="markdeep.min.js">

I "publish it" by copying it to my server and renaming it .html

* note: To get started, here is the suggested starter document: [https://casual-effects.com/markdeep/starter.md.html](https://casual-effects.com/markdeep/starter.md.html)

~~~
bbx
I'm not sure if this counts as a "static website", since the page is not
delivered exactly as _stored_. It requires JavaScript to actually renders the
page, which seems like an overkill.

~~~
Already__Taken
That's just client side templating. Which has the same problem they all do of
being greeted with a white page until ALL the content is ready.

If someone is prepared to accept this it's not that hard to accept generating
the html page yourself and uploading that.

~~~
masklinn
> That's just client side templating. Which has the same problem they all do
> of being greeted with a white page until ALL the content is ready.

Or being greeted with a white page period if you're using a non-JS enabled
HTML client (noscript, CLI browser).

~~~
laurent123456
In this particular case, wouldn't they see the plain text markdown? (which in
many case is just as good the html)

~~~
masklinn
Kinda, it looks like they add a bit of CSS (basically make everything
monospaced & pre) so the Markdown text is visible when JS is _disabled_
(noscript), but in a CSS-less browser (e.g. links) the file is received as
HTML, and the Markdown code is directly interpreted as HTML, which makes for
an unreadable mess (the whole thing is a single "line" with newlines collapsed
to spaces)

You're really better off using a static conversion tool, or using markdeep as
a static conversion tool (with ?export)

------
andars
I've wanted to make a static site generator generator for a while. Run the
script and out comes another script with a wicked cool name that uses one of
the many markup options, header formats, and templating engines (either
manually or randomly selected).

Somebody, please make this.

~~~
ncouture
I probably failed to understand what you described but recently found out
about Nikola[1] while looking for publishing solution supporting Org mode.

It does support multiple input formats and at least Jinja2 and Mako for
templating:

    
    
      - https://getnikola.com/handbook.html#supported-input-formats
    

1\. [https://getnikola.com/](https://getnikola.com/)

~~~
agrafix
Hakyll supports anything that pandoc supports, so it does both org mode and
markdown :-)

------
blacksmith_tb
I have been eyeing Lektor[1] for a little while, it seems to have good
documentation, and an interesting, opinionated dev behind it.

1: [https://www.getlektor.com/](https://www.getlektor.com/)

~~~
denfromufa
What is the benefit of lektor over nikola and pelican?

~~~
asimuvPR
I've used lektor and pelican but not nikola. Lektor provides a nice gui where
pelican does not (ime). They both work well and pelican seems to have more
themes due to it being older.

I ended up with wordpres (shrugs).

------
yannovitch
The main question for me is comments. I don't want to use something like
Disqus, and to require something like Discourse would cancel the whole point
of having a static site generator that I can host on Github Pages or Gitlab
pages. Ideally, what I would like to do is to have an hackernews post
automatically generated for each post, and to redirect people to the HN post
if they want to comment, but I am not sure that HN allow this kind of use ?

~~~
freshyill
That would be absolutely awful. Imagine if every site did that. Would this be
a site you would want to visit?

Maybe what you want to do is have a link that sends you to the HN submission
page with the fields pre-populated. That wouldn't be so bad.

~~~
danneu
The comments on my technical blog were always so friendly and encouraging.
People telling me how my tutorial helped them or answering each others
questions.

Redirecting them to the HN pit of cynicism and leave-no-stone-left-unturnedism
sounds awful. :)

------
mxuribe
I've tried pelican, lektor, hugo, and even a cobbled-together flask-based
(using frozen pages module) custom static site builder. One of the biggest
challenges/time sinks/annoyances of adopting any of these types of platforms
is the time spent on the initial wiring up of the templates. Maybe I'm lazy in
this regard, but I'd rather use a GUI/WYSIWYG interface to do the initial UX
(not talking about design here, only placement of site objects/elements) for
the site within the context of the relevant template. I don't mind spending a
few minutes on setting up the build environment, setting up any dependencies,
because its a local app that's being installed, so I get it that it requires a
tiny investment in time. But setting up the templates, boy, that annoys me;
especially for small sites which only have few pages and infrequent additions.

Case in point: I really wanted to use lektor; it's elegant persistent storage
mechanism (no database required, basically text files organized within
folders), and its brilliant idea for use of a local web GUI were what
attracted me to it in the first place. But setup - for example - was annoying
as hell on Windows (hey some of us can't afford to keep buying Macs!), and
then of course after the install/setup comes the wiring of the templates
(ugh). I can not imagine a conventional (non-dev.) user - who I would guess is
a good candidate to extract great benefit from using a web GUI - won't have
the patience or inclination to dive into code to wire up the templates. I
don't mean to pick on lektor (I highly respect the team behind this!!), but it
is an example of what most of these static site generators do: they mean to
simplify things but 1 or 2 aspects of the system _seem_ like quite a time
sink.

~~~
wsvincent
I've used Lektor recently and I think you're missing its main advantage: it
does NOT aim to introduce web dev to non developers or to dramatically
simplify the process of wiring up templates. In fact, its use of models is an
additional step in the traditional process for static site generators.

BUT...once setup by a developer, Lektor's structure and Mac app allows a non-
technical user to edit files and publish changes to a website, which can be
hosted on S3 or other options for peanuts and has none of the security issues
that afflict Wordpress.

So viewed through the lens of a potential replacement for Wordpress, I think
Lektor is pretty phenomenal. The idea of a Static CMS--whether Lektor can pull
this off or not--just makes so much more sense than our current CMS model.

~~~
mxuribe
Certainly good points. It is definitely headed in the right direction with
relation to its use of a web GUI, and its content models (at least once one
wraps one's brain around the model approach). Perhaps I should have not
expected it to make template wiring easier. Please don't get me wrong, I'm
actually a fan of lektor, and wish it to really succeed. ;-)

------
marban
[https://staticsitegenerators.net](https://staticsitegenerators.net) Boom.

~~~
stanislavb
OK, this list rocks! Thanks for sharing it.

Btw, on LibHunt you can compare the projects by dev activity as well -
[https://selfhosted.libhunt.com/categories/1986-static-
site-g...](https://selfhosted.libhunt.com/categories/1986-static-site-
generators?order=activity)

------
sevengraff
I'm very surprised that Sphinx wasn't listed. It powers readthedocs.org and is
generally very popular for software documentation.

~~~
djsumdog
huh...I would have never through to classify Sphinx as a static site
generator, but it is.

I think it's just the context of it being used mostly for API docs and
tutorials that it's overlooked.

------
JeremyMorgan
I'm not so sure Octopress belongs on this type of list anymore.

I've been using it for about 4 years now, and I simply haven't had the time to
convert it to anything else but plan to as soon as I can.

Over the last couple years I've dealt with countless type error issues, gem
incompatibilities, etc. I have one single machine that Octopress generates my
site from now, and it's an old Linux install that I refuse to update (because
that will break OP). I believe the author tried his best to make what's
essentially a clever Jekyll hack work as well as he could. He's tried creating
a newer, smarter version but I'm not sure what the current status is. I'm
guessing it's going slowly because most he, like most people, don't have time
for such a huge project that isn't paying bills. I appreciate the attempt for
sure, it worked great at first.

I don't want to sit and complain about a free product but would caution others
about investing in it heavily like I did. I spent a considerable amount of
time on overhead with this product as it sits. There are much easier (non
Ruby!) solutions out there.

~~~
garfieldnate
Same here, I appreciate the work that was put in, but it has become a major
problem for me. My torment here:
[http://garfieldnate.github.io/blog/2015/07/20/hacking-
throug...](http://garfieldnate.github.io/blog/2015/07/20/hacking-through-an-
octopress-update/). Any time I want to write a new blog post, the release is a
big ordeal, and all of the commands are very slow. It's a mess.

------
0xCMP
I use Hugo for several websites and I enjoy it a lot.

One favorite part is the ability to create content of different types.

~~~
gregmac
This statement caught my attention in the article:

> It is optimized for speed (Hugo sites can be built in milliseconds)

Is that true, or does it just happen to be fast? It seems to me that the
performance of a static site generation is irrelevant, and thus time spent on
this is really wasted effort.

I don't care if it takes several minutes to build.. it'll happen on the CI
server in the background, and so long as the actual deployment is atomic, it
makes no difference.

A site that has time-sensitive content or update requirements of more than
hundreds of times per day seems to be a poor candidate for use with a static
site generator.

~~~
rodgerd
> It is optimized for speed (Hugo sites can be built in milliseconds)

I suspect it's based on a minimal set of test cases, not a full site. With
hundreds of pages mine takes anything from 30 seconds to a couple of minutes
to build.

~~~
guitarbill
As with everything, this is a huge oversimplification (i.e. Go = faster than
scripting languages). I'm dubious if the algorithmic part of static site
generators dominates. Would have though it's I/O bounded to some degree, in
which case Go isn't going to be faster than anything else.

Besides, caching solves this issue better, unless you change the underlying
templates.

------
foxhop
Sort of related and shameless plug but I'm building a "comments as a service"
application that isn't disqus. My first target market is static sites.

Check it out here: [http://www.remarkbox.com](http://www.remarkbox.com)

~~~
andrewmunsell
Also sort of a related, shameless plug--

I've been working on Formingo
([https://www.formingo.co](https://www.formingo.co)), a form processing
service for static sites so you can receive your form submissions directly to
your email without the need for server side code or your own backend.

I've actually had a couple people ask me about comment systems that were an
alternative to (and more simple than) Disqus, so it's cool to see someone
working in that space.

~~~
StavrosK
Your API is exactly what I would expect to see from such a service. Your
pricing is also exactly what I would expect to see, so props.

I only need a POST endpoint that will accept a few parameters and redirect
back to my success page, and I will definitely keep your service in mind for
that.

Although, how do you keep everyone from sending spam from you?

~~~
andrewmunsell
Right now there's domain and email verification so that you don't get spammed
from people taking your form and embedding it into their website, but I have
some upcoming plans for spam detection.

In fact, the first parts of this system is in place already-- if you have an
account and create a pre-validated form, you can go into your dashboard to see
the responses and mark them as spam. This will become the training data for
the spam filter at a future point in time.

~~~
StavrosK
Ah, I more meant "how do you make sure people don't send spam to arbitrary
destinations sending your form", but I see you're doing email verification of
the recipient first. I thought "put this form on your site" was literally all
there was, at first, hence the question.

~~~
andrewmunsell
I see-- yes, when you embed a new form, you receive a verification email for
the page URL-email combination. Meaning if you change the email address or use
the form on another URL, you get another verification email.

If you register for an account, however, you can bypass this and pre-register
your domains and verify your email address and get a special URL without your
email address in it (it's an arbitrary token).

------
z3t4
One complain about static generators is that they often require the use of
HTML or any other markup language. Users just want a management system with a
friendly WYSIWYG editor. They don't care if their site is static or generated
on the fly by the server.

------
tylerjl
If you're inclined to eschew hosted comments a lá Disqus and want to own it
yourself, note that Discourse supports comment embedding for static sites
which I've used for a couple years and have been very happy with:
[https://meta.discourse.org/t/embedding-discourse-comments-
vi...](https://meta.discourse.org/t/embedding-discourse-comments-via-
javascript/31963)

------
mike503
Have really wanted to look at making WP into a static site generator. Have too
many clients using WP that could be using it as a static site but won't move
away from it... So the admin backend / familiar publishing interface but
generating it out to something that could be dumped into S3z

Some people have done variations of it but not well or easy. Is easy enough to
trap events that should trigger page regeneration. Just haven't taken enough
time yet.

The AWS CLI has extremely amazing performance, having something that could
leverage that kind of multithreading for publishing would be great. Especially
for the initial site publish.

If anyone is interested in working on this project or taking it on (I'm happy
to contribute ideas and/or money) feel free to reach out. mike503 at gmail.

~~~
reitoei
Been a few years since I looked at WP, but isn't this essentially what the
super cache etc. plugins used to do, i.e. generate static versions of pages?

~~~
zuccs
Yes, but there is still a vulnerable (dynamic) WP backend sitting on the same
domain name.

------
tootie
Are there any real differentiating factors or are there so many because
they're so easy to do? I built a custom one for a client once for no real
reason.

~~~
fenomas
When I reviewed a bunch of SSGs looking for the one for me, the
differentiators were:

* What language it's in (assuming you want to be able to hack around issues if you need to)

* What intermediary formats it uses (EJS/jade/stylus/LESS/SASS, etc. - assuming you don't want to publish a site that looks like the SSG's demo page)

* How opinionated it is about its output pipeline. Some SSGs have fully-formed plugin systems, so you can choose your favorite minifier, add a transpiler, etc., which is powerful but more work. Others just do what they know how to do and if you want to add steps you'll have to post-process the output.

That said, running through the "publish a hello-world page with default theme"
was pretty much the same for every SSG I tried. You have to really start
futzing with things to see the differences.

------
mouzogu
Is there some way to use a static site generator with a flat file database
utilising standard CRUD functionality?

To me, using a static site generator and handing off database to another
service like firebase or other sas, although works really well and has many
benefits is still an external dependency I would rather live without. It also
somewhat defeats the point of using a statit site gen for my use case anyway.

This is the main thing stopping me from switching from php/mysql.

~~~
StavrosK
I used Lektor and that's what it does, and, AFAIK, it's also what all other
SSGs do (Jekyll/Hugo/Pelican/etc).

------
city41
I've been using wintersmith ([http://wintersmith.io](http://wintersmith.io))
to power my blog for years and am very happy with it. It's incredibly
flexible, is hackable at just about every level, and has no problem if you
just want to dump some html/css/js into a directory and serve it. So I'm able
to "host" several of my projects right within my blog.

------
Animats
I'm still using Dreamweaver. WYSIWYG HTML generation.

You really want to lay out web pages in in Markdown?

~~~
therealmarv
well, if you are happy with it, stick with Dreamweaver. Markdown is not for
layouting, it's more for writing and reading the source code without hurting
your eyes ;)

------
mikegerwitz
There's also Haunt, written in Guile Scheme:

[https://haunt.dthompson.us/](https://haunt.dthompson.us/)

------
adjohn
I recommend checking out [https://forestry.io/](https://forestry.io/)

~~~
sgallant
Co-creator of Forestry here (a CMS for static sites). We're big fans of Hugo
and Jekyll (obviously). We use Hugo to power our blog and docs
[https://forestry.io/blog](https://forestry.io/blog)
[https://forestry.io/docs](https://forestry.io/docs).

Using Algolia for search.

------
ashitlerferad
Another one: [https://ikiwiki.info/](https://ikiwiki.info/)

~~~
liw
Making static websites for over a decade, now.

(Can make user-editable wikis as well.)

------
tracker1
I think the future may be CMS-style applications that do static publishing.
Either run locally (may be a great use for electron actually), and/or as a
service. At least in this space competitively, the biggest complaints tend to
center around the amount of manual configuration/changes... opposed to the
overhead of say wordpress.

The only downside to static publishing to say S3/ABS is that you loose server-
side analytics to some extent.

~~~
mxuribe
But then, couldn't you insert the google analytics javascript snippet within
the html that gets loaded/served up from S3? Or did you mean something like
piwik? I have to think S3 would not be a block here, as many users of static
site generators also use some sort of analytics tool.

~~~
tracker1
There are bits that JS based tooling will miss in terms of a bigger picture...
they don't represent your real load when you run a site that is getting hit by
a lot of different smaller search bots. Of course, once you're on s3 or a
similarly cheap static delivery option (and/or CDN), you may not actually
care.

------
jdmoreira
I considered using one of these but then I realised all I needed was pandoc
and a makefile.

------
meritt
Maybe I'm just oldschool but I've never understood the point of these. What's
wrong with varnish + [any dynamic platform]?

~~~
newscracker
Assuming the learning curve to use a static site generator is addressed, I
would say simplicity and stability are key points the the users of these
appreciate. For example, even though I'm technically savvy, I struggle with
Wordpress (wordpress.com) and its unintuitive UI. Almost every other (major?)
release changes the locations of items and starts having some new-age UI vs.
classic UI differences. I'm guessing that many other dynamic platforms are
also bloated a lot when one looks at the features that most people use. Of
course, there are dynamic platforms like Ghost [1] that have made it simpler,
but Wordpress is still very common (so are other heavy platforms like Drupal
and Joomla).

For those who do use these, my best guesses on the benefits are, in no
particular order:

1\. The speed of transmitting and rendering the pages.

2\. Flexibility to host the site anywhere where there's just a web server,
even a low powered, low resource one (no need to look for mod_php or for a
host that allows running rails or anything else).

3\. Simplicity of having all content stored as plain text in files. There's no
database to fiddle with or administer.

4\. Flexibility to easily create their own templates (probably using a
favorite templating engine).

5\. Better and simpler control over security since the web server and the
underlying OS are the main concerns (without adding several more layers on the
server - this may be an oversimplification, but there are fewer things to
worry about in general).

6\. Better stability (fewer moving parts).

7\. Version control of content, if one uses git or something similar.

[1]: [https://ghost.org/](https://ghost.org/)

------
saosebastiao
What are people using for hosting? I've thought about using github pages, but
css ended up being severely limited.

~~~
therealmarv
GitLab Pages [https://pages.gitlab.io/](https://pages.gitlab.io/) it also
supports private repos and nearly every static site generator through gitlab
ci

~~~
StavrosK
I'd like to second Gitlab Pages, I'm using it with Lektor for
[http://portfolio.stavros.io/](http://portfolio.stavros.io/) and it's been
fantastic so far.

------
codebook
Nobodu mentioned Hakyll, Haskell static site generator motovated by Jekyll.

I've been used it for over 4 yrs and still surprising.

------
neya
Here's my experience: I previously used Middleman to build my blogshop and all
was fine until I added more complexity. The codebase grew large and that's
when I really hit the (Ruby) language's limits (too much type checking).

My intention is not to turn this into a language war, but I think using a good
static site generator written a strongly typed language helps a lot. I
considered Hugo, but eventually I decided to write my own in Scala and it has
served me well.

A good static site generator should unleash a slew of goodies including code-
reuse, viewing your website as a collection of functional components rather
than just a bunch of partials. It's almost a full blown MVC project.

For example, my blogshop (not exactly 100% static) has 3 types of "Marketing"
components - one of them is a widget asking for email subscriptions, the other
is a popup for displaying offers, or email subscriptions based on the view it
is used in, based on the parameters passed to it and finally the last one is a
recommendation engine.

I don't trust Disqus nor Facebook especially after Facebook lost all my
comments once (long ago, though). So, I host microservices for each of the
components of my blogshop - One for recommendations, one for comments and so
forth. They all live inside Appengine and I hardly hit the paid tier. The best
part is that my blogshop can be written in any language I like and I can
afford to write my other components in other languages. For example, I wrote
my recommendation engine in Python, wrote my comments system in Scalatra. They
all communicate with JSON APIs with each other.

For my authentication service, I use something called Apache Shiro. So, my
static website is basically talking to each of my service through Ajax and
injecting content using JS from the response from my microservices.

I know this isn't everyone's cup of tea, but it really works well for me and
is much better than using Wordpress which is something generic that is forced
to fit into my workflow/business model.

------
erjjones
.. nanoc, [http://nanoc.ws/](http://nanoc.ws/)

------
stephengillie
I made a somewhat unconventional static site generator in Powershell, as part
of my Arkdata project. It produces flat HTML reports every minute, which IIS
(or any other web server software) can simply serve. It calls a JavaScript
file, as I was playing with sortable columns, but works without the file. I
use a mobile CSS file for better mobile display too.

Github:
[https://github.com/Gilgamech/ARKScrape](https://github.com/Gilgamech/ARKScrape)

Demo site (IIS up, but it's not currently generating reports):
[http://gilgamech.com/ark/PvP-Hardcore-
OfficialServer92.html](http://gilgamech.com/ark/PvP-Hardcore-
OfficialServer92.html)

------
Tomte
And I guess, Lektor and Pollen are still the only ones with a (dynamic) web
interface for writing articles and then exporting them (statically)?

Besides Bricolage (ancient, abandoned?, never got it to work – even the VM
image they provide as a demo) and Movable Type (expensive), of course.

------
mkoryak
here is a better "article"

[https://staticsitegenerators.net/](https://staticsitegenerators.net/)

~~~
Hoasi
[http://www.staticgen.com](http://www.staticgen.com) (hosted and maintained by
Netlify, article's author) is similar although stats differ...

------
neogenix
We are running a React based static site using
[https://instant.cm](https://instant.cm) for content management. Works like a
charm and Instant basically works on every static site.

------
wmu
For my website I have a custom python script, and I use RestructuredText for
markup. If I started now, I would replace the script with a set of
Makefiles... or better use any existing generator.

~~~
scrollaway
Hugo supports rst, for what it's worth. There's still time to make the jump :)

~~~
wmu
Thanks, I've never heard about Hugo, I've seen Sphinx mentioned by
mixmastamyk. But... I wish I had enough spare time to do migration. My TODO
list is getting longer and longer. :)

------
lllorddino
Static site generators are easy to learn and host for free on Github pages but
setting up TLS with a custom domain name is a pain. I currently have
Cloudflare in front handling that for me.

~~~
bobfunk
Check out netlify ([https://www.netlify.com](https://www.netlify.com)) - we'll
let you setup https with let's encrypt as a one click operation.

------
fenomas
Nobody's mentioned Hexo yet (edit: here), so I will. A while back I reviewed
the top 5-6 Node-based SSGs and hexo seemed like the best tradeoff between
simple and flexible.

[https://hexo.io/](https://hexo.io/)

I also wrote up all the stuff I learned migrating and existing Wordpress blog
to static:

[http://aphall.com/2016/01/migrating-wordpress-to-
static/](http://aphall.com/2016/01/migrating-wordpress-to-static/)

~~~
mashlol
> Nobody's mentioned Hexo yet

Hexo is #2 in the list in the article...?

~~~
fenomas
Sorry, I meant commented on their experiences with it.

------
freekh
For a client I built a custom one (~150loc) that uses react templates and
builds files from markdown on contentful. By using react templates, the static
website and frontend code can be written in the same manner and our designer
can start with something then hand it off to our frontend eng without fuzz.
The designer wanted to learn react so she's technical enough to write jsx
(which might not be the case for everyone). Ping me if we should see about
OSS.

------
skrowl
[http://www.staticgen.com/](http://www.staticgen.com/) seems to provide a more
exhaustive (and searchable) listing

------
eganist
Yes! I was looking for a decent selection of single-page app SSGs for so long.
This is only the second one I've found, the other being Lingon
([https://github.com/spotify/lingon](https://github.com/spotify/lingon)), and
this one looks like the only one that can still work as a blog.

Does anyone have any feedback or alternatives for SSGs which build static
single-page blogs?

~~~
paulddraper
> single-page app SSGs

How does that work? Isn't "single-page app" the exact opposite of a "static
site"?

~~~
eganist
The "app" in this case would be client-side logic (e.g. written in JS) which
might then render the blog client-side by pulling down the text for the blog.
Ultimately, everything on the server is unchanging until you do a rebuild with
new content.

So long as the hosted content isn't dynamically generated server-side when you
visit, it's static.

~~~
puppetmaster3
Single page app uses .js to load page inside index.html w/ push state.

I like this 'serverless' approach.

~~~
philtar
It most certainly is not serverless.

~~~
puppetmaster3
Do you read? Ex:
[http://martinfowler.com/bliki/Serverless.html](http://martinfowler.com/bliki/Serverless.html)

Or dozens of other? You are not in a cave.

~~~
philtar
Who gave Badri Janakiraman authority to define what serverless is?

~~~
puppetmaster3
martin fowler is an authority.

Here so you can try [http://bfy.tw/7nJE](http://bfy.tw/7nJE)

------
lenkite
Jekyll has the significant advantage of support Asciidoc out of the box as
Asciidoctor is written in Ruby. We really need alternative asciidoc
implementations.

~~~
davidroetzel
Please note that asciidoctor already is an alternative implementation. The
original asciidoc tool
([http://www.methods.co.nz/asciidoc/index.html](http://www.methods.co.nz/asciidoc/index.html))
is written in python.

Both, the original and asciidoctor, offer a CLI tool to convert asciidoc to
different formats (and there is always pandoc). Additionally, asciidoctor aims
to integrate with JVM languages courtesy of JRuby. So you have multiple
implementations callable (in one way or another) from any language imaginable.

------
yannovitch
Also, do you know any SSG which allow me to have a really complete home page
like [http://demo.tagdiv.com/newspaper/](http://demo.tagdiv.com/newspaper/) ,
where I can clearly display separated category with last articles by category,
and with a thumbnail automatically attached to the post ?

Sort of a "magazine theme" or a "newspaper theme" for a SSG.

~~~
StavrosK
I'm not sure exactly what you mean, mainly because I think all the SSGs can do
it. I tried Lektor recently, and I don't see why you shouldn't be able to do
exactly this. It's not even hard (unless I'm missing something).

EDIT: Maybe what I'm missing is that other SSGs are very opinionated, while
Lektor is not.

------
Nzen
For those thinking of writing a ssg as a challenge, I recommend reading Rhodes
and Rocco's _500 Lines or Less_ [1] chapter about an incremental build system.
It describes the general strategy behind tup.

[1] [http://aosabook.org/en/500L/contingent-a-fully-dynamic-
build...](http://aosabook.org/en/500L/contingent-a-fully-dynamic-build-
system.html)

~~~
RodericDay
Great link! I'm building my own SSG for fun and this is something I've been
thinking about tackling for a while.

------
sudhirkhanger
I am a long time WordPress user. I tried a few but didn't like them much.
WordPress is the nice middle point of internet publishing. A well designed
web, desktop, and mobile interface, themes, plugins, and commenting system.
Cost of hosting is a little prohibitive but it works pretty well.

I am currently trying out Hexo which seem to work just time too.

------
martin_a
"These days, speed and security is the name of the game." And it´s no problem
to achieve both with WordPress. Maybe my mileage varies enormously from
everybody else, but I am maintaining about 40 WordPress instances.

We have tools to manage updates remotely, make fully automated daily backups,
all sites are rated with 85 or more points on Google Page Speed Insights
(YSlow and Pingdom Tools don´t rate bad either), we didn´t have any breaches
or hacks in the last two years (been in the company for that long) and our
clients can easily manage their sites with the built-in tools from WordPress.
We have locked the sites down, eliminating attack vectors as far as we can.
All sites are using caching tools or even full page caching to improve the
speed. No complains and complications at all. Oh, and we have comments and
user registrations and more...

It seems most people just can´t handle WordPress the right way. It´s complex
software and you have to know (and learn) what you are doing.

Installing the first plugin you stumble upon, ideally from a shady developer
who sells it to a malware distributor 2 months later, is a pretty fine way to
run you into "WordPress is slow and insecure". Free themes, always install
several at once , you never know when you need one, are another great way,
too.

But yeah, just throw some fancy JS framework and Markdown at the problem and
then start to wonder how you could possibly get some commenting system up and
running.

WordPress is quite fine software. For sure, it has flaws and some of them get
fixed slower than you would wish, but it´s not bad in the end, if you know
what you are doing. Finding people who know what they are doing is probably
hard, but that´s the same for everything.

~~~
mattmanser
I don't disagree that wordpress is fine, but claiming it's easy to manage
after saying you have a team to manage yours and have setup a load of software
to handle its complexity for you is odd. And then you say "most people just
can´t handle WordPress the right way", which is basically another way of
saying "it's not easy".

And 85 points on Google page speed insights or yslow are generally useless
metrics. They give as much weight to complaining about a 5kb image not being
compressed properly as not having a cdn. It's automated dumb, they're stupid
tools with quite often stupid rules. Like I just checked a site I'm
responsible for and lost points for not compressing a js file that would save
524B. Yes, that's _bytes_.

That's not contributing to site slowness at all. And yet at no point did it
say "hmm, you've got rather a lot of poorly optimized js there".

~~~
martin_a
I am a one man army on that point, "we" is "our company", websites are not our
main business. ;-)

The only software I use regularly is InfiniteWP to have a look for updates.
Although it sends me a mail to my "status messages" slack channel, so no big
deal on that end. Backups run automatically by BackWPUp Pro, caching and lock
down are done when setting up/finishing a new site, so there´s not really much
software involved at all.

85 points or A ratings or whatever alone are "just metrics" for sure. But I
don´t think that I need to tell you that if you want to reach and keep a high
value on those scales, you have to take care of compressed CSS and JS, auto-
optimized images, caching, fast servers etc. pp.

Which in the end leads to fast(er), better accessible websites without
dropping backend usability or features.

------
soared
is there an ssg that is entirely web based? I don't want local files or to use
a terminal. I would move away from Wordpress (and would like to) if something
let me click a few buttons to set up a simple blog. I don't need anything
fancy.. Let me make some basic choices and post my blogs.

~~~
CharlesW
If you like WordPress as a writing and management tool, it's worth noting that
there are several static site generators for WordPress.[1][2]

[1] [http://en.staticpress.net/](http://en.staticpress.net/),
[https://github.com/megumiteam/staticpress](https://github.com/megumiteam/staticpress)
[2] [https://wordpress.org/plugins/simply-
static/](https://wordpress.org/plugins/simply-static/)

------
koevet
What would be a sane deployment workflow for a static site generator, so that
the static content ends up behind an Apache web server in my box?

edit markdown -> push github --> server does a pull -> builds -> deploy ?

------
dillonraphael
I'm a big Gatsby fan.

------
Pxtl
Ive been trying to make Sandra.snow work for me but it seems to be so focused
on azure and ssg-as-a-service that I can't figure out the simple parts.

------
reinhardt1053
Another good alternative is Grav [https://getgrav.org](https://getgrav.org)

~~~
lsaferite
That's not a SSG, is it? Last I remember reading about it, it was still a
dynamic site, just powered by a flat file DB.

------
wazoox
What about using whatever engine you want, then extract static pages with a
script using good ol' _wget -r_ ?

~~~
vidarh
I sort-of-but-not-quite did this when migrating my old dynamic site to static
generation: I used my model API to build a list of all the pages and then
faked requests by building my own request objects that I called my Sinatra app
with.

Made for a quick and dirty way of reusing my old code, and means I can still
run the dynamic version for dev/testing.

------
tleunen
[https://phenomic.io](https://phenomic.io) is missing in the list

~~~
dillonraphael
Have you used Phenomic? What's the difference to Gatsby?

~~~
aban
I was going to use it but stuck with Jekyll for now, but they have a FAQ page
for that [0].

There were also a few mentions of Phenomic on Gatsby's discussion from a while
back [1]. Search for it on that thread.

[0]:
[https://phenomic.io/docs/faq/gatsby/](https://phenomic.io/docs/faq/gatsby/)

[1]:
[https://news.ycombinator.com/item?id=12128989](https://news.ycombinator.com/item?id=12128989)

------
cglace
I've been using cactus and really like it. Really simple and uses the django
template engine.

------
jbb555
Why is that website only using the middle of the page, and has a blank line
between every line of text.

Is there some competition for who can use as little of my screen as possible
in a useful way?

~~~
faizmokhtar
It's to increase readability. An ideal column width can help users to scan
through the paragraph effortlessly.

[http://ux.stackexchange.com/questions/3618/ideal-column-
widt...](http://ux.stackexchange.com/questions/3618/ideal-column-width-for-
paragraphs-online)

------
fiatjaf
Anything that supports .docx documents?

~~~
skosch
What why?

~~~
fiatjaf
There are people who like it.

------
juliangoldsmith
OP is a paid shill for Netlify.

Previous thread:
[https://news.ycombinator.com/item?id=12401849](https://news.ycombinator.com/item?id=12401849)

------
gilgoomesh
A number of these (Jekyll, Octopress and Hexo) are disappointingly similar. I
wish they offered novel solutions rather than the same Liquid templates + YAML
front matter + Markdown/ReStructuredText.

