Skip to content

我是如何搭建博客的

发布于  at 21:37

为什么不用已有的成熟方案?

文章内容储存在哪里?

Git

DB

Notion / 飞书云文档 / 语雀

如果我不是程序员,我可能会选择这些,但我是,而且还是个前端。

结果

先放 Git 仓库里,后期考虑混合模式。

图床

想用 GitHub/Imgur,但国内访问受限,OSS 有恶意流量的风险,先放仓库里吧

国际化

要面向全球读者,就得支持中英双语,最想要的交互是对照显示,感觉开发量会有点大。算了先用 astro-i18next 顶一下。

订阅

RSS 订阅

就是一个纯文本内容(xml/json/atom),Astro 内置

Email 订阅

有点麻烦,暂不实现

账号体系?

两个需求:

评论/回应

最终选择了 Giscus 。

付费内容/课程

那必须有自己的账号体系了。而且也可以考虑单独做一个网站。所以先不实现。

网站流量分析

最终选择了 umami 的免费套餐。

全平台同步?

同步修改内容

有点不现实,不是所有平台都提供 API 的

显示全平台的评论、点赞数

暂时没什么必要

全平台访问统计信息

暂时没什么必要

可以借鉴的仓库

UI 设计非常好:

一些工具:

起步模板?

没几个页面,也不复杂,daisyui / shadcn 从头撸一个也行, 可以找一个 i18n 的模板(shadcn 有 v0.dev 加持,其他的可以用 ancodeai.com 代替)

最终选择了 astro-paper + 自己改功能、样式。

实践

国际化,踩大坑

选择了基于 astro paper 开始开发,然后选择了 astro-i18next 做国际化,踩大坑,怪我自己没看清它还处于 Beta 阶段。

其他坑

再加上还要改样式,整个仓库代码几乎看完了,早知道我自己从零写了,这也没省多少时间。

SSG vs SSR

SSG(Static Page Generation):

SSR(Server Side Render):

To be confirmed:

分享到: