Why Hugo?
As I've pointed out a few times Hugo powers this site. In this post I'm going to try to point out some pros and cons, so let's get into it.
To paraphrase Douglas Adams:
"The static site generator landscape is big. Really big. You just won’t believe how vastly hugely mindbogglingly big it is. I mean you may think it’s daunting choosing a web framework, but that’s just peanuts to the static site generator landscape."
Just to give you a taste here's a list I've stolen copied from staticsitegenerators.net:
Name | Github | License | Language | Created | Stars |
---|---|---|---|---|---|
ABlog | abakan-zz/ablog | other | Python | 28-04-2014 | 121 |
Ace | botanicus/ace | mit | Ruby | 20-10-2010 | 37 |
acrylamid | posativ/acrylamid | BSD-2-Clause | Python | 27-03-2011 | 282 |
AkashaCMS | akashacms/akashacms | JavaScript | 17-10-2012 | 21 | |
Akashic | Liutos/cl-github-page | Common Lisp | 14-06-2012 | 46 | |
antwar | antwarjs/antwar | mit | JavaScript | 22-02-2015 | 461 |
Appernetic | Web | 20-01-2016 | |||
assemble | assemble/assemble | mit | JavaScript | 22-09-2012 | 3790 |
Automad | MIT | PHP | |||
awestruct | awestruct/awestruct | mit | Ruby | 22-02-2010 | 272 |
AYM CMS | lethain/aym-cms | mit | Python | 15-09-2008 | 57 |
baker | taylorchu/baker | gpl-2.0 | Perl | 31-05-2013 | 60 |
Balloon | gschier/balloon | ISC | JavaScript | 11-10-2014 | 25 |
BAM | twilson63/bam | MIT | JavaScript | 18-02-2012 | 14 |
bashblog | cfenollosa/bashblog | GPL-3.0 | Shell | 21-02-2013 | 959 |
bazinga | ap0calypse/bazinga | gpl-3.0 | Perl | 30-06-2011 | 16 |
Beetle | cknv/beetle | mit | Python | 13-07-2014 | 2 |
Benjen | daeken/Benjen | WTFPL | Python | 13-03-2013 | 180 |
Bitbucket Pages | |||||
Blacksmith | flatiron/blacksmith | mit | JavaScript | 26-11-2011 | 563 |
Blatter | MIT | Python | |||
BlazeBlogger | GPL-3.0 | Perl | |||
bliper | BSD-2-Clause | Perl | |||
Blode | stackoverflow/blode | JavaScript | 26-12-2011 | 9 | |
blogc | blogc/blogc | bsd-3-clause | C | 15-04-2015 | 129 |
blogc++ | WTFPL | C++ | |||
Blogen | ipconfiger/blogen | gpl-3.0 | Python | 18-10-2012 | 18 |
blogit | oz123/blogit | BSD-3-Clause | Python | 22-11-2012 | 11 |
Blogofile | EnigmaCurry/blogofile | MIT | Python | 02-03-2009 | 334 |
blogpy | travisred/blogpy | gpl-3.0 | Python | 18-10-2012 | 21 |
blosxom | MIT | Perl | 28-02-2002 | ||
Blug | jeffknupp/blug | MIT | Python | 11-07-2012 | 160 |
Bonsai | benschwarz/bonsai | mit | Ruby | 02-12-2009 | 293 |
Bramble MVC | iansullivan88/bramble-mvc | mit | JavaScript | 12-04-2014 | 7 |
Bread | pvorb/node-bread | mit | JavaScript | 24-08-2011 | 11 |
Bricolage CMS | bricoleurs/bricolage | (BSD-3-Clause AND LGPL-2.1 AND CC-BY-SA-2.5) | Perl | 23-04-2009 | 109 |
Broccoli Taco | moudy/broccoli-taco | MIT | JavaScript | 24-07-2014 | 95 |
brochure | sstephenson/brochure | mit | Ruby | 12-10-2010 | 356 |
Bryar | Artistic-1.0-Perl | Perl | |||
Bunto | bunto/bunto | mit | Ruby | 31-12-2014 | 9 |
buster | axitkhurana/buster | mit | Python | 16-10-2013 | 776 |
Cabin | CabinJS/Cabin | mit | JavaScript | 23-05-2013 | 483 |
Cactus | eudicots/Cactus | other | Python | 28-02-2011 | 3344 |
Calepin | jokull/calepin | isc | JavaScript | 17-04-2012 | 132 |
Carew | carew/carew | mit | PHP | 16-12-2012 | 89 |
catsup | whtsky/Catsup | mit | Python | 06-07-2012 | 135 |
Cecil | Cecilapp/Cecil | mit | PHP | 10-09-2013 | 96 |
Chili | clvrobj/chili | mit | Python | 10-06-2012 | 28 |
Chisel | dz/chisel | mit | HTML | 02-03-2009 | 67 |
Chronicle | skx/chronicle2 | (GPL-3.0 OR Artistic-1.0-Perl) | Perl | 18-09-2014 | 16 |
Cipherpress | lejonet/Cipherpress | GPL-2.0 | Python | 21-07-2011 | 6 |
cl-blog-generator | hugoduncan/cl-blog-generator | bsd-2-clause | Common Lisp | 05-03-2009 | 9 |
Cloud Cannon | |||||
CMintS | cmints/cmints | mit | JavaScript | 23-12-2017 | 28 |
cobalt.rs | cobalt-org/cobalt.rs | mit | Rust | 28-10-2014 | 806 |
Codex | logicalparadox/codex | MIT | JavaScript | 06-10-2011 | 64 |
Coisas | fiatjaf/coisas | mit | JavaScript | 05-05-2014 | 284 |
coleslaw | coleslaw-org/coleslaw | bsd-2-clause | Common Lisp | 19-02-2011 | 436 |
Composer | shazow/composer | other | Python | 16-10-2011 | 43 |
Contentful | |||||
Cory | leo/cory | mit | JavaScript | 24-01-2016 | 61 |
cub | patcoll/cub | MIT | PHP | 18-03-2010 | 3 |
cyrax | piranha/cyrax | isc | Python | 16-08-2011 | 38 |
cytoplasm | startling/cytoplasm | mit | Python | 14-12-2011 | 13 |
Dapper | markdbenson/dapper | MIT | Perl | 18-02-2014 | 36 |
Daux.io | justinwalsh/daux.io | MIT | 03-06-2013 | 4633 | |
deplate | tomtom/deplate | gpl-2.0 | Ruby | 09-11-2009 | 12 |
Desi | DearDesi/desirae | apache-2.0 | JavaScript | 03-01-2015 | 14 |
django-medusa | mtigas/django-medusa | other | Python | 04-11-2011 | 331 |
django-staticgen | mishbahr/django-staticgen | bsd-3-clause | Python | 26-11-2015 | 5 |
djangothis | amitu/djangothis | other | Python | 14-08-2013 | 49 |
DocPad | docpad/docpad | MIT | CoffeeScript | 17-03-2011 | 3006 |
Docta | 05bit/docta | bsd-3-clause | HTML | 09-04-2014 | 5 |
Docusaurus | facebook/docusaurus | MIT | JavaScript | 20-06-2017 | 16770 |
Drapache | louissobel/Drapache | mit | Python | 10-04-2012 | 203 |
drfrederson | klml/drfrederson | mit | PHP | 31-08-2013 | 9 |
dropbox-blog | markashleybell/dropbox-blog | Python | 09-03-2012 | 6 | |
Dropplets | johnroper100/dropplets | MIT | PHP | 07-02-2013 | 1614 |
DropPress | Reiot/droppress | JavaScript | 17-09-2012 | 3 | |
Drupan | fallenhitokiri/drupan | BSD-2-Clause | Python | 16-09-2011 | 41 |
DSSG | kambrium/dssg | mit | D | 11-05-2017 | 12 |
DSW | dfr62/dsw | Shell | 20-10-2014 | 8 | |
dwttool | kambrium/dwttool | mit | D | 26-05-2017 | 1 |
dynamicmatic | nex3/dynamicmatic | mit | Ruby | 08-10-2009 | 45 |
Easystatic | easystatic/easystatic | apache-2.0 | JavaScript | 14-03-2016 | 48 |
ecstatic | samrat/ecstatic | EPL-1.0 | Clojure | 16-01-2013 | 20 |
electro | caldwell/electro | Perl | 13-11-2013 | 2 | |
Eleventy | 11ty/eleventy | mit | JavaScript | 27-11-2017 | 5426 |
Elyse | FSX/elyse | mit | Python | 01-04-2012 | 2 |
embellih | boscoh/embellish | bsd-2-clause | JavaScript | 08-06-2013 | 10 |
enfield | fortes/enfield | mit | CoffeeScript | 28-10-2012 | 86 |
Engineer | tylerbutler/engineer | mit | Python | 14-03-2012 | 22 |
Equiprose | thibaultCha/Equiprose | MIT | JavaScript | 25-11-2013 | 12 |
Fairytale | 46Bit/fairytale | mit | Ruby | 30-03-2012 | 6 |
FantasticWindmill | sylvainhalle/FantasticWindmill | gpl-3.0 | PHP | 25-01-2013 | 12 |
fBlog | GPL-3.0 | Fortran | |||
Firedrop2 | BSD-3-Clause | Python | |||
Firmant | BSD-3-Clause | Python | |||
fjord | dkuntz2/fjord | other | Python | 28-12-2012 | 1 |
Flamel | ipavl/flamel | mit | F# | 26-10-2014 | 2 |
Fledermaus | sapegin/fledermaus | mit | JavaScript | 27-09-2015 | 75 |
flim | shapeshed/flim | mit | JavaScript | 02-02-2013 | 15 |
Floyd | nikcub/floyd | bsd-2-clause | Python | 23-02-2012 | 12 |
FMPP | Apache-2.0 | Java | |||
ford.py | citruspi/ford.py | mit | Python | 30-01-2013 | 2 |
Frank | blahed/frank | mit | Ruby | 15-01-2010 | 419 |
Franklin | bryanbraun/franklin | MIT | Ruby | 13-06-2014 | 132 |
Frog | greghendershott/frog | MIT | Racket | 12-03-2013 | 748 |
Frozen-Flask | Frozen-Flask/Frozen-Flask | other | Python | 24-12-2010 | 632 |
Funnel | shuhaowu/Funnel | gpl-3.0 | Python | 13-02-2012 | 12 |
Garoozis | aguerrera/Garoozis | other | F# | 22-04-2011 | 9 |
Gatsby | gatsbyjs/gatsby | mit | JavaScript | 21-05-2015 | 44202 |
Gen | trq/Gen | mit | PHP | 04-09-2012 | 12 |
Genesis | samstefan/genesis | JavaScript | 05-07-2013 | 5 | |
Gerablog | paulohrpinheiro/gerablog | mit | Ruby | 26-12-2016 | 8 |
gettheshitdone | johannesboyne/gettheshitdone | mit | JavaScript | 30-11-2013 | 1 |
ghost-render | mixu/ghost-render | JavaScript | 06-10-2014 | 193 | |
GitHub Pages | |||||
GitLab Pages | |||||
Glyph | h3rald/glyph | other | Ruby | 24-04-2009 | 76 |
Go-Static! | colynb/generator-go-static | mit | JavaScript | 10-09-2013 | 23 |
goblog | icub3d/goblog | MIT | Go | 27-01-2013 | 23 |
Goldbarg | Schnouki/Golbarg | gpl-3.0 | Python | 27-02-2010 | 17 |
gollum-site | dreverri/gollum-site | MIT | Ruby | 21-10-2010 | 252 |
gor | wendal/gor | BSD-3-Clause | Go | 08-01-2013 | 595 |
gostatic | piranha/gostatic | isc | Go | 17-07-2012 | 360 |
Grain | sysgears/grain | (Apache-2.0 AND MIT) | Groovy | 11-10-2013 | 148 |
Grav | getgrav/grav | mit | PHP | 02-08-2014 | 11960 |
Grav Administration Panel | getgrav/grav-plugin-admin | mit | CSS | 04-08-2015 | 295 |
Graze | mikoskinen/graze | MIT | C# | 04-02-2012 | 119 |
grender | peterbourgon/grender | BSD-3-Clause | Go | 29-05-2012 | 55 |
Griffin | pawandubey/griffin | apache-2.0 | Java | 16-06-2015 | 25 |
Grow | grow/grow | mit | Python | 17-09-2013 | 335 |
Growl | xfire/growl | GPL-2.0 | Python | 23-03-2009 | 62 |
grunt-generator | clavery/grunt-generator | mit | JavaScript | 19-12-2012 | 25 |
GSL | imatix/gsl | gpl-3.0 | C | 11-10-2010 | 511 |
guetzli | muellermichel/guetzli | (LGPL-3.0 OR GPL-3.0) | Python | 09-12-2015 | 33 |
gulp-ssg | paulwib/gulp-ssg | MIT | JavaScript | 06-03-2014 | 48 |
Gustav | futape/gustav | BSD-3-Clause | PHP | 15-01-2015 | 8 |
habit | punkave/habit | MIT | JavaScript | 20-03-2014 | 6 |
haggis | tych0/haggis | other | Haskell | 25-01-2013 | 10 |
Hakyll | jaspervdj/hakyll | other | Haskell | 02-12-2009 | 2145 |
Halwa | mhlakhani/halwa | mit | Python | 01-02-2013 | 11 |
Hammer | |||||
hanayo | disoul/hanayo | JavaScript | 03-11-2015 | 11 | |
handcrank | Python | ||||
Handle | gilbitron/handle | mit | PHP | 19-03-2016 | 24 |
handroll | handroll/handroll | bsd-2-clause | Python | 02-05-2014 | 15 |
happyplan | happyplan/happyplan | mit | JavaScript | 23-01-2013 | 81 |
Harmonic | JSRocksHQ/harmonic | mit | JavaScript | 15-04-2014 | 293 |
haroopress | rhiokim/haroopress | MIT | JavaScript | 27-02-2012 | 163 |
Harp | sintaxi/harp | MIT | JavaScript | 03-12-2012 | 4870 |
Hastie | mkaz/hastie | mit | Go | 26-02-2012 | 154 |
Haunt | GPL-3.0-or-later | Scheme | |||
Heckle | marijnh/heckle | other | JavaScript | 04-09-2012 | 345 |
Helpful Site | g4b1nagy/helpful-site | unlicense | Python | 25-05-2014 | 12 |
Hepek | sake92/hepek | apache-2.0 | Scala | 04-02-2018 | 64 |
Hexo | hexojs/hexo | mit | JavaScript | 23-09-2012 | 30365 |
HiD | genehack/HiD | Artistic-1.0-Perl | Perl | 29-04-2012 | 27 |
High Voltage | thoughtbot/high_voltage | mit | Ruby | 21-04-2009 | 2987 |
Hobix | hobix/hobix | other | Ruby | 23-08-2009 | 11 |
HSC | mbethke/hsc | gpl-2.0 | C | 21-09-1998 | 7 |
hublo | pyr/hublo | isc | Emacs Lisp | 01-09-2015 | 25 |
HubPress | HubPress/hubpress.io | mit | CSS | 01-02-2015 | 2852 |
Hugo | gohugoio/hugo | apache-2.0 | Go | 04-07-2013 | 43864 |
Hyde | hyde/hyde | mit | Python | 07-01-2011 | 1533 |
Hydrastic | bpizzi/Hydrastic | mit | PHP | 06-05-2011 | 3 |
igapyon | igapyon/igapyonv3 | Apache-2.0 | Java | 27-06-2015 | 3 |
igor | aconbere/igor | mit | Python | 22-07-2009 | 16 |
Ikiwiki | |||||
ink | InkProject/ink | Go | 14-02-2015 | 938 | |
ipsum genera | dom96/ipsumgenera | mit | Nim | 18-08-2013 | 48 |
JAGSS | esonderegger/jagss | mit | Python | 08-01-2013 | 3 |
JBake | jbake-org/jbake | mit | Java | 03-03-2013 | 818 |
Jedie | mattn/jedie | mit | Go | 22-11-2013 | 122 |
Jekxll | osaris/jekxyl | PHP | 06-01-2013 | 6 | |
Jekyde | zohooo/jekyde | MIT | JavaScript | 30-04-2013 | 53 |
Jekyll | jekyll/jekyll | mit | Ruby | 20-10-2008 | 40348 |
Jekyll Admin | jekyll/jekyll-admin | mit | JavaScript | 19-05-2016 | 2241 |
Jekyll Now | barryclark/jekyll-now | mit | CSS | 07-02-2014 | 6699 |
Jekytrum | georgeOsdDev/jekytrum | Scala | 27-10-2014 | 1 | |
jem-press | stsievert/jem-press | GPL-3.0 | CSS | 30-05-2014 | 2 |
Jen | rfunduk/jen | mit | CSS | 18-09-2011 | 4 |
jigsaw | tightenco/jigsaw | mit | PHP | 25-05-2015 | 1505 |
jinjet | jokull/jinjet | isc | Python | 16-05-2012 | 5 |
jkl | drone/jkl | mit | Go | 02-09-2012 | 134 |
Jott | jonsherrard/jott | unlicense | JavaScript | 14-02-2013 | 73 |
Journo | jashkenas/journo | MIT | CoffeeScript | 28-02-2013 | 428 |
Jr | xeoncross/jr | MIT | HTML | 17-05-2014 | 763 |
jssg | agrison/jssg | MIT | Java | 21-02-2013 | 17 |
jstatico | egeozcan/jstatico | mit | JavaScript | 13-04-2014 | 2 |
kalastatic | kalamuna/kalastatic | MIT | JavaScript | 31-12-2014 | 37 |
Kel | koostudios/kel | MIT | CoffeeScript | 07-05-2012 | 15 |
Kerouac | jaredhanson/kerouac | mit | JavaScript | 11-11-2012 | 80 |
Kirby | getkirby/starterkit | PHP | 04-07-2018 | 76 | |
kkr | dchest/kkr | bsd-2-clause | Go | 23-10-2013 | 10 |
Korma | practicingruby/korma | Ruby | 31-03-2009 | 72 | |
Kulfon | kulfonjs/kulfon | other | JavaScript | 16-10-2016 | 97 |
Lambda Pad | gar1t/lambdapad | apache-2.0 | Erlang | 23-06-2014 | 110 |
Lannister | wjlroe/lannister | CC-BY-SA-3.0 | Go | 27-04-2011 | 15 |
Lanyon | arthurk/lanyon | bsd-3-clause | Python | 29-07-2010 | 10 |
larassg | andygwood/larassg | PHP | 16-10-2014 | 2 | |
Latemp | Perl | ||||
lava | johannhof/lava | mit | Rust | 16-10-2014 | 4 |
Laze | avdgaag/laze | mit | Ruby | 27-01-2010 | 3 |
lazyblorg | novoid/lazyblorg | gpl-3.0 | Python | 19-10-2013 | 184 |
Leeflets | Leeflets/leeflets | MIT | PHP | 01-08-2012 | 129 |
Lektor | lektor/lektor | other | Python | 19-12-2015 | 3275 |
Lenscap | honza/lenscap | bsd-2-clause | Python | 16-10-2014 | 97 |
Leo | GPL-2.0 | C++ | |||
Letterpress | an0/Letterpress | other | Python | 01-02-2013 | 671 |
lettersmith | gordonbrander/lettersmith | Lua | 12-10-2014 | 18 | |
lightning | borismus/lightning | MIT | Python | 11-03-2012 | 90 |
liquidluck | avelino/liquidluck | Python | 03-09-2011 | 340 | |
Logya | yaph/logya | mit | Python | 21-08-2011 | 15 |
Luapress | Fizzadar/Luapress | mit | Lua | 13-02-2013 | 167 |
Machined | petebrowne/machined | mit | Ruby | 06-10-2011 | 31 |
Madoko | houshuang/madoko | apache-2.0 | JavaScript | 21-11-2014 | 41 |
Magneto | donmelton/magneto | mit | Ruby | 17-12-2012 | 125 |
makebakery | datagrok/makebakery | AGPL-3.0+ WITH Autoconf-exception-3.0 | Makefile | 19-07-2011 | 69 |
makeblog | fyhuang/makeblog | bsd-2-clause | Python | 10-05-2012 | 10 |
Makefly | blankoworld/makefly | GPL-3.0 | Lua | 25-06-2012 | 17 |
makesite.py | sunainapai/makesite | mit | Python | 17-03-2018 | 1311 |
Markbox | myfreeweb/markbox | Python | 14-11-2012 | 96 | |
Markdoc | zacharyvoase/markdoc | unlicense | Python | 08-04-2010 | 342 |
markdown-styles | mixu/markdown-styles | BSD-3-Clause | HTML | 15-02-2013 | 1502 |
Markx | jgallen23/markx | mit | JavaScript | 28-01-2012 | 131 |
massimo | petebrowne/massimo | mit | Ruby | 14-11-2009 | 10 |
Maven Site Plugin | Apache-2.0 | Java | |||
mdwiki | Dynalon/mdwiki | AGPL-3.0 | JavaScript | 28-09-2013 | 2872 |
Mecha | mecha-cms/mecha | gpl-3.0 | PHP | 26-04-2014 | 67 |
meinhof | miguelibero/meinhof | mit | PHP | 29-04-2012 | 4 |
metalsmith | segmentio/metalsmith | MIT | JavaScript | 04-02-2014 | 7449 |
Miblo | rafalp/Miblo | BSD-2-Clause | PHP | 12-04-2012 | 6 |
Middleman | middleman/middleman | mit | Ruby | 27-07-2009 | 6609 |
Minimal | lutzroeder/Minimal | mit | JavaScript | 01-01-2017 | 59 |
MinoriWiki | phoenixlzx/MinoriWiki | mit | JavaScript | 23-03-2015 | 198 |
Misakai Baker | Kelindar/misakai-baker | apache-2.0 | C# | 17-10-2014 | 41 |
misaki | liquidz/misaki | other | Clojure | 20-03-2012 | 327 |
MkDocs | mkdocs/mkdocs | bsd-2-clause | Python | 11-01-2014 | 9962 |
mksite | clehner/mksite | other | Awk | 03-01-2014 | 9 |
monkeyman | wspringer/monkeyman | gpl-2.0 | Scala | 03-02-2012 | 47 |
Mulder | dragan/mulder | mit | C# | 03-05-2012 | 35 |
Muleify | vokeio/muleify | mpl-2.0 | JavaScript | 14-07-2016 | 14 |
mynt | Anomareh/mynt | other | Python | 04-12-2011 | 356 |
NanoBlogger | GPL-3.0 | Shell | |||
Nanoc | nanoc/nanoc | Ruby | 03-05-2007 | 1838 | |
nanogen | epochblue/nanogen | mit | Python | 13-10-2014 | 10 |
NestaCMS | gma/nesta | mit | Ruby | 27-11-2008 | 898 |
Netlify Drop | |||||
Neverland | demon386/Neverland | JavaScript | 16-09-2012 | 2 | |
Newcomen | GPL-3.0 | Perl | |||
Next.js | zeit/next.js | mit | JavaScript | 05-10-2016 | 47952 |
nib | jreese/nib | mit | Python | 28-09-2012 | 16 |
Nibbleblog | dignajar/nibbleblog | other | PHP | 21-07-2012 | 219 |
Nico | lepture/nico | bsd-3-clause | JavaScript | 08-12-2012 | 281 |
Nikola | getnikola/nikola | mit | Python | 14-04-2012 | 1887 |
node-blog | creationix/node-blog | JavaScript | 29-01-2010 | 78 | |
node-qssg | shanewholloway/node-qssg | mit | JavaScript | 05-03-2013 | 1 |
nodeache | nunull/nodeache | mit | JavaScript | 06-01-2014 | 3 |
noflo-jekyll | noflo/noflo-jekyll | MIT | CoffeeScript | 12-11-2012 | 216 |
Nuxt.js | nuxt/nuxt.js | other | JavaScript | 26-10-2016 | 27024 |
o-blog | renard/o-blog | WTFPL | Emacs Lisp | 06-01-2012 | 261 |
Oak | marc0s/oak | wtfpl | Python | 27-05-2010 | 9 |
obelisk | BennyHallett/obelisk | mit | Elixir | 01-07-2014 | 348 |
Ocam | toddlucas/ocam | mit | C# | 12-02-2012 | 16 |
Octopress | octopress/octopress | mit | Ruby | 17-11-2013 | 1711 |
onessg | RyanZim/onessg | mit | JavaScript | 26-07-2016 | 9 |
operator-DD3 | operator-dd3/operator-dd3 | unlicense | Lua | 18-06-2014 | 4 |
OpooPress | opoo/opoopress | apache-2.0 | Java | 19-06-2013 | 110 |
Orca | blaesus/orca | Python | 08-03-2014 | 1 | |
Orchid | orchidhq/Orchid | lgpl-3.0 | Kotlin | 19-03-2018 | 362 |
Pagegen | oliverfields/pagegen_v2 | Python | 11-03-2015 | 17 | |
Pagen | jawerty/pagen | mit | JavaScript | 28-03-2013 | 36 |
Pancake.io | hassox/pancake | mit | Ruby | 15-05-2009 | 234 |
pansite | wcaleb/website | CC-BY-SA-3.0 | HTML | 01-05-2012 | 64 |
Papery | Artistic-1.0-Perl | Perl | |||
Pelican | getpelican/pelican | GPL-3.0 | Python | 16-10-2010 | 9607 |
Perun | hashobject/perun | epl-1.0 | Clojure | 22-05-2015 | 334 |
Petrify | caolan/petrify | mit | JavaScript | 31-07-2010 | 264 |
Phenomic | phenomic/phenomic | mit | JavaScript | 01-09-2015 | 3325 |
Phileas | farvardin/phileas | MIT | JavaScript | 24-05-2014 | 3 |
PhlyBlog | phly/PhlyBlog | BSD-2-Clause | PHP | 30-05-2012 | 44 |
PieCrust | ludovicchabant/piecrust | Apache-2.0 | PHP | 02-03-2011 | 244 |
Pilcrow | ljcooke/pilcrow | mit | Python | 05-12-2009 | 14 |
Pith | mdub/pith | mit | Ruby | 04-06-2010 | 38 |
PMBlog | lizheming/PMBlog | PHP | 10-09-2013 | 63 | |
poet | jsantell/poet | mit | JavaScript | 02-07-2012 | 579 |
Pointless | scarwu/Pointless | mit | PHP | 01-04-2012 | 16 |
Polo | agonzalezro/polo | mit | Go | 10-11-2013 | 42 |
poole | obensonne/poole | GPL-3.0 | 28-06-2011 | 32 | |
pop | alexyoung/pop | mit | JavaScript | 20-07-2011 | 64 |
PowerSite | Jaykul/PowerSite | C# | 23-10-2014 | 18 | |
Pretzel | Code52/pretzel | ms-pl | C# | 30-01-2012 | 591 |
Prismic | |||||
Propeller | thegreatsunra/propeller | mit | ApacheConf | 26-11-2013 | 17 |
Prose | |||||
Prosopopee | Psycojoker/prosopopee | gpl-3.0 | Python | 08-12-2015 | 178 |
Pulse CMS | PHP | ||||
Punch | laktek/punch | mit | JavaScript | 20-03-2012 | 1190 |
PyBlosxom | pyblosxom/pyblosxom | other | Python | 09-12-2011 | 64 |
PyBlue | ialbert/pyblue-central | MIT | Python | 09-08-2013 | 28 |
Pyll | arthurk/pyll | bsd-3-clause | Python | 27-03-2011 | 27 |
Qgoda | gflohr/qgoda | other | Perl | 23-05-2016 | 20 |
Quietly Confident | Artistic-1.0-Perl | Perl | |||
Quill | theycallmeswift/quill | Beerware | JavaScript | 24-03-2012 | 52 |
RakeWeb | rweald/rakeweb | Apache-2.0 | Ruby | 16-01-2012 | 1 |
rant | lrvick/rant | other | Python | 15-09-2011 | 9 |
Rassmalog | sunaku/rassmalog | isc | Ruby | 09-02-2009 | 5 |
rawk | kisom/rawk | other | Roff | 01-02-2011 | 42 |
reacat | reacat/reacat | other | JavaScript | 02-09-2014 | 24 |
react-static | rpearce/react-static | mit | JavaScript | 06-10-2015 | 27 |
react-static-site | BradDenver/react-static-site | JavaScript | 29-12-2014 | 384 | |
reactivate | azmenak/reactivate | MPL-2.0 | CoffeeScript | 27-01-2015 | 12 |
Read the Docs (RTD) | readthedocs/readthedocs.org | mit | Python | 16-08-2010 | 5813 |
Really Static | trajano/really-static | gpl-3.0 | PHP | 25-02-2014 | 1 |
Refrain | shootaroo/refrain | MIT | JavaScript | 30-11-2014 | 3 |
regenerate | Lisp | ||||
reptar | reptar/reptar | mit | JavaScript | 24-08-2015 | 268 |
Riji | Songmu/p5-Riji | Artistic-1.0-Perl | Perl | 28-07-2013 | 19 |
Rizzo | fifthposition/rizzo | mit | Groovy | 10-05-2011 | 23 |
romulus | felixge/node-romulus | mit | JavaScript | 19-10-2012 | 159 |
Roots | jescalan/roots | other | CoffeeScript | 18-09-2012 | 1476 |
Rosid | electerious/Rosid | mit | JavaScript | 27-12-2015 | 131 |
rstblog | mitsuhiko/rstblog | other | Python | 23-11-2010 | 204 |
RubyFrontier | mattneub/RubyFrontier | MIT | Ruby | 01-10-2011 | 15 |
Ruhoh | ruhoh/ruhoh.rb | MIT | Ruby | 29-03-2012 | 631 |
s2gen | denisftw/s2gen | mit | Scala | 21-03-2016 | 11 |
Sculpin | sculpin/sculpin | mit | PHP | 21-12-2011 | 1362 |
Second Crack | marcoarment/secondcrack | other | PHP | 05-01-2012 | 832 |
serif | aprescott/serif | mit | Ruby | 04-11-2012 | 117 |
serious-chicken | rtorr/serious-chicken | mit | Python | 02-12-2012 | 2 |
Serve | jlong/serve | other | Ruby | 31-05-2008 | 846 |
SG | maxailloud/SG | other | PHP | 01-03-2012 | 4 |
sg.py | venthur/sg | GPL-3.0 | Python | 25-07-2010 | 2 |
SGG | Charlesworth/SSG | Ruby | 07-09-2014 | 2 | |
shelob | rubyworks/shelob | other | Ruby | 11-07-2012 | 4 |
Shire | sangupta/shire | Apache-2.0 | Java | 07-03-2012 | 2 |
Shonku | kushaldas/shonku | gpl-3.0 | Go | 01-04-2014 | 9 |
Silex | silexlabs/Silex | gpl-3.0 | TypeScript | 29-09-2013 | 798 |
Simiki | tankywoo/simiki | mit | Python | 12-10-2013 | 1044 |
Simple | isnowfy/simple | mit | JavaScript | 07-04-2014 | 890 |
simple-static | wlangstroth/simple-static | Awk | 06-04-2012 | 28 | |
simple-website | alexanderte/simple-website | Go | 11-10-2014 | 47 | |
simsalabash | markusfisch/simsalabash | mit | Shell | 25-11-2011 | 12 |
Site builder | inanimatt/site-builder | mit | PHP | 09-08-2011 | 26 |
Site builder console | efdummy/Site-builder-console | mit | C# | 18-10-2017 | |
Site44 | Web | ||||
SiteGen (Dart) | MikeMitterer/dart-sitegen | (Apache-2.0 AND BSD-3-Clause) | Dart | 30-03-2015 | 33 |
Sitegen (MoonScript) | leafo/sitegen | MIT | Lua | 31-10-2011 | 55 |
sitio | fiatjaf/sitio | mit | JavaScript | 11-12-2016 | 43 |
Smallest Blogger | ranmocy/smallest-blogger | mit | CSS | 10-03-2014 | 13 |
snowshoe | edvanbeinum/snowshoe | PHP | 06-09-2011 | 7 | |
Soapbox | arnolddevos/Soapbox | lgpl-2.1 | Scala | 08-10-2013 | 37 |
Socrates | honza/socrates | other | Python | 25-02-2011 | 36 |
sortastatic | haldean/sortastatic | bsd-2-clause | Go | 22-05-2014 | 3 |
Speechhub | pythonmg/speechhub | gpl-3.0 | Python | 26-03-2012 | 40 |
Spelt | njdehoog/Spelt | mit | Swift | 20-07-2016 | 140 |
SPG | AdamBien/spg | apache-2.0 | JavaScript | 23-03-2014 | 27 |
Sphinx | sphinx-doc/sphinx | BSD-2-Clause | Python | 02-01-2015 | 3282 |
Spike | static-dev/spike | other | JavaScript | 13-05-2016 | 460 |
Spina | SpinaCMS/Spina | other | HTML | 04-03-2015 | 1726 |
Spine | varl/spine | mit | Java | 16-02-2014 | 3 |
Spress | spress/Spress | mit | PHP | 29-09-2013 | 368 |
Spring Board | htaidirt/SpringBoard | MIT | JavaScript | 01-03-2013 | 1 |
Squid | geekforbrains/squid | Python | 28-08-2012 | 10 | |
Squirrel | nickpetty/squirrel | Python | 16-04-2014 | 7 | |
Stacey | kolber/stacey | mit | PHP | 14-08-2009 | 1054 |
Stacktic | bahiamartins/stacktic | mit | 16-09-2014 | 1 | |
Stadø | lecnim/stado | MIT | Python | 18-10-2013 | 4 |
StaGen | wiztools/stagen | apache-2.0 | Java | 30-03-2014 | 42 |
Stasis | winton/stasis | mit | Ruby | 08-03-2011 | 688 |
Stasis.clj | magnars/stasis | EPL-1.0 | Clojure | 09-01-2014 | 271 |
Statamic | PHP | ||||
Stati | jfoucher/stati | mit | PHP | 24-09-2017 | 19 |
static | nakkaya/static | EPL-1.0 | Clojure | 23-08-2010 | 179 |
Static Site Boilerplate | ericalli/static-site-boilerplate | mit | JavaScript | 29-11-2018 | 1365 |
Static Website Starter Kit | kriasoft/static-site-starter | apache-2.0 | JavaScript | 11-07-2014 | 133 |
static-io | CosAnca/static-io | mit | JavaScript | 25-06-2015 | 2 |
Static-weber | xorpd/static_weber | mit | Python | 25-10-2014 | 2 |
static2000 | judas-christ/static2000 | mit | JavaScript | 08-10-2014 | 6 |
staticjinja | Ceasar/staticjinja | mit | Python | 21-09-2012 | 196 |
StaticMatic | staticmatic/staticmatic | mit | Ruby | 01-01-2009 | 267 |
StaticMatic2 | gilbert/staticmatic2 | mit | Ruby | 03-02-2011 | 56 |
staticpress | ravinggenius/staticpress | MIT | Ruby | 26-10-2011 | 3 |
staticpy | toddsifleet/staticpy | mit | Python | 15-01-2013 | 2 |
staticsite | trevorc/staticsite | BSD-3-Clause | Haskell | 12-07-2012 | 1 |
Staticsmoothie | MIT | Go | |||
StaticVolt | Artistic-1.0-Perl | Perl | |||
Statik | thanethomson/statik | mit | Python | 21-04-2016 | 237 |
Statix | Shell | ||||
Statocles | preaction/Statocles | Artistic-1.0-Perl | Perl | 29-04-2014 | 71 |
Stog | zoggy/stog | gpl-3.0 | OCaml | 30-08-2011 | 62 |
StrangeCase | colinta/StrangeCase | other | Python | 16-01-2012 | 46 |
stratic | jaubourg/stratic | mit | JavaScript | 30-05-2014 | 3 |
Striker | swaroopsm/striker | mit | Ruby | 14-10-2013 | 2 |
Surge | |||||
Susi | AVGP/susi | isc | JavaScript | 10-05-2014 | 50 |
SWG | evilsocket/SWG | gpl-3.0 | Python | 13-03-2011 | 15 |
SWSG | derdon/swsg | wtfpl | Python | 25-07-2010 | 4 |
Szyslak | ido50/Szyslak | gpl-3.0 | JavaScript | 20-10-2013 | 1 |
Tacot | MIT | Python | |||
Tags | braceio/tags | mit | Python | 17-03-2014 | 186 |
Tagy | melnikov-ivan/tagy | MIT | Python | 04-09-2014 | 3 |
Tahchee | sebastien/tahchee | other | Python | 11-09-2009 | 8 |
Tapestry | tapestry-cloud/tapestry | mit | PHP | 15-11-2016 | 21 |
Tarbell | tarbell-project/tarbell | MIT | Python | 31-12-2012 | 158 |
tclog | BSD-3-Clause | Tcl | 17-03-2003 | ||
Tclssg | tclssg/tclssg | other | Tcl | 23-06-2014 | 44 |
Techy | krasimir/techy | mit | JavaScript | 10-02-2014 | 240 |
Templer | skx/templer | Artistic-1.0-Perl | Perl | 01-12-2012 | 55 |
Text Assembler | JavaScript | ||||
Thot | wmark/thot | Python | 02-05-2011 | 6 | |
Tinkerer | vladris/tinkerer | BSD-2-Clause-FreeBSD | Python | 18-05-2013 | 292 |
toto | cloudhead/toto | mit | Ruby | 27-10-2009 | 1417 |
Tribo | CarterA/Tribo | other | Objective-C | 01-10-2011 | 44 |
trofaf | mna/trofaf | bsd-3-clause | Go | 11-07-2013 | 133 |
Ultra simple Site Maker | GPL-3.0 | Shell | |||
Urubu | jandecaluwe/urubu | GPL-3.0 | HTML | 10-01-2014 | 168 |
Utterson | pepijndevos/utterson | Clojure | 17-12-2009 | 14 | |
Utterson | stef/utterson | agpl-3.0 | Shell | 29-07-2009 | 33 |
vee | estrabd/vee | wtfpl | Shell | 03-10-2011 | 34 |
Vegetables | partageit/vegetables | mit | JavaScript | 15-02-2015 | 14 |
vimwiki | vimwiki/vimwiki | MIT | Vim script | 15-11-2012 | 4475 |
Voldemort | semk/voldemort | apache-2.0 | Python | 18-09-2011 | 46 |
volt | bow/volt | BSD-3-Clause | Python | 06-03-2012 | 43 |
VoodooPad | App | ||||
VuePress | vuejs/vuepress | mit | JavaScript | 12-04-2018 | 16286 |
wadoo | alpacaaa/wadoo | other | PHP | 01-10-2012 | 11 |
Wallflower | book/App-Wallflower | Artistic-1.0-Perl | Perl | 03-09-2012 | 6 |
Wanna | shaoshuai0102/wanna | JavaScript | 05-07-2012 | 6 | |
Weaver | davidsiaw/weaver | mit | JavaScript | 29-06-2015 | 3 |
Webby | TwP/webby | MIT | Ruby | 28-04-2008 | 271 |
webgen | gettalong/webgen | GPL-3.0 | Ruby | 07-07-2008 | 98 |
webgen | webgen-org/webgen | other | HTML | 30-04-2012 | 2 |
Webhook | webhook/webhook | mit | JavaScript | 14-01-2014 | 664 |
Websleydale | kalgynirae/websleydale | mit | Python | 05-05-2013 | 4 |
Wheat | creationix/wheat | other | JavaScript | 01-04-2010 | 1370 |
Wikismith | wikismith/wikismith | MIT | JavaScript | 23-07-2014 | 17 |
Wintersmith | jnordberg/wintersmith | mit | CoffeeScript | 02-02-2012 | 3490 |
wok | mythmon/wok | other | Python | 03-02-2011 | 114 |
Woods | paperjs/woods | other | JavaScript | 01-04-2013 | 112 |
wordsister | kaihendry/wordsister | MIT | PHP | 05-04-2013 | 1 |
WP2Static | WP2Static/wp2static | unlicense | PHP | 27-12-2016 | 632 |
WPWMM4 | uzsolt/wpwmm4 | other | Makefile, m4 | 01-10-2017 | 5 |
Wyam | Wyamio/Wyam | mit | C# | 29-02-2020 | 30 |
Yana | dariubs/yana | MIT | Python | 15-09-2014 | 11 |
yassg | sma/yassg | BSD-3-Clause | JavaScript | 10-08-2012 | 3 |
Yellow | datenstrom/yellow | gpl-2.0 | PHP | 07-04-2013 | 295 |
Yggdrasil | GPL-2.0 | Perl | 17-07-2002 | ||
Yozuch | akrylysov/yozuch | bsd-3-clause | Python | 24-04-2014 | 22 |
yst | jgm/yst | gpl-2.0 | Haskell | 01-08-2009 | 296 |
zas | imdario/zas | agpl-3.0 | Go | 31-03-2013 | 100 |
ZenWeb | seattlerb/zenweb | MIT | Ruby | 18-02-2009 | 62 |
Zine | mikekreuzer/zine | mit | Ruby | 24-01-2017 | 5 |
zodiac | nuex/zodiac | mit | Awk | 22-09-2011 | 187 |
zola | getzola/zola | mit | Rust | 06-12-2016 | 3435 |
Zucchini | Artistic-1.0-Perl | Perl |
That's quite a lot to choose from. Personally I have experience with Middleman and Hugo, so that will be my frame of reference. Here are my personal pros and cons concerning Hugo, from a beginners' perspective:
Pros
- Hugo is fast. I mean really, really fast. Stupid fast. Run Forrest Run fast.
- Easy to set up (well, compared to Middleman at least). No Ruby or Node versioning issues to contend with, just install the Hugo binary, and you're good to go.
- Hugo can talk to data feeds nicely. It's data driven content features make it a piece of cake to generate HTML based on json/csv feeds.
- Pagination is easy to implement
- Writing your own
helpersshortcodes is dead easy - Decent support for traversing local files
- Helpful community
- Good documentation
- Front Matter & Taxonomies provide an easy way to handle content metadata
- Handy tools to migrate from other platforms
- Loads of free themes that work out of the box (GridSide used to power this site)
- An easy to learn template language
Cons
- Multilingual isn't quite supported yet out of the box and is fidgety to set up
- No XML support for data feeds. Only JSON/CSV.
- Asset management/compilation isn't built in and is a pain in the ass to set up. At the time of writing there's Huggle & Hugulp. They both have their pros and cons and try to solve the asset problem admirably but still feel clunky as they're not part of Hugo. Middleman is much more flexible and feature rich in this regard.
I haven't really got much more to say on the matter. If you want a static site generator that's fast and just works you could do much worse than Hugo. As always, I look forward to reading your opinions in the comments below.