Ask DN: Help me find an ideal static site generator

over 7 years ago from , Designer @kiwi.com

Ello community and good morning :]

As the title says I'm looking for an ideal static site generator to fit my needs. Not perfect one, nor the best one, just an ideal one. I currently don't have the capacity to go through the docs and study it all. So I thought I would ask the community about your experiences, pros and cons. I'm currently using Craft CMS which is perfectly fine, but I find it to be an overkill for what I need. Generators that come to my mind are: Jekyll, Hugo, Middleman. Main use case is a personal portfolio with a blog on the side. I also know this has been mentioned lots of time here on DN, but comments from other threads like "Jekyll +1" brings me no real value.

Things that matter:

  • Customizability (Take this blogpost as an example. I would like to define my own content types. Such as standard paragraphs, comments and similar. So far my experience is that static site generators often generates things that are not changeable. e.g.

    without classes)

  • Active Community - plugins I don't want to spend days writing my solution for every little problem.

Things that don't matter that much but would be a great addition:

  • Speed (I don't want to spend my time staring at the screen while the site rebuilds itself.)

  • Active development It isn't an abandonware. There is really no reason to be in active development but I'll sleep better :))


  • Ivan StorckIvan Storck, over 7 years ago

    I'd pick one in a language you are most comfortable in. For me, this means HexoJS. It has the most stars on Github after Jekyll , and a lot of the same features, but doesn't need ruby. Lots of plugins, too.

    FWIW, A great place to host static sites is http://aerobatic.io where I am currently working!

    2 points
  • Weston Thayer, over 7 years ago

    They aren't very hard to build from scratch. < 200 lines of code? I built on npm and Gulp. Couldn't ask for a more vibrant plugin community.

    2 points
  • A. M. ­DouglasA. M. ­Douglas, over 7 years ago


    1 point
  • David DarnesDavid Darnes, over 7 years ago

    I think you already have your answer. Jekyll does a fine job of blogs and now with custom collections your portfolio is catered for as well. There's still a ton of activity within its community and codebase.

    Additionally, looking at your example article I'd think you could achieve all of it with decent markdown use and a few pieces of front matter.

    1 point
  • Khaja MinhajuddinKhaja Minhajuddin, over 7 years ago

    Take a look at Hexo, I think it suits your needs. Moreover it is built with javascript so it should be easy to change. I use it for my blog. Moreover you can setup Automatic Deployments to Github Pages using Hexo on Zammu

    1 point
  • Carolann Merchant, over 7 years ago (edited over 7 years ago )

    I'm a huge fan of Middleman. It fits all of the criteria that you mentioned, even the last two (speed and active development).

    I've always found Middleman to be extremely user-friendly but plenty of room to scale for more advanced users.

    Sacha wrote a great post that I reference all the time about some of the cool ways they were using Middleman at Meteor: https://www.discovermeteor.com/blog/three-middleman-hacks-were-using-on-this-site/

    A note on Metalsmith:

    I work at Segment, home of the creators of Metalsmith <3. It's great if you want something incredibly customizable and pluggable. I find that it requires too much engineering and setup for most of the sites/projects I want to build. And so, it doesn't usually fit my use case.

    0 points
  • Alec LomasAlec Lomas, over 7 years ago (edited over 7 years ago )

    I constantly recommend it, but Metalsmith is fantastic. Docs right now are basically non-existent, but the community in the Slack channel and on Github are working on that.

    The beauty of it is that it's all plugins. So you could easily create the page above using some combination of metalsmith-layouts and metalsmith-collections.

    Also, another plug for StaticGen, which is useful for finding a solution that works for you.

    0 points
  • Nick HileyNick Hiley, over 7 years ago

    Try http://cactusformac.com I use it for all my static work because I love the GUI approach.

    0 points
  • Ines MontaniInes Montani, over 7 years ago

    Here are my two favourites:

    Jekyll: Best suited for blogs and portfolios in my opinion (I also use Jekyll for my blog) and probably best suited for your needs, too. Your site seems to be set up in a pretty straightforward way so all you'd really have to do is convert the templates for your blog and portfolio and write your posts in either Markdown or plain HTML, which both gives you enough control to present your content the way you want.

    I'm usually very picky when it comes to customization and how I want things to look/work, and even I haven't really come across problems that required plugins, since you can pretty much just set things up from scratch. So most available plugins tackle bigger issues or add functionality, which is how it should be imo.

    Harp: I'm a big fan of Harp, which I've been using for a project I'm currently working on. It's definitely more complex than Jekyll, but also more flexible and just as intuitive. It's build on Node and and you can use Jade to write your templates (including mixins, includes and dynamic partials), construct any custom logic with Javascript and write all config and meta in JSON. It might be a little too much for just a blog, so I'd only use it if:

    • you want any custom folder structure that just works without additional configuration
    • built-in pre-processing is important to you (Jade, Sass/Less with Autoprefixer etc.)
    • you want to use a lot of custom content elements and components, like data tables or block quotes that would benefit from mixins (for example, instead of using the actual HTML markup every time you want to use a block quote consisting of blockquote, p, cite and classes for styling, you could just write +blockquote)
    • you prefer JSON to Front Matter and Jade/EJS to Liquid
    0 points
  • vadim mikhnovvadim mikhnov, over 7 years ago

    http://getgrav.org GRAV is fantastic. I've switched my latest personal project from Wordpress to it and didn't regret it. It's ultra-fast. It's insanely customizable; both on low level and on high level: you can build any kind of page with any kind of content, process and re-process it with your custom plugins. Pages are not just your basic Markdown but Markdown + YAML headers which can store anything you want. You can have all kinds of custom routing and sorting. There's lots of community plugins (and even admin panel if you want that). It's actively developed and developers reply to tickets on GitHub and actually fix the bugs.

    And last but not least — it's in PHP, so it can run on any kind of shitty hosting.

    It truly amazes me why this fantastic CMS has so low recognition.

    0 points
  • Dario Castañé, over 7 years ago (edited over 7 years ago )

    I built an easy-to-hack static generator, Zas https://github.com/imdario/zas You can easily define your own content types and extend it with in any programming language.

    Unfortunately, it doesn't fit your "active community - plugins"!

    0 points