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.
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