5 ms·
I used Hugo some years ago[1] and my memory of it was mostly negative in terms of usability. I revisited it again this year for another project and it drove me
by DyslexicAtheist 6y ago
I used Hugo some years ago[1] and my memory of it was mostly negative in terms of usability. I revisited it again this year for another project and it drove me so mad that I ended up switching to Zola[2].
My issue with Hugo was that it just wasn't reliable with what was in the cache so I could never trust whether what I saw was actually the state of the site and causing me to push a broken state to the remote server. Hugo is great if it works but I found it a nightmare to deal with when it doesn't.
There are countless options in Hugo (yes I understand it's powerful but I rather it just had half the option and they work as advertised), some of which at times are contradictory so searching for solutions took me ages. I have no affiliation with the zola project and am not even big on Rust. Zola just worked for me and seems a lot less "hacky" than hugo thanks to the Tera templating system.
The Author of Zola writes on his github:
> [hugo] personally drives me insane, to the point of writing my own template engine and static site generator.
a sentiment that I share very much.
[1] https://web.archive.org/web/20180714043311/https://iotdarwinaward.com/post/improve-your-privacy-in-age-of-mass-surveillance/ https://web.archive.org/web/20180714043311/https://iotdarwin...
[2] https://github.com/getzola/zola https://github.com/getzola/zola
[3] https://github.com/getzola/after-dark https://github.com/getzola/after-dark
- notsureaboutpg 6y ago>it just wasn't reliable with what was in the cache so I could never trust whether what I saw was actually the state of the site and causing me to push a broken state to the remote server Can you explain this a bit further? Why would what is/isn't in the cache cause issues? I must be missing something here. I have used Hugo before but not sure what this means exactly.
- lwhsiao 6y agoSimilar story for me. Another point I find challenging with Hugo is that they very frequently release breaking changes. I want to upgrade because of features or speed, but there are only a few patches per version before there are also breaking changes. These happen so frequently it's hard to keep up. Zola is less powerful, but does the job and feels much more stable.
- alexandrerond 6y agoYeah, I had some issues with that. Simplest sites getting broken on updates. Nothing in the changelogs about breaking changes and no fucks given when reported. Still a good generator though.
- Already__Taken 6y agowhat are you doing about images? all these generators seen to leave you in the dark about optimizing images.
- DyslexicAtheist 6y agoI was doing image optimization manually but then there weren't much images in my case so that was doable by optimizing sizes/ resolution using Gimp. There are meanwhile better options but it's theme dependent. In hugo this is what I wanted: https://after-dark.habd.as/ https://after-dark.habd.as/ but IIRC not all of its image features were available in the theme's zola port https://github.com/getzola/after-dark https://github.com/getzola/after-dark
- dewey 6y agoHugo has integrated image processing: https://gohugo.io/content-management/image-processing/ https://gohugo.io/content-management/image-processing/
- wtetzner 6y agoAccording to the README, Zola has image processing support. Not sure exactly what that means though.
- kylegill 6y agoThis is (unsurpisingly) a difficult problem to solve. I've been trying to help my colleague at Gatsby (a React based framework that uses static site generation) with improvements to the image optimization API Gatsby includes with its image plugins. Just when you think you've handled every edge case, you have to account for screen pixel densities, better ways to infer sizes and srcSet attributes on picture tags, browsers with or without modern features for loading images in better.. it's no small task! (I'm obviously biased but I think Gatsby's solution is pretty good now)
- ognarb 6y agoI originally preferred Jekyll to Hugo and this explains why most of the 20 KDE websites are using Jekyll, but I recently fell in love with Hugo. Hugo was a lot harder to learn, the template engine from Hugo felt very strange for myself coming from Django, Twig and the Jekyll template engines. The template lookup order is complex and for small website this complexity is unnecessary. When building a large website (kde.org has more than 1400 pages) all these features make sense. I can organize my template in directories, enjoy fast generation time, separating the templating part from the content, create SCSS files for each pages that needs a special layout. There is also a (fast) JS bundler integrated into Hugo. Afaik Zola also doesn't support i18n and Jekyll has a few plugins for that but this is not a build-in functionality.
- adimitrov 6y agoSame story here. I was looking for a static site gen that was a bit more comfortable than my previous shell scripts around pandoc approach. I settled on Hugo because it ticked all the boxes and even had org mode support. The next three nights were horrible. I'm a professional web dev, full stack, I've used dozens of langs, frameworks, probably hundreds of tools. It took me three nights to set up a basic home page for an academic CV and some publication lists. Nothing more. And even then the whole thing was wonky and super unreliable for inscrutable reasons. Big red flag. I was angry and frustrated, and I started doubting myself. So I pulled the plug. Tried Zola, I was done in 1.5hrs. Start to finish, just done. Zola is great.
- jdright 6y agoI had the exact experience, but I'm not a web developer. Hugo was one of the more frustrating things I ever tried, I converted to Zola in about 2h and it was simple and it simply works.
- mattlondon 6y agoSimilar story for me (I also do full stack web dev professionally aswell), but with hugo->Jekyll. Hours and days struggling with getting Hugo to do what I wanted until I gave up and had a Jekyll site up and running exactly how I wanted it within a few hours. Who cares about saving 5 seconds site generation time when you lose days pulling your hair out just trying to get the damn thing to do what you want? I've never felt that site generation time has been a problem for me, although I've only worked on things with 10s-100s of pages, not thousands... But then part of me wonders who it is out there who is doing site-wide updates to x,000 page sites who needs it to happen in 2 seconds? What kind of workflow on a site of that scale can't wait 30 seconds?
- hamoid 6y agoMy home page (a few hundred pages, lots of images) took over one minute to build with Jekyll and around a second with Hugo. Waiting for a minute for every tiny change I make trying to figure out things makes it completely unusable. That said, Hugo is the only piece of software I remember that makes me feel stupid. It must be a awesome if you use it frequently, but I only make changes to my sites maybe once per year. I often struggle for hours to make simple changes or to figure out why it's not working. Two examples: https://discourse.gohugo.io/t/raw-html-getting-omitted-in-0-60-0/22032/18 https://discourse.gohugo.io/t/raw-html-getting-omitted-in-0-... https://discourse.gohugo.io/t/comprehensive-hugo-tutorial-for-beginners/12586/26 https://discourse.gohugo.io/t/comprehensive-hugo-tutorial-fo... Sharing the feeling of others in this thread and happy to discover Zola! :)
- japanuspus 6y agoI looked into moving a static sites from Hugo to Zola a while back, but decided against it because the Zola creator feels very strongly that URLs should never include dates -- to the point that they will not include the option of doing so in Zola [0]. [0]: https://github.com/getzola/zola/issues/635#issuecomment-524564469 https://github.com/getzola/zola/issues/635#issuecomment-5245...
- CJefferson 6y agoWhy is the world so full of static generators which are annoyingly limited like this? Just let us drop down to something (python?) if we want.
- nerdponx 6y agoThen use an unopinionated, hackable/pluggable static site generator like Jekyll (written in Ruby). One thing that's nice about having dozens of actively-developed static site generators is that if you don't like one you'll probably like a different one.
- CJefferson 6y agoMy experience (and maybe I'm not good enough at ruby) is extending is still annoying, in particular I can't put code in the site, I need to write (and to share easily, even publish) an extension.
- cpach 6y agoHey, it’s omakase :D
- viraptor 6y agoPelican is an older system which allows you to do just that. https://blog.getpelican.com/ https://blog.getpelican.com/ It's already got lots of plugins, but it's fairly easy to add your own as well. It's in the mature / complete category of projects in my opinion (although there's still some development happening)
- seanwilson 6y ago> My issue with Hugo was that it just wasn't reliable with what was in the cache so I could never trust whether what I saw was actually the state of the site and causing me to push a broken state to the remote server Did you report these bugs anywhere? Can you be more specific? What were you caching? If you're caching partials for example, you need to make sure you provide correct caching keys so are you sure it wasn't misuse?
- hombre_fatal 6y agoHugo was just too complicated for me. Felt like I was credentializing in something like Drupal all over again.
- jasonv 6y agoTrying to get everything on my Mac, GitHub and domain working with Jekyll and Hugo was harder than spinning up Wordpress. Caching is a solved problem on WP, not grokking the love for static site generators.
- jeromenerf 6y agoI have a positive view about Hugo, I have deployed it many times successfully and even taught classes using it. The “disable fast renderer” option (for local development) is indeed a must have, or weird things happen indeed. My students also found the documentation difficult to grasp in particular regarding the content types and related features (section, bundles, archetypes, ...). I actually like go templates, so it was never an issue for me.