My blog has gone through three major transformations to become what you see now; it runs on xice.cx.
To talk about the history of my blog’s construction, the earliest I can trace it back to is Hexo, where I used redefine at the time. Later, because Astro was newer, I migrated to Astro with the fuwari theme, and then found the theme increasingly couldn’t meet my needs, so I started modifying it. As I modified it, I realized what I’d ended up with had basically nothing to do with the original theme, so I just pulled the whole thing out and made a standalone template. Since it borrows completely from Arknights’ Rhine Lab and Lone Trail, I very bluntly called it Lonetrail
The code is at github.com/ChongxiSama/Lonetrail, MIT licensed, built on the Astro framework.
Since I studied React, naturally I wrote some of the complex components in React, but I still used a lot of Astro’s native syntax too — you won’t get the situation of zero Astro and all React
I also thought about switching to preact before, but I feel the performance has hit diminishing returns; switching really didn’t bring much improvement
The main thing was extracting the current blog’s UI layer, layout, components and configuration system. I removed my own personal customization logic, cleared out all the hardcoded user information scattered everywhere, and moved it to configuring everything globally in a single site.yml file
I went over more than a dozen directories and fixed dozens of hardcoded spots. Now you can change the config and use it directly
Features
The most basic features a blog should have
Deployment
git clone https://github.com/ChongxiSama/Lonetrail.git my-blogcd my-blogpnpm install# 记得改 src/site.yml 和 astro.config.mjspnpm devI personally prefer pnpm; if you’re capable and want to use bun or whatever, it’s all open source, up to you
