Blog v3!

Third version of my website

Data has shown that 99% of use cases for all developer tooling are building unnecessarily complex personal blogs.

from the readme of next-mdx-remote (which I don’t use anymore, so foreshadowing)

The third version of my многострадальный1 blog is here!

Previous versions

At first, there was no blog. My website was a bunch of static html+css hosted on github pages. Good times.

Then there was a separate blog, based on tailwind-nextjs-starter-blog 🔗 with minor customizations and fixes. With exactly zero posts. Good times.

Most of my blog posts at the time was on Medium, and there was not a lot of initiative to migrate.

Then Twitter became X, Medium was banned in Russia, and suddenly there is some initiative to have my own “platform”.

The second version of my website looked the same, but had the blog integrated into it. It was made with Next.js, React and Tailwind.

Guess how many reactive elements that website had?

You’ve guessed right, none of them. And React’s runtime is enormous.

Adding insult to injury, next and mdx are not exactly the easiest choices for making static blogs happen. In fact Next.js hates MDX, and vice versa. None of existing mdx+next adapters make it easy to render static html at all. I’ve used next-mdx-remote and official mdx integration and the same time, and it was a misery.

Astro 🚀

Recently at work, I was able to use Astro in somewhat production workflow, and it just clicked in. Astro is everything I love about Next minus everything that I hate about it.

Astro is very nice to work with, with everything required to make a blog already included (or easily pluggable), so if you planning to make your own, take a look on it. It will be better than Next.js for that usecase, 100%.

RSS

RSS with Astro is kind of “plug and play”, and with added pretty-feed-v3 🔗 it looks nice. You can check how it looks here.

Lynx (the web browser) compatibility

Screenshot of this website from the lynx browser

The fact that my website has “lynx” in it’s name and previously wasn’t compatible with a “lynx” web browser is kinda hilarious. Previous version was almost there, but still had a lot of elements “glued” together. For example, main menu looked like this:

postsprojectscvbuy me a coffee

Which while still being completely usable as a menu, isn’t the greatest of the possible user experiences.

Will there ever be a visitor with the lynx as their preferred web browser? Probably not. Will I be prepared in case there ever will be the one? Absolutely.

New comments widget

Previous one (giscus) worked only for users with a github account, and I think most of my users already have one of these, but for some reason never left any comments… Well, less stuff to migrate for me :)

Now comments are powered by selfhosted (yay!) remark42 🔗, and you can even leave comments anonymously, without registration. There is a chance that I’ll reconsider that last statement, but for now it’ll be like that.

New colors and fonts

With the third iteration I’ve decided to give up on previous color scheme, external fonts, and to replace serif text with sans-serif.

Don’t judge, but I do like this version more than the previous one:

The previous version was more colorful, but less readable
The previous version was more colorful, but less readable

Why don’t just use Wordpress?

Don’t feel like running public honeypots.

And writing with markdown is still one of the best things that I happen to learn.

More content

In the next few days I plan to publish some of my Medium posts here, so timeline will not have just 2023 in it :)

Also there is few already in planning/writing, so stay tuned!

Let’s hope that rewriting my blog will be less frequent than new posts appearing there…

Footnotes

  1. long-suffering, distressful

Licensed under CC BY-NC 4.0

Comments