I want to move away from having to have a database just to serve a blog, and I want to really dive deep and tweak the CSS, HTML, and JavaScript behind it. What is the best static site generator out there? I'm going back and forth between Hexo and Hugo, but perhaps there's a third alternative?
Did you give 5 minutes to https://phenomic.io/ ?
Phenomic is a modern website generator based on the React and Webpack ecosystem. You can use it to build static* websites.
* All pages are available as HTML (works with no JavaScript) but user can get an enhanced navigation (when JavaScript is on). Phenomic provides a dynamic UX similar to apps. Try to navigate in this website to see it by yourself.
I use Hexo.js
Wrote a tutorial and source code! Available here: github.com/connor11528/hexo-personal-site/blob/ma…
It is a Node.js static site generator
Hugo is my choice it's using markdown and have some good themes, I'm using it for my personal blog on gitlab pages
I'm amazed no one of the commenters has mentioned Jekyll which is supported by Github Pages natively. Individual blog posts live in markdown files with metadata stored in YAML front-matter. I highly recommend you give it a try.
I use hubpress and am very happy with it. Articles are written in asciidoc (very similar to markdown)
Maybe you should take a look at Gatsby by Kyle Mathews. Gatsby uses Webpack and React to process Markdown files to HTML. Haven't tested it yet, but I think it looks promising.
Hexo is a great choice if you're familiar with Markdown and Git, and you can deploy your blog in GitHub Pages for free
This is a little biased, since I work for the company behind these projects - but check out Roots and it's successor Spike (both are powered by Node.js)
Both are super flexible, and we have used both in production.
Roots has been used on many sizeable public-facing sites and is extremely flexible in that you can effectively use whatever view engine, JavaScript transpiler or CSS preprocessor you like and even use a combination of, say, Stylus -> PostCSS or Jade -> Handlebars via it's multipass compilation feature, as well as render dynamic content via Markdown with YAML frontmatter in folders, or render dynamic collections fetched from APIs, etc.
However, because Roots supports so many underlying transpilers, dependency management falls short and Roots suffers from a lack of fast incremental builds due to this fact - so once your site gets extremely large, compiling a site during development becomes somewhat slow.
Spike, which has been used in production on a few sites (but is still in the early stages of development), aims to be the solution to this problem - by relying solely on PostCSS, PostHTML, Babel and Webpack, Spike is able to keep full track of your site's dependencies as well as offer an extremely powerful system of reasoning for code transformation capable of all the features generic transpilers are capable of and more, all while keeping recurring builds during development nice and quick.
Both the Roots + Spike generators are built with Hybrid Static sites in mind - they shine really well when you separate your API from your SPA, but can be used to build simple blogs as well through dynamic content plugins.
Roots has been around a lot longer, and has a larger plugin pool (one is even capable of letting you use Wordpress as a CMS for your static site), but I definitely recommend trying out Spike :)
Maxime Thirouin
Maxime Thirouin
David A. Lareo
Full stack human: philosopher, civic technologist, cloud architect and open source advocate #EdTech #FLOSS #DevOps Technical Specialist @ Bl
I use Jekyll a lot, but also love the simplicity of https://harpjs.com/