Hacker News new | past | comments | ask | show | jobs | submit login

I spent about a day migrating my personal site from grav to hugo, and the main takeaway I got from that experience is that both of these "simple" static site generators are ridiculously over-engineered.

I could slap something together with a few lines of Make or Python that does exactly what I need, in an hour or two. I could even hook it up to AWS and have it update automatically.

Doing all of that is less time consuming and requires less effort than reading through the grav or hugo documentation, installing and setting everything up, and troubleshooting the inevitable problems.

The only issue I have is that doing front-end web development/design is not something I enjoy, so grav and hugo's existing library of themes is very convenient. Convenient enough to put up with the other annoyances.

I really dislike this kind of comment. The typical "I could do this myself in a weekend in <a low number> lines of code".

They tend to oversimplify complex problems. They fail to recognize that perhaps they haven't thought of every single twist and turn in the path. These comments believe building something is a straight line, and that because they can think it up and do some napkin math, everyone else's work is invalid.

It's easy to say "I can build x in x time" until the hard work starts and you realize reality isn't that simple.

yes and no....

they're saying "does exactly what I need". this poster probably doesn't need all the twists and turns that these tools address. many of us could build our own "tool for X" that does just enough of what we need, but it's almost never remotely suitable for use by anyone else, let alone a growing community.

Yeah I think everyone is right here, it’s as if it’s okay for there being more than one valid solution to a problem

It’s worth pointing out though that hugo has chosen to be a bag of tools to solve everyone’s problem rather than a simple one solution for all approach.

Omakase is sometimes desired when you don’t have the will to put up with another new ecosystem to learn.

> I could slap something together with a few lines of Make or Python that does exactly what I need

Here is a static page generator implemented in a 200 LOC Makefile: https://github.com/patrickbr/hagel


    @cat $(dir $@).$(notdir $@).$(notdir $<).newlesc.tmp | tr -d '\n' | sed -e 's|\([$(ALLWD_VAR_CHRS)]*\)={{|\n\1={{|g' -e 's|\\\([^n]\)|\\\\\1|g' -e 's|/|\\/|g' -e 's|\&|\\&|g' | sed 's|\([$(ALLWD_VAR_CHRS)]*\)={{\(.*\)}}| s/$$$(strip $(subst .,,$(suffix $(patsubst %.info,%.category,$<)))){\1}/\2/|' > $@.var.sub.tmp
So much `sed` and Bash one liners so I almost get a fight-or-flight reaction :- )

Edit: Now I see in the readme:

> Error messages are for the most part cryptic errors from sed. Most of them are entirely useless to you.

A quite honest readme & project :- )

Static site generator in 130 lines of Python (excluding comments, docstrings, and blank lines): https://github.com/sunainapai/makesite

Disclosure: My wife developed this project.

I thought the same and actually did it. The first version was more or less usable and took just a couple of evenings to put together... I then wanted more and more small features to do basic things like add a ToC, loop through arrays/other pages, add code highlighting to markdown code blocks, then the nitty gritty of fixing bugs when including html in markdown or vice-versa etc... it's been a couple of years now and I use the project in several websites I made, including my personal one... but it's still not in a state I would consider useful for others :D.

“I could totally make a site generator in a couple hours except for the features that are providing me a lot of value” is a really dumb take.

Also ignoring the features that provide other people a lot of value. I used hugo a bit for my site and it seemed like the perfect balance of power and complexity. I actually found hugo to not be quite powerful enough so I added some external pre processing in to my CI config before hugo runs so I could do stuff like have image magic crop images to create thumbnails for the index.

> main takeaway I got from that experience is that both of these "simple" static site generators are ridiculously over-engineered.

Amen - Hugo is a total pain to work with in my experience. Many hours pulling hair out trying to do very simple things (like a page that appears if the user just enters a directory (e.g. "mysite.com/stuff/" and not "mysite.com/stuff/page"))

I found Jekyll to be much, much, much, much easier to work with than Hugo - I ported a site from dokuwiki and with Jekyll I was done within a day (complete with writing a custom theme), but with Hugo I spent days and days just wrestling trying to get basic things to work before I had even started theming before giving up and just using Jekyll.

I am sure there are people who need compilation in 20ms vs 1000ms, but I can wait a couple of seconds if it means I don't have to spend days messing with Hugo just to get it to do basic things.

Agreed - I tried to migrate from Jekyll to Hugo just to try to get Ruby off my computer, and I could not believe that I had to use a theme or else everything broke. My Jekyll site just uses bootstrap and a 50-line CSS file.

But if you don't do everything the specific Hugo way - boom everything renders blank, and there are no warnings or errors.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact