赛博空间的私人岛屿:博客架构与风格美学

赛博空间的私人岛屿:博客架构与风格美学
序言
“在信息洪流的喧嚣中,我们需要一块礁石来安放灵魂与代码。”
建立一个独立博客,不仅是沉淀技术与思考的自留地,更是你在广袤互联网上的一张专属数字名片。无论是记录底层架构的折腾日常,还是定格生活中的光影瞬间,博客都能以最纯粹的姿态,向世界宣告你的存在。
“博客就是上古遗弃的玩意,不亚于废土风格。”
但恰恰是这种废土风格,赋予了它一种极致的浪漫与自由。就像在这片荒芜的互联网大陆上不断迁徙,从 Halo 2 走到 Typecho,再重构到 WordPress,最后用 Astro 搭建起一座极致轻量级的数字庇护所。每一次主题的修改、容器的部署和数据库的迁移,都像是废土客在废墟中搜集旧时代的电子零件,亲手拼凑、打磨出属于自己的机甲。
这种带有颗粒感和孤独感的粗犷美学,莫名有一种姜文电影里的味道——在荒诞和喧嚣的互联网大环境下,带着一种不合时宜却又极其硬核的坚持,让代码和文字在自己的一亩三分地里自由地飞一会儿。
1 最初的想法
最初我想搭建一个博客,其实我只会用 Halo 2 这样的动态博客。
什么是动态博客?
动态博客其实就是有后端,后端负责让前端用户请求实时动起来,所以需要数据库,也就是要购买独立服务器搭建,比较吃性能。
后面我发现大家都在用 WordPress 和 Typecho,我也尝试着去装,发现虽然不是那么吃硬件性能对于我的量级来说。但是更换主题,那些还是不舒服,最后还是选择在 Halo 2 这样的博客上玩耍。新手必定推荐 Halo 2,只要你硬件硬性够。
直到我接触到 vitepress 这样的静态站点,安装好 node.js,最后按照 vitepress 官方文档构建就可以。可是这样的静态站点基本上是用编辑 .md 文档,这样的Markdown 编辑器也有很多。
什么是静态博客?
静态博客就是没有后端,不能实时交互添加功能,每一次添加功能,修改文档都需要重新构建一次。最主要的是不需要服务器,可以使用腾讯的Edge one 或者赛博大善人 CloudFlare 搭建。
2 欲望暴涨
再也不愿意只能写文档的博客,一直在寻找一款比较好的博客,需要满足以下几点。
- 底层是以 md 文档维护,再也不用一次一次的复制粘贴,还要担心格式问题。
- 架构轻量,不要太臃肿
- 响应速度快
- 部署简单
- 网站整体风格、文章阅读界面唯美
- 首页大屏壁纸随机轮播,有打字机功能,波浪水纹波流动效果
- 首页侧边栏,个人简介、公告、分类、标签、日历、统计信息、音乐、每日一言
- 评论系统,可以接入 twikoo
- 站点统计
- 相册、留言板、导航栏
- 全文搜索功能
- 部署文档、说明要完整详细
- 博客数据迁移方便
- 做一个只用写 md 文档就可以完善自己的博客
我探路了这么多博客,我最喜欢的动态博客就是 Halo 2。静态博客我用过 vitepreee,不过是天客大佬的版本;以及 Astro,不过是 Firefly 在 Fuwari 模板下二开,都是非常不错的静态博客,现在我在用的也是这俩静态博客。
3 最终选择
3.1 Halo 2 安装
Halo 2 是一款强大易用的开源建站工具,从个人博客、知识库,到企业官网、在线商城,Halo 2 都能助您轻松实现,一站式满足您的多样化建站需求。如果你的设备有 Docker 环境,可以使用以下 yaml 文件快速启动一个 Halo 2 的体验环境。
name: halo2services: halo2: # 镜像地址 image: registry.fit2cloud.com/halo/halo-pro:2.24 # 容器名 container_name: halo2 # 主机名 hostname: halo2 # 拓展 depends_on: # 连接数据库 halodb: condition: service_healthy # 健康检查 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo2 - --spring.r2dbc.username=halo2 # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=openpostgresql - --spring.sql.init.platform=postgresql # 外部访问地址,请根据实际需要修改 - --halo.external-url=域名 # 环境变量:- 变量名=值 environment: # JVM 参数,默认为 -Xmx256m -Xms256m,可以根据实际情况做调整,置空表示不添加 JVM 参数 - JVM_OPTS=-Xmx256m -Xms256m # 目录映射:宿主机目录:容器内目录 volumes: - /mnt/docker/apps/halo2/halo2:/root/.halo2 # 网络模式:桥接模式 networks: halo_network: # 端口 ports: # 端口说明功能 # webUI端口 - 8090:8090 # 重启策略,总是重启 restart: always
halodb: # 镜像地址 image: postgres:15.4 # 容器名 container_name: halodb # 主机名 hostname: halodb # 目录映射:宿主机目录:容器内目录 volumes: - /mnt/docker/apps/halo2/halodb:/var/lib/postgresql/data healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 # 环境变量:- 变量名=值 environment: # 密码 - POSTGRES_PASSWORD=openpostgresql # 用户名 - POSTGRES_USER=halo2 # 数据库 - POSTGRES_DB=halo2 - PGUSER=halo2 # 网络模式:桥接模式 networks: halo_network: # 重启策略,总是重启 restart: always
networks: halo_network:3.2 工具安装
如果你是 windows 电脑,你需要安装 VS code、Node.js
# VS code 官网https://code.visualstudio.com/
# Node.js 官网https://nodejs.org/zh-cn3.3 vitepress 安装
这里我推荐使用天客大佬的主题,天客大佬-vitepress-theme-teek。
# 拉取主题包git clone https://github.com/Kele-Bingtang/vitepress-theme-teek-docs-template.git
# 如果没有安装 pnpm,先安装npm install -g pnpm
# 安装项目依赖pnpm install
# 安装依赖pnpm add -D vitepresspnpm vitepress initpnpm install vitepress-theme-teek -D
# 预览pnpm run docs:dev# 构建,输出在 ./distpnpm run docs:build3.4 Astro 安装
我这里推荐 Mizuki Next Theme 或者 Firefly 的主题,安装方法都差不多。
# 克隆主题git clone https://github.com/Cuteleaf/Firefly.gitcd Firefly
# 如果没有安装 pnpm,先安装npm install -g pnpm
# 安装项目依赖pnpm install
# 启动pnpm dev-
编辑
src/config/目录下的配置文件自定义博客设置 -
博客将在
http://localhost:4321可用
4 总结
博客没有绝对完美的架构,只有最适合当前阶段需求的选择。从动态的便捷到静态的轻快,从代码的严谨到生活的诗意,博客的形态完全取决于你想要向世界展示怎样的自己。选择好适合的框架只是第一步,持续的思考、折腾与输出,才是保持这座数字岛屿生机盎然的秘诀。



Created with ❤️ by 十三
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!





