When I decided to write more about everything I encountered in my daily work, I began to design the website again. Iāve redesigned it several times to make it more comfortable for readers. For example, I introduced the TailwindCSS typography plugin to make post-typography more specialized (hopefully). I chose fonts carefully to make reading content easier. I added customized MDX components for better presenting the important takeaways.
The dynamic blogs, a concept I came up with to differentiate them from my regular blogs, has no difference in rendering from the regular ones. So Iām not implementing a new user interface. My current blog setups are good enough for text and images.
But I do want to make a change to my blog system, which is the publishing pipeline. For several years, Iāve been writing and publishing blogs in the following steps:
- Write a draft in markdown editors or Google Docs.
- Composing the draft with MDX components to emphasize some important notes, like the āCalloutā effect or the āDialogā effect. I need to add extra components in some posts, such as the keyboard button style I used in a recent post.
- Add the post to my blogās git repository and start a development build to see if there are any faults in the page.
- Try building with Server-Side-Rendering. SSR should greatly improve the speed of loading. This is the step where bugs in third-party NPM modules show up. Try to fix the bug.
- If everything is okay, commit the change and push it to GitHub. The CI/CD will automatically rebuild my entire website and distribute it to CDN worldwide.
Do you see the problem? The workflow is too complex. It takes days to go from writing the first line to the final publication. This kept pushing me away from writing a new article because I subconsciously felt it was a willpower-sapping thing to do. ā¹ļø
Sometimes I only want to open an editor and input some words. That is the spirit of blogging!
Redesign the blog for myself
My blog system goes through many updates, most designed for the reading experience. But this time, I want to redesign the publishing pipeline, that is, the writing experience. I want to massively cut off the cost of publishing a new post. In fact, there wonāt be any āpublishingā work: My real-time input will be automatically synced to the blog system.
That may sound crazy. The readers donāt want to see an unfinished post. But the dynamic blogs have a new spirit: exchange ideas. I donāt think an idea can be finished. It can always be proved, improved, or disproved.
Imagine an article is a bulletin board. On this bulletin board, we post ideas that we currently have, ideas that have been proven wrong, and ideas that are worth exploring in the future. Thatās why the posts are dynamic. I am constantly updating the content, moving toward better solutions, more comprehensive answers, and better theories.
Of course, if a dynamic post reaches a certain stage that I feel good enough, I will compile all the content and publish a normal blog post based on it.