Blog迁移计划:新建文件夹
Mon May 13 2024
# blog迁移计划:新建文件夹
感觉这个迁移计划是个大工程(不用感觉,就是大工程),这算是整个项目的第一步了(
把一些想到的 idea 全部记录下来,先不管最后能实现,写在这里防止之后忘了
## Why?
主要有两个原因(严肃)
一是现在的博客用的是 Halo,一个用 Java 写的博客框架,本身有点太重了,现在是放在白嫖的服务器上然后用白嫖的 CDN (喂),但是长期考虑,这毕竟还是没法一直白嫖下去,至少这个服务器本身不好说,所以打算换个别的地方白嫖,打算用 GitHub Pages / Cloudflare Pages + Vercel / Cloudflare Workers 这样的方案,主打一个 Serverless (更高境界的白嫖)(bushi
还有个原因就是,感觉现在的博客可定制性不太够,不是很能满足自己折腾的需求,所有内容基本都是 markdown 或者是 halo 的那个编辑器的产物,没法自己写一个 SPA 放上来(为什么会有人有这种奇怪的需求),所以还是想换点更底层但也更灵活的方案
## How?
翻了一遍自己的 GitHub Stars 列表,又翻了点 ZeroAurora 的 Stars 列表,最终决定采用 Astro + MDX + Solid.js React 的方案 (本来打算用 Solid.js 的,因为听说其在某些部分设计还挺不错,但是看了看生态,以及 React 最近的更新,还是重回 React 舒适圈了ww)
## 一个非常草稿的设计
高情商:高度可定制化 低情商:全部手搓
大部分文章和页面本体都是在本地或者 CI/CD 构建好的静态页面,同时用云函数实现一些动态的功能,比如一些受保护文章的访问控制(其实这个好像也可以纯静态),以及评论区这类互动功能
目前是打算设计成:本地手动编辑 MDX 或者 JSX / TSX 并构建,然后通过脚本部署到托管服务器上,同时触发一些云上的 hook,进行一些刷新操作(这不就是 Hexo 那类框架的工作流吗草)
之后看情况能不能接入 StackEdit 这种 In-browser Markdown Editor,这样还可以实现在任意设备上编辑(其实感觉不难实现,因为 StackEdit 可以接入 GitHub Repo 作为 Workspace,结合上 GitHub Actions 或者 WebHooks + 云函数, 应该就能实现把 StackEdit 编辑的内容及时构建到页面上)
主页和别的页面(友链,About 页等)可以直接 React 或者 Astro 写,文章页先用 Astro 搭一个页面模板,然后用 MDX 写文章内容,再把内容嵌套到模板内
别的还没想好,摸了
## 今日份的 To-Do
- 新建文件夹
- 完成首页
- 完成文章页面模板
- 部署第一个页面
- 部署第一个云函数
- 饶了我吧写不完了呜呜呜呜呜
To be continued...