Site migration

A new beginning of my blogging

Although there may not be many people reading this blog year-round, I still want to provide an explanation for such a big adjustment.

Why migration

The main adjustment is switching the blog framework from a self-made Node.js + Vue.js server application to Hugo. As for why the switch, the main reason is that I don’t want to continue maintaining a stateful service. Also, since the code is quite old and hasn’t been maintained, I really don’t want to add any new features to it anymore.

Currently, the content management engine for the site is Hugo, and I found a clean and minimalistic theme that supports dark mode. Keeping the content management static also has the advantage of easy deployment on Cloudflare Pages, enjoying the zero-origin access with high speed provided by AS13335’s global edge nodes.

What’s new

Previously my blog only provide Chinese posts, for now I’ll start to write post in English by default. I have already translate some of my older posts to English which I think is worth reading. If you are willing helping the translation please contact me :)

What has been changed

Since there are some private and non-public services running under other paths of, it would be troublesome to directly host the blog on this domain: static resources still need to be deployed on a virtual machine located in Hong Kong, with Cloudflare…

Because there are some private and undisclosed services running on other paths of, it would be troublesome to run a blog directly on this domain. Static resources still need to be deployed on virtual machines located in Hong Kong, and Cloudflare CDN still needs to frequently fetch data from the origin server, which is far less performant than a zero-origin-fetch setup like Cloudflare Pages. So, the final solution is to create a new domain,, to host the blog content.

As for the previous static resources on, such as the Grayscale Image Converter and CoreMark WebAssembly, they will continue to be served by In this case, the nginx configuration just needs to be handled simply.

error_page 404 = @redirect_to_space;
error_page 403 = @redirect_to_space;

location /wp-content {
  root /var/www/blog;

location / {
  root /var/www/;

location @redirect_to_space {
  return 302$request_uri;

What about comments

Many times, comments don’t leave much useful information. If there are any suggestions or errors that need to be addressed, you can send an email to, or contact me on Telegram.

comments powered by Disqus
Except where otherwise noted, content on this blog is licensed under CC-BY 2.0.
Built with Hugo
Theme Stack designed by Jimmy