
Why I do not like Hugo - luu
https://blog.flameeyes.eu/2017/07/why-i-do-not-like-hugo/
======
FiloSottile
This can't possibly have taken less to write than changing the capitalization
of one letter, overriding a default, and reverting a commit (or even better,
contributing a config option for the desired behavior!).

And I say this not to flame about the author, but because it's a remarkable
trend in the industry to complain (vocally!) about barely breaking changes in
Open Source software.

There is of course the angle of "you're getting it for free, for LTS buy a
commercial product", but even more interesting to me is how it condemns
projects to never moving, until they feel legacy, and we have to move on to
something new.

~~~
thinkfurther
It's not about the fact that something changed, but what changed. Full text to
summary is _quite_ the change to do based on -- who knows what? What progress,
what advancement do you see here? And changing the default number of items
from 15 to unlimited? I mean, not 50, not 100, not 500, but infinite? I see no
purpose, just pitfalls.

> even more interesting to me is how it condemns projects to never moving

Oh yeah. Criticize any random silly move and you're against any and all
progress, ever.

~~~
rhblake
Hugo is still at 0.x. Hasn't stabilized yet. Breaking changes are to be
expected.

~~~
thinkfurther
I ask how this weren't bad and silly changes. When we can't even discuss why
we are doing what, why not get rid of version numbers, too?

~~~
rhblake
But there were some discussion and reasoning behind the changes. For e.g. RSS
limit, see
[https://github.com/gohugoio/hugo/issues/3145](https://github.com/gohugoio/hugo/issues/3145).
Nobody was against it, as far as I can see. If someone think it's a mistake, I
guess opening an issue on GitHub (where devs can see it) would be more useful
than complaining elsewhere?

------
andrewshatnyy
I love Hugo. By far it is the fastest blog engine that I have seen. If I need
a custom shit done then I will fork the repo and build the needed stuff
myself.

Bitching about the free software is unethical. Moreover, the source code is
accessible. Change whatever code if you don't like it.

In my experience I've had PRs rejected, so what? People have opinions and not
everyone one think of your issue as the blocker. Move on.

"Why don't I like scrambled eggs at that place" \- no one cares. Make them
yourself or go to another restaurant.

~~~
jbergens
> Bitching about the free software is unethical. I disagree. Of course you
> should try to keep the language nice and show examples of things that cause
> you problems, features you are missing or things you don't like but the
> would be very little progress in OSS projects if no one are allowed to
> comment at all.

~~~
andrewshatnyy
Hence me saying, fork it and change whatever you don't like.

------
aidenn0
Slightly OT, but Is Wordpress still the only real solution for a professional
looking blog for those that want a wysiwyg editor? My wife is starting a blog
and wants me to set it up for her.

~~~
nickthemagicman
The problem with static sites is that you have to regenerate the site each
time you make an update or new post... Wordpress just allows you to update it
from the admin panel.

~~~
mark212
My experience with Hugo through v0.17 was that it takes ~1ms per post to
generate. IIRc that was one of the major reasons why the author wrote, vastly
increase the speed of regenerating the site.

~~~
nickthemagicman
Right. But I can update my Wordpress site from my phone in China without a
laptop running Hugo...

~~~
veidr
Right, and that's a _truly_ killer feature if you happen to need it.

Hugo doesn't address that problem at all, nor do Jekyll, which I currently
use, and the other similar tools I've looked at.

However, the missing step there (of rendering the static site and publishing
it) seems well suited to being done "in the cloud" then on the client device
where the posting/editing/typo.

If you have a machine or VM on the Internet to use, this is not difficult to
set up for yourself (any computer-proficient user with a little time can do
it).

But doing that is also nowhere near as trivial as WordPress makes it (any
person at all can do it).

~~~
detaro
That seems like exactly the gap Netlify wants to fill with their Netlify CMS
(and a bunch of other options, depending on your exact needs).

~~~
veidr
Interesting; thanks. I just signed up for forestry.io (which I also learned of
in this HN thread), I will check out Netlify also.

------
j_s
Are there any walkthroughs from zero to all done of best practices to setup a
product website using a static generator (Jekyll, Hugo, or whatever) rather
than a blog?

I started looking at the Hugo "quick start"[1], but then apparently the right
way to work things as branches for GitHub pages is more choices[2]. Grabbing a
theme that was optimized for more of a product page than a blog led to another
warning[3] that the normal documentation wasn't going to be helpful. After
that, I decided it would be best to ask for help!

[1] [https://gohugo.io/getting-started/quick-
start/](https://gohugo.io/getting-started/quick-start/)

[2] [https://gohugo.io/hosting-and-deployment/hosting-on-
github/](https://gohugo.io/hosting-and-deployment/hosting-on-github/)

[3]
[https://themes.gohugo.io/kube/#GettingStarted](https://themes.gohugo.io/kube/#GettingStarted)

    
    
      "There are a few concepts this theme employs to make a personal documentation site.
      It’s important to read this as you may not see what you expect upon launching."

~~~
m3adow
I'd recommend Jekyll for that. It's stable and established for such web sites.
I used it for a product Web site years ago and it worked fine. If I remember
correctly, there's even a tutorial in their official docs.

------
hugoagogogo
I run a small blog using Hugo. Some weeks ago I published a new article. All
was well, until I visited it a few days ago and noticed all but the very most
recent article link was broken.

Apparently Hugo decided to transition article urls from PascalCase to
lowercase without any sort of migration path, warning, or indication to say
that things were about to break.

You would think at least some thought would have been put into a migration
path.

------
sgallant
We're building a WordPress-like CMS for Hugo sites. I'm curious if this would
improve the Hugo experience for you (commits to your repo, supports media
uploads, Markdown, etc).

[https://forestry.io/](https://forestry.io/)

We're rolling out a feature soon that will allow you to specify the version of
Hugo you're running.

~~~
veidr
I'm curious, since you have experience supporting both Hugo and Jekyll: which
would you recommend?

Say I have a personal blog I've been maintaining for 15 years in BlogMaster
3000 for Windows 95, and now I want to make it modern and static and use
forestry.io to handle the editing and publishing parts. Are there significant
differences in terms of capabilities or ease of use depending on which static
blog engine is used for the build step?

~~~
sgallant
TLDR; If you care about build times, Hugo. Otherwise, Jekyll.

For instance, we had a user who had a Jekyll site with 2000 pages. It took
Jekyll about 5 mins to compile/build it. After migrating to Hugo it took < 1
second to build.

If you don't care about build times, Jekyll has a great community, plugins,
and IMO, superior templating syntax (liquid).

~~~
osteele
My “learn go” project was a Jekyll clone with fast build times
[https://github.com/osteele/gojekyll](https://github.com/osteele/gojekyll)

It uses liquid for templating, and emulates a few plugins.

It currently works on some sites, not others – YMMV.

------
tyteen4a03
OT, but what is the best static site generator for mostly standalone pages
except Jekyll (which broke Netlify)?

~~~
bachmeier
I don't want to get into any arguments about "best", but what works best for
me is to write the pages in Markdown and use a Makefile to convert them all to
html. There's always overhead with projects like Hugo, concerns about
upgrading, and rough edges with respect to customization. If you just want to
create standalone pages, a Makefile and Pandoc is about as simple and flexible
as you can get.

Edit: Here's the full code from one of my Makefiles:

    
    
      files := $(patsubst %.md,%,$(wildcard *.md))
      
      all:
        for f in $(files); do \
          pandoc -s -o $$f.html --template=template.html $$f.md; \
        done

~~~
Scarbutt
Does that template.html has some css links? if so, is that something that
comes with pandoc?

~~~
bachmeier
It's a modification of the default Pandoc template. I add css to it directly,
but it can load css files if you wish. Think of it like this - there's a
$body$ statement in the middle of the template. The html generated by Pandoc
goes there. Everything else in the template file stays there.

You can view the Pandoc html5 default here:
[https://github.com/jgm/pandoc/blob/master/data/templates/def...](https://github.com/jgm/pandoc/blob/master/data/templates/default.html5)

------
ivm
I went through dozens of static site generators including Hugo and everything
was so complicated and opinionated that I ended up writing 500 lines of my
own.

Also they all try to build a whole site when I just need to create some HTML
files and put them into existing directories.

------
activatedgeek
The title of this post is misleading. It feels as if Hugo is plagued with tons
of loads of problems (especially when so many people have upvoted!) where it
is just ONE problem. Just ONE which is not even that hard a thing to resolve.

OP please change the title to make sure it matches the actual blog.

~~~
dang
Sorry, that was my mistake. Fixed now.

