示例文章:为什么用 Astro 写博客
这是模板自带的第二篇文章。它和上一篇不同,不是用来罗列语法的,而是一篇正常博客该有的样子:有观点、有取舍,也可以直接删掉换成自己的第一篇文章。
选 Astro 的理由很简单:文章还是 Markdown,构建完却是纯 HTML。
先让写这件事变简单
维护博客最费劲的通常不是写,而是折腾框架升级、数据库和部署。静态博客把这些问题都省掉了:文章就是仓库里的 Markdown,构建一次得到纯 HTML,扔到任何静态托管上都能跑。
代价是没有服务端能力,评论、统计这些要用第三方服务补。对以文字为主的博客来说,这笔交换很划算。
内容放 src,静态资源放 public
文章的 frontmatter 需要校验,图片希望自动压缩并带上哈希文件名,所以博客和配图都放在 src/data 下,交给构建流程处理。public 只留 favicon、PWA 图标这类必须保持固定路径的文件。
这个边界想清楚之后,新增内容基本不用再纠结文件该放哪。
几处能一直用下去的细节
- 代码高亮、公式和 Mermaid 语法都在构建期处理,页面不用为它们加载额外脚本
- 正文主题、深浅色和主色都能切换,排版和内容互不干扰
- Pagefind 搜索和 PWA 离线是构建产物的一部分,不需要外部服务
模板负责结构和样式,内容只写 Markdown。
接下来
改掉 constant.ts 里的站点名和域名,换一张头像和封面,然后就可以删掉这两篇示例文章开始写自己的内容了。新建文章时运行:
yarn new --title='我的第一篇文章'脚本会按日期命名文件,并生成一个不会重复的 abbrlink 作为文章地址。