1.0.2 · Initial Support for Themes

2022-01-12 · 3 min read

On Jan 12's 1.0.2 update, we added support for themes. Now you can select a theme in the settings. The previous default theme is now called "Use device theme (reverse)" because it uses a dark output under light mode. A new theme called "Dracula" is also added.

Today I moved the website build system to Vercel. That is my first-time experience with Vercel, and it is fantastic. Previously I first tried to use Cloudflare Pages to build the site since we already use Cloudflare CDN. However, it took them a manual intervention to enable our domain v2ex.pro for Cloudflare Pages custom domain. I still do not know why. While waiting for their response, I googled and found other confused and disappointed users.

So I tried to use GitHub Pages then. But GitHub Pages does not have native support for Zola, the framework I am using for the CodeLauncher website. So I added a GitHub Action for building the website and publishing it to GitHub Pages.

Then I was looking for a solution to redirect www.v2ex.pro and v2ex.pro to cl.v2ex.pro because currently cl.v2ex.pro is the only website under this domain. Yuheng recommended Vercel in the related GitHub issue #10 as a straightforward solution for setting up that kind of redirection. And ta-da now the website smoothly runs on Vercel and has all expected redirections.

Comparing the three build solutions I have tried, Vercel provides the best experience overall.

  • Cloudflare Pages uses a big image that seemingly includes all the frameworks they can support. It makes building with CF Pages is the slowest. Also, it cannot work with the latest version of Zola, and you have to specify an environment variable like ZOLA_VERSION=0.14.0 to use an older version, while as of this writing, the latest version is 0.15.2.
  • GitHub Pages natively support Jekyll. But you will need to use an action if you want to use other frameworks. That is probably not a big deal since GH Action is awesome!
  • On Vercel, my website build just works. If you need to fine-tune things like the Cache-Control header for images, you can do it with a vercel.json file.