Posted on 21/09/2022 20:38:55
No, no software ever is perfect. I will give credit where due, blogit is an amazing project that will work wonders for kickstarting a new personal blog. However, my ambitions have outgrown just a personal blog. I strive to make this site for the community (while also maintaining my personal blog) and blogit was not going to scale well going forward.
That being said, if you have something to share that you feel like is based (and won’t get me in trouble), you can clone the new web-hugo.git repository, create a patch with your post and send it my way either via email or Matrix.
Not too much for you, the reader, other than some neat improvements (such as tag and post pagination coming in the v0.2 of the Hugo site). The website will still be as light as ever for you to browse, I didn’t spoil the website with JavaScript or some excess CSS “framework” - I will adhere to these principles that I set out when starting this website, I will reject all patches that try to add JavaScript or CSS frameworks.
Behind the scenes, a lot has changed. First, the workflow has changed - back when using blogit, creating a
page was as simple as using touch articles/new-post.md
. Once you finished writing the article, you added it
to the git repository and ran the makefile named “blogit” with target “build”. For each build, it had to
rebuild all the tag index pages, RSS feed, all the posts and the index page which is needlessly wasteful,
especially given blogit’s inefficiency (more on that later).
With Hugo, I open one terminal window to run hugo server
and another tab to run hugo create posts/new-post.md
.
That command creates a new file in the content/posts/ folder using a template (in Hugo world, “archetype”).
I have set it so it automatically fills in the post date and title alongside a few other metadata values
I use to hint Hugo into building what I want. Do note that you do not need Hugo to contribute, you can still
do it the old way. Once the post is generated, I just edit the post with nano on the same terminal window.
Once I’m done editing and have saved, instead of having to rebuild the entire website, the earlier ran
server automatically rebuilds the changed components and live reloads the page in your browser.
This is a lot more convenient than with blogit and saves a bunch of time when writing posts and wanting to
preview them as you go.
Secondly, Hugo is a lot more flexible in adding function to the static pages. With blogit I had to go through hours of painstakingly editing the Makefile to make it do what I want just barely and even then the result was not the best. Hugo gives you flexible templating capabilities from Go, you can familiarise yourself with it here. So you can expect me to be able to add somewhat more advanced features to the site that before I previously had to reject over complexity concerns.
All in all, Hugo makes more sense. It saves time and also performs much better.
Not at all! Since blogit used markdown, the only annoyance was having to redefine preview image and the tags in header
instead of the footer, otherwise posts ported over fine without any issues. As for how I kept the old URLs valid, I made
use of aliases in Hugo. For example on my DeckPC Day-1
post, I simply added a single line to the header: aliases: ["/deckpc-day-one-experience.html"]
A lot. This is 15071 pages (of which 15k are just “sneedx” where x is 1 to 15000) generated in roughly the same amount of time as blogit generated my 14 posts on old source.
(deck@sneed web-hugo)$ time hugo
Start building sites ...
hugo v0.92.0+extended linux/amd64 BuildDate=unknown
| EN
-------------------+--------
Pages | 15071
Paginator pages | 0
Non-page files | 0
Static files | 8
Processed images | 0
Aliases | 14
Sitemaps | 1
Cleaned | 0
Total in 3658 ms
real 0m3.741s
user 0m6.876s
sys 0m1.562s
Blogit on 14 posts:
real 0m3.554s
user 0m2.481s
sys 0m1.566s
The results speak for themselves. Current site as of writing this post, builds in ~70ms.
By time you see this post, it’s already gone and replaced with the Hugo site. Should you wish to still make a copy of it, I have moved its repository to web-old.git. As it stands right now, that repository is archived and won’t be accepting any more patches.
Thanks for reading,
Join us at Matrix: #based-quest:cernodile.com
© 2021 - 2024 based.quest | Powered by Hugo | Donate | Atom RSS