
Let’s celebrate Hugo’s 5th birthday - robin_reala
https://gohugo.io/news/lets-celebrate-hugos-5th-birthday/
======
penglish1
Hugo is nifty. It is in Golang. It is wicked fast.

But.

Like most of the static site generators out there, it is so hyper-focussed on
some aspects that it stumbles or completely misses others. I believe that Hugo
(and others) take Markdown in precisely their expected format, and layout,
with their format of header and, with precisely the correct version of config
file and template.. turn it into some really nice looking HTML. Fast.

I guess - even after 5 years they aren't attempting to call it 1.0 at least.
Maybe the other things will get fixed before then.

You might even be able to take your existing Markdown stuff and convert it -
but be prepared to fiddle with Markdown syntax a bit, and headers, and file
layout, etc.. potentially for hours. And hours and hours. And hours and hours.
Not so fast any more, is it? Hugo is not alone here.

The number of themes available is amazing! And they look fantastic! But -
you're going to have to spend many more hours digging to find one that puts
the blog on a separate page, instead of front and center.. because 80%+ of
them are oriented towards blogs only.

Now.. a week later... new minor release time. Does the new release work with
your existing config? With your existing theme?

Oops - you waited a month and missed a few minor releases.. will everything
break now? How do you ensure that your theme keeps up to date with your
release? Git hooks, git submodules? What fun! How.. fast? Not if you're
futzing with all this stuff.

Hugo isn't alone here - Jekyll, Pelican to name two I've tried also have
problems to a greater or lesser degree.

~~~
kqr
Do you have any experience with Org publish/export, and does it suffer from
the same problems?

~~~
rurban
Hugo is by far better and more stable than org-mode exporters. Tried all,
stayed with hugo, even if I don't like go that much.

~~~
BeetleB
Can you expand on that a bit? Can Hugo not take other formats?

I use Pelican. It supports markdown and rst out of the box. It's fairly easy
to write a plugin to support another format. So I wrote one that takes in Org
files (I think it just uses pandoc behind the scenes to convert to rst).
Writing posts is _much_ better now that I can author them in Org mode.

So if someone wants to author in Org mode, but not use the clunky Org
exporters, consider using a static site generator that allows you to have a
custom input format.

------
codesections
I used Hugo for a while, but I feel it's really held back by its templating
language.

I've recently moved to Gutenberg[0], which is very nearly a clone of Hugo
except for the templating language. After some benchmarks[1], I concluded that
it's even faster than Hugo, and the ergonomics of using the templating
language are far, far better.

[0] [https://www.getgutenberg.io/](https://www.getgutenberg.io/)

[1] [https://www.codesections.com/blog/gutenberg-vs-
hugo/](https://www.codesections.com/blog/gutenberg-vs-hugo/)

~~~
edem
It is also held back by its implicit stuff, and counter-intuitive internal
logic. Jekyll is infinitely more intuitive. I tried both: went from Jekyll to
Hugo, and back and I'd never touch Hugo again.

I would also mention that sometimes the Go internals leak and it is also not
convenient.

------
ttul
Back in the day, before WordPress sadly became dominant, I made my own static
site builder with Perl and Make. Yes, feel free to point and laugh. But it was
awesome. It’s nice to see static site builders like Hugo gaining momentum.
With so much going on on the client these days, having a static back end is a
great idea (again).

~~~
cutler
If Perl why not Template::Toolkit? I still use it after 15 years. What I like
about it is that it gets out of your way and doesn't assume your site is a
blog. It just converts template files to corresponding HTML files and that's
it.

~~~
ttul
That's what I used.

~~~
cutler
"I made my own static site builder with Perl and Make"

I assumed you'd rolled your own as TT doesn't require Make.

------
overcast
Anytime I work on a new web project, the first question I ask is how can I
make this completely static. Hugo is my first choice to make it happen. It's
REALLY nice not worrying about databases / programming environments / user
accounts.

~~~
thieving_magpie
Maybe this isn't the correct place to ask a question like this but how do you
avoid interacting with a database or user accounts? Is it at simple as you
don't have any of that in your application?

~~~
overcast
Mostly that. If you take out all of the "social" aspects of most modern
websites. Then they really don't require backend databases and accounts. I've
been moving back to more of a minimalist/purist approach.

~~~
terminalcommand
Static sites are great for simplicity, but IMO we should be striving for more
interaction not less. If I open a blog I want to be able to host comments and
not rely on email or third party services.

Maybe we need a hybrid site generator. We could still write the content as
seperate text files, but we would have the ability to integrate comment
sections, user profiles etc. seemlessly.

Our posts could be parsed and recorded onto a database, for better indexing,
search, analytics and reducing redundancies.

The generator would come with a web server and handle everything we throw at
it. From ssl to comments to databases.

That's the future I dream of. Not full blown CMSs, but not web 1.0 either.

~~~
overcast
Sounds great, but comments are the first thing I'd prefer just disappear from
the internet. I understand that is what brings users, but they are generally
cess pools of assholes and spammers.

~~~
kqr
I agree. Comment sections tend to be really hard to moderate. I accept
comments via email and then I manually add them to articles as part of the
main text. This is a largely self-moderating system because only when a reader
honesly thinks their comment is important do they bother emailing. While I
always respond, I only include the comment in the article if I think it is of
greater value to the community at large.

It's not ideal, but it is as close as I have come to showing someone an
article and asking for their comments IRL.

~~~
overcast
That's a massive amount of work though. Is there nothing to come from all of
this "machine learning" nonsense talk, putting it to actual good use
automating this?

------
NickBusey
Having my Hugo blog up on GitLab, with their CI/CD pipelines hosting and
building my site and on every git push, is pretty great. I am only paying for
a domain name and nothing else, and not having to worry about a host going
away or shutting down is also pretty nice. Even if GitLab went away tomorrow I
could have my site back online in minutes.

------
subpixel
I’ve worked on projects where Hugo was the chosen tool and I may be missing
the forest for the trees but when I encountered the templating syntax I
considered it a red flag. Like “this is horrendous, but these people seem to
just accept it - I wonder what other painful surprises await me down the
line?”.

And while it’s build-speed is impressive, I’m of the mindset that if your site
is large enough that build-speed is a genuine concern, rebuilding your site
every time you make a change is a bad idea, and perhaps a dynamic tool is a
better fit for the job.

~~~
edem
I also had the same feeling. I dumped Hugo in the end.

~~~
KajMagnus
What did you use instead? @edem? (& @subpixel, were you in the position to
pick sth else?) ... Aha, Jekyll, right? I now found in another comment here.

------
stadeschuldt
I am huge fan of Hugo and I use it for my personal blog and some minor
websites.

Has anyone used Hugo for something other than a blog? I am looking for some
stories like using Hugo as a REST-API or anything other more creative similar
to this:

[https://forestry.io/blog/build-a-json-api-with-
hugo/](https://forestry.io/blog/build-a-json-api-with-hugo/)

~~~
mark212
I used Hugo 0.12 to build a 2200+ page non-blog website a few years ago, with
Disqus commenting. Completely different than a REST api, but the jaw-dropping
part was how quickly it all got parsed. Like under 2 seconds. Crazy fast.

~~~
ncphillips
That's insane. My <10 page Gatsby site takes 15-20 seconds :/

~~~
mattferderer
Not necessarily a fair comparison. A bit oranges vs apples there.

Most of the Gatsby time is usually doing bundling of css, js, etc with
Webpack. I would imagine if you did that with a Hugo site you would run into
the initial 15-20 seconds to bundle & then a few seconds to convert all your
markdown pages into static HTML pages.

That said, I would assume Hugo still wins but not by near as much.

So you can argue that Hugo is much faster, if you don't have a use for Webpack
on your site. If you don't want the fancy bells & features Gatsby provides,
you should for sure pick Hugo over it.

~~~
ncphillips
Great point. Hugo does a bit more css processing now, but not nearly as much
as Gatsby would.

------
infiniteseeker
Can anyone recommend a good blog theme? Themes.gohugo.io does not seem to have
anything super appealing to me

~~~
mcjiggerlog
If you have any experience with web development, it's actually very trivial to
create your own. I had absolutely no trouble putting together something simple
for [https://tomjwatson.com/](https://tomjwatson.com/). The code is available
here - [https://github.com/tom-james-
watson/tomjwatson.com](https://github.com/tom-james-watson/tomjwatson.com)

