State of the Web: Static Site Generators

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • Publii

    The most intuitive Static Site CMS designed for SEO-optimized and privacy-focused websites.

    I think Publii[0] is the modern equivalent as it also runs on desktop and provides a blog-ish CMS with its own editor. I used it to make a small devlog[1] some time ago (on which i only wrote a single article, proving once and for all that the reason i do not blog more isn't because of the blog tech but because i'm too lazy to and i'd rather be writing endless posts in messageboards :-P). I do prefer the CityDesk style though[2], even if Publii is technically more powerful.

    [0] https://getpublii.com/

    [1] http://runtimeterror.com/devlog/

    [2] http://runtimeterror.com/pages/badsector/nyan/gimme/cdsite/

  • neocities

    Neocities.org - the web site. The entire thing. Yep, we're completely open source.

    The complexity of of static site generator isn't always needed or useful.

    If you just want a simple site with a handful of posts a year then manually making .html files with an WYSIWYG editor or just copying old HTML templates from site likes "alistapart" is a legitimate, simple option. Installing nginx from your system repos is safe and easy too but if you don't want to self host then https://neocities.org/ is decent.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • staticgen

    Static website generator that lets you use HTTP servers and frameworks you already know

    You can use tools like staticgen [1] with any CMS that you want.

    [1] https://github.com/tj/staticgen

  • jquery-localize

    a jQuery plugin that makes it easy to internationalize your web site.

    I love static site generators and I really wish more sites were built with them. There are likely millions of websites that have no login functionality or other functionality that specifically requires a back-end, but use a CMS anyway. Usually a CMS is slower for the users on the site, more expensive for the company running it, less secure, less stable, and more maintenance than a statically generated site.

    I do think there's still plenty of room for improvement for static site generators though. Does anyone have any recommendations for an SSG with easy support for multi-lingual websites? Ideally, I'd be able to translate the text and provide alternative images, videos, and links without having to change the HTML structure of a given page for each language. Technically, this can be done easily with JavaScript by using a plugin like jQuery Localize [1], but that has two major downsides: (1) all other languages except the default breaks if JavaScript is disabled and (2) users won't know that the site supports their language from search engine results (the snippet will be in the default language.) So it'd be great if I could write the pseudo HTML of a page once, but generate multiple HTML files for each different language (placed into their respective directory, e.g. en/, es/, fr/ etc.)

    [1] https://github.com/coderifous/jquery-localize

  • eleventy 🕚⚡️

    A simpler site generator. Transforms a directory of templates (of varying types) into HTML.

    I would recommend poking around with 11ty,[0] which I find to be significantly simpler than Hugo.

    The Go templating of Hugo is extremely confusing for most non-Go people. After using it for years I still constantly look up how to do simple conditionals.

    11ty is a very competent, "good enough" generator. We used it to build this site[1] for CERN back in 2019 from scratch over the course of a few days.

    [0]: https://www.11ty.dev/

    [1]: https://worldwideweb.cern.ch/

  • gutenberg

    A fast static site generator in a single binary with everything built-in. https://www.getzola.org

    Supposedly, Zola[0] was built in response to the deficiencies of Go templating. Having dipped my toe into the Go pool, I am tempted to agree.

    [0] https://www.getzola.org/

  • clientdiversity-org

    This is the source code for https://clientdiversity.org, a resource site to assist client diversity efforts.

    https://github.com/etheralpha/clientdiversity-org/blob/main/...

    Pretty basic stuff but when I checked out Hugo I was having the hardest time trying to figure out how to do it.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • missing-semester

    The Missing Semester of Your CS Education 📚

    The Missing Semester of CS education by MIT ( https://missing.csail.mit.edu/ ) has a lot of great materials and videos to get started with basics of command line, shell, and git.

    It has been discussed previously on HN ( https://news.ycombinator.com/item?id=22226380 )

  • sitepress

    Sitepress ruby gems

    I created https://sitepress.cc/ because you can have both! It can run a dynamic content site from a Rails app or it can compile out pages that can be deployed to any static website host.

    It doesn’t have a front end for authoring pages, styles, etc, but that could be built on top of this library.

  • Lektor

    The lektor static file content management system

    Lektor might be worth a look: https://www.getlektor.com/

    After creating a site you start a local server by executing "lektor run" in the local folder, then preview the site in your webbrowser. There you get a edit-button whivh opens a backend with which you can edit the website. From that backend you can hit an upload button which allows you to push the static site directly to a remote (e.g. via scp)

  • content

    The file-based CMS for your Nuxt application, powered by Markdown and Vue components. (by nuxt)

    You can do something a little like this with Nuxt and Nuxt Content:

    https://content.nuxtjs.org/

    On the surface it seems like a pretty roundabout way to work, but the static generation side of things works well. Not quickly (well, not Hugo-quickly).

  • zas

    Most simple static website generator in Golang.

    Allow me to share my own SSG, and let me now if the documentation is clear, please :) https://github.com/imdario/zas

    There are some issues to iron, but it's functional.

  • clarin

    This.

    I was tired of having to learn how each SSG worked so I ended up writing my very-specific-for-my-needs one in an afternoon (and polishing in a few days more)[0]

    Surprisingly, my SSG is starting to look like those SSG I didn't want to use. It's the natural evolution or I'm being biased after years of reading SSG docs? :-)

    [0] https://github.com/luismede/clarin

  • Next.js

    The React Framework

    "allows" as in "you can hack it to support that use case" [1].

    Moreover, Nextjs's devs are increasingly ignoring that use case to the point where it is unclear if you'll hit a roadblock where you can't update anymore because the required amount of hacking is just too much to continue using it like that.

    https://github.com/vercel/next.js/issues/5054

  • Hugo

    The world’s fastest framework for building websites.

    Yes, Go templating is quite hard. There was a feature request[1] to implement the Django/Jinja2-like Pongo2 template engine[2], but got rejected because it would have been a too big change.

    [1]: https://github.com/gohugoio/hugo/issues/1359

    [2]: https://github.com/flosch/pongo2

  • pongo2

    Django-syntax like template-engine for Go

    Yes, Go templating is quite hard. There was a feature request[1] to implement the Django/Jinja2-like Pongo2 template engine[2], but got rejected because it would have been a too big change.

    [1]: https://github.com/gohugoio/hugo/issues/1359

    [2]: https://github.com/flosch/pongo2

  • mattgreer.dev

    my website

    You don't need to do that, just put this config setting on the page

    https://github.com/city41/mattgreer.dev/blob/main/pages/inde...

  • jekyll-admin

    A Jekyll plugin that provides users with a traditional CMS-style graphical interface to author content and administer Jekyll sites.

  • Middleman

    Hand-crafted frontend development

    I worked with middleman[0] before and it was much easier to setup for these kind of sites. It might not be as fast as Hugo but who cares if you change a page every other month.

    [0] https://middlemanapp.com/

  • site

    Just my webpage (by benibela)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts