Hacker News new | past | comments | ask | show | jobs | submit login
Your blog probably doesn’t need a static site generator (zainamro.com)
23 points by z0a 33 days ago | hide | past | web | favorite | 21 comments



Interesting! I followed pretty much the exact same trajectory on my sites. I started a couple of decades ago with handcrafted HTML, then wrote a couple of my own CMSes, then moved to WordPress, and now I'm back to handcrafted HTML.

Every approach has advantages and disadvantages, but for me, for most of my sites, coming back to plain HTML has truly been a joy.


You could also do plain html but using some good templating language like handlebars or pug, and do on the fly compilation with a few scripts in your preferred language.


Yes indeed -- and I've played with that before. There's nothing wrong with doing that, but for my needs, just going with plain HTML is easiest.

If these sites needs to be more complex, then I'll likely use a static site generator of some sort. I have two sites that are more complex still, and I use WordPress for them.


There's also Emmet shortcut extensions to write html faster, it usually is supported for most popular editors.


If you care about your readers, your site should probably have navigation links, maybe even search and an RSS feed. So now you are talking about editing lots of things by hand or moving to some kind of automation. If you like coding HTML by hand, that's great, do it, but there's also nothing wrong with having some infrastructure to build navigation, indices, etc. HTML is analogous to other markup languages, such as latex or markdown, and has its strengths and weaknesses. There is nothing inherently virtuous about it.

Not trying to be harsh but I feel like the "purist" opinion presented in the article is an affect which can only be expressed about sites unburdened by the presence of or desire for readers.


I agree with you that there really is nothing virtuous about handcrafted HTML, and it's for that same reason that I've spent very little time on it as you can probably tell. Rather, the point of the article is to assert that you don't need another tool, fancy theme or dependency to write and share something online. As for the RSS feed, there is one you can find at https://zainamro.com/feed.xml, which I've also mentioned in the final paragraph. And regarding your point on navigation and search, I've noticed most users naturally find their way around my website without any explicit navigation links. That being said, I have considered adding an "Up" link that takes you to the parent directory which I think may suffice.


How does one handle consistent navigation though? If you make a change it sucks having to update that on every page IMHO.


I use JavaScript, https://www.combatentropy.com/

The minimalist style of both this writer and me does not sell the concept very hard. But you could attain any look you want, however fancy, just by pasting two lines in the head of each of your static pages: a stylesheet and a script tag.

Then your HTML would consist mainly of the words of your article. JavaScript could insert a header, footer, aside, whatever. To update all your past pages, just update what that one JavaScript file is doing or your stylesheet or both.


Using javascript for navigation is fine and all, but you wouldn't be able to provide good fallback for users who disabled js. Better just use somethiing like nunjucks to extend your html https://mozilla.github.io/nunjucks/


I actually thought about that and went with JavaScript anyway. I myself surf with it off. The loss of the header is to me not a bug but a feature. It usually just clutters the page. Seldom do I wish to click there.

I just want to read the article and back away. If I wanted to look around the site, then I could edit the address to go home. I think most others who know computers well enough to turn off JavaScript would also be comfortable doing the same.

Nunjucks is cool, but now your website is no longer static. You need to run every page request through Node. That's not too bad, but I took the loss of nav as the better road.


It looks like the person behind https://zainamro.com/ can't be bothered to provide a navigation menu on every page, or even a link back to their site's home page, so they'd probably dismiss your question out of hand.

However, if you really want consistent elements on every page, you could probably do the job with m4 and a makefile. You can party like it's 1998[1].

[1] https://web.archive.org/web/20190813130112/https://www.linux...


I use zodiac[1] (awk + make) for that use-case, so I guess I'm already partying like it's 1985! :P

[1] https://github.com/nuex/zodiac


When I was a kid I remember using Server Side Includes (.shtml) to achieve this. It's how I ran my "blog" before blogs were common.

No clue if anybody still does this, but it worked great in 2001.


Also by the author, about the bloatedness of news sites today, https://zainamro.com/notes/unbearable-news


I like to divide tools into things that solve difficult computer science problems and ones that are just plain cool, like Jekyll. The latter category is like a drug since you can get lost having fun doing so much stuff without needing to think too deeply with all the rough mental workouts. But that usually isn't rewarding in hindsight. It's better to be attracted to the austere. There's less distraction that way. Although, swearing off the shiny things doesn't necessarily preclude having a more fabulous web design, OP ;)


If it is a blog though, please make sure to create XML feed (RSS or Atom), I don't consider sites that don't have it as blogs. Again even a simple templating language can do this, you could even run pug in cli mode and produce valid RSS feed.



Best of both worlds? https://soupault.neocities.org/


Try hugo. You need to waste 1 day to build and config it, but then you can make pretty amazing stuff fast


I think Zain Amro mentioned Hugo as one of the tools he has used.


Bold! That some bold leadership right there!




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

Search: