The previous version of this blog was getting increasingly hard to maintain. Because of this it was getting outdated very fast, to the point where I did not dare to deploy any new changes.
So, instead of fixing the problem, I decided to build a new blog from scratch.
This new version would be better than ever.
It should be:
So how were these goals accomplished? I'll give a brief outline, but will give more details in upcoming articles.
Easy to maintain
Cutting back on the number of dependencies is the main strategy in making this project easier to maintain. Fewer dependencies means fewer updates, fewer breaking changes and thus less work.
Decoupling from Laravel Framework has been another strategy. By using a layered architecture it is now more clear what code is "application code" and what is "framework code". When the next big update of Laravel comes around, it should be way easier to update the now isolated pieces of framework-related code.
This blog is fast because of 2 reasons:
- It is small in size. The homepage and all its assets currently total just under 17kB. This is as 94% reduction compared to the previous 312 kB.
- All HTML output is cached. When the content of an article is updated, or a comment is posted, this cache is automatically invalidated.
No more tracking. No more Google Tag Manager, Google Analytics or Google Fonts.
If I don't want to be tracked while browsing, then I should not do the same to visitors of my own websites.
Funny enough this helps in maintainability, reduces asset size and made it possible to use a stricter Content Security Policy.
- Check out the source code on Github.
- My plans for 2022.
- Using a UUID as a primary key in Laravel Eloquent.
What do you think of this newer version? Share your feedback by leaving a comment.