For a while now I have been thinking about a blogging system for myself that I would be happy with. I tried Ghost and Wordpress (including multisite) and some others but something was still missing.

Ghost is made with Javascript (which is not my friend) and is difficult for me to add functionality to.

Wordpress - why does a theme need so many plugins? Do you guys who use a theme you bought from one of the shops know what those plugins do? Or when they were updated? I really don’t like it when my theme prevents me from updating the site. And what more I’m not fan of those word-like editors for web. They are called WYSIWYG or whatever.

Currently I am using a static generator called Hugo which I fell in love with the first time I tried it. I also use it for some client sites. But static generators have some limitations - they are static.

So I created one myself. I think it is attempt somewhere arround 10 (?) or more. When I started I knew I wanted a simple platform for one user with articles that uses markdown format and tags. Nothing fancy.

I also added support for multiple domains, inspired by Wordpress multisite. I can manage multiple blogs (sub-blogs if I want) from one administration.

I added the AI summaries last week, but I had a problem with the response time, which caused my post to take too long to be saved to the database. (Usually it takes a few milliseconds, now it takes about 10 seconds).

So this weekend I added queues. Just a simple command that is called periodically with cron and loads jobs from the queue. I’m also testing continuous loops, but I think I’ll be OK with cron for now.

After testing it on my computer and pushing it to the server using Forge, I found another problem. My computer uses MySQL and my server uses Postgresql.

Postgresql had problem with how I store data for jobs in database. I thought is wise to put serialised data there but postgres doesn’t like this. I overcomplicated things again

I asked on CakePHP slack and few guys advised me that I should not do that (store serialised data in database) and better way will be to just store id of entity I want to consume with task or use json if I need original data.

I decided to go with json and rewrote my controllers and now my queue is working.

I’m happy with the way my blog looks and works now, I still miss the RSS exports before I move to my custom blog.

Source Code: MeowBlog