把Github当作数据库,搭建博客 · Issue #54 · zhangyu1818/blog
AI 摘要 · Qwen 中文摘要 收录
查看原文 该文档介绍了一种以 GitHub Issues 为数据源,结合 GitHub API、Gitalk、图片分支和 Vercel 部署来搭建博客的方法。
方案概述
- 文章介绍用 GitHub Issues 作为博客数据源,无需服务器即可搭建博客。
- 前端可采用任意技术栈,并支持评论、标签分类、图片存储、CDN 加速和自定义域名。
数据读取
- 每篇文章对应一个 GitHub Issue,Issue 评论可作为文章评论。
- 可通过 GitHub REST API 或 GraphQL API 读取 Issues 列表和详情,作者示例使用 GraphQL API。
- 详情接口可获取 bodyHTML,减少本地 Markdown 渲染工作。
评论系统
- 推荐使用 Gitalk 实现评论功能。
- 需要创建 GitHub 应用,并配置 clientID、clientSecret、repo、owner、admin 和 number 等参数。
图片与 CDN
- 图片可保存在仓库的另一个分支中。
- 可使用 PicGo 或 PicGo-Core 上传图片,并通过 jsdelivr 提供 CDN 加速。
部署与域名
- 推荐用 Vercel 部署,支持主分支更新后自动拉取和部署。
- Vercel 支持多种前端技术栈,可配置环境变量并修改自定义域名。
安全与站点配置
- GitHub Token 需要妥善保管,不应提交到仓库,可用 .env.local 或部署平台环境变量读取。
- sitemap 可在静态构建前生成,也可在服务端渲染时通过 API 接口提供。