跳转到内容
kef-blog
返回

AstroPages-Bilingual 博客部署教程

编辑页面

一个基于 Astro v5Keystatic CMSCloudflare Pages 构建的现代、高性能双语博客模版。

专为追求“混合(Hybrid)”体验的工程师和内容创作者设计:面向访客使用 SSG (静态站点生成) 以获得极致性能,同时提供 Headless CMS 带来无需维护数据库的优秀写作体验。

本项目基于 astro-paper 主题,并针对原生 i18n 和工程健壮性进行了重构。

✨ 特性

☁️ 部署

部署到Cloudflare Pages

  1. Fork 这个仓库。
  2. 登录 Cloudflare Dashboard > Workers 和 Pages > 创建应用程序 > 下面小字Pages Get Started > Connect to Git。
  3. 选择你的仓库。
  4. 构建设置 (Build Settings)
  1. 点击 Save and Deploy
  2. 注意:部署完成后,建议在 Cloudflare Dashboard 的 Speed > Optimization关闭 Rocket Loader。Rocket Loader 会干扰 Astro 的客户端路由(View Transitions),导致页面导航和脚本执行异常。

配置生产环境 CMS (GitHub 模式)

要在线上站点 (/keystatic) 编辑内容,需要将 Keystatic 连接到 GitHub。如果您希望直接通过 GitHub 管理内容而不是通过单独的 Keystatic 管理端,可以跳过此步骤,网站应该已经可用了。

  1. 创建 GitHub App
  1. 在 Cloudflare 设置环境变量

修改 CMS 配置 keystatic.config.ts 第10行

your-github-name/your-repo-name/blob/main/keystatic.config.ts

repo: ‘YOUR_GITHUB_USERNAME/bilingual-blog’,

repo: ‘your-github-name/your-repo-name’,

📂 项目结构

/
├── src/
│   ├── content/
│   │   └── blog/
│   │       ├── zh/         # 中文文章
│   │       └── en/         # 英文文章
│   ├── pages/
│   │   └── [lang]/         # i18n 动态路由
│   │       ├── index.astro
│   │       └── posts/...
│   └── components/         # 通用 UI 组件
├── keystatic.config.ts     # CMS 配置
├── astro.config.mjs        # Astro & i18n 配置
└── public/                 # 静态资源

📝 撰写内容

你可以通过两种方式撰写内容:

  1. 通过 Keystatic UI:访问 /keystatic,使用 GitHub 登录并使用可视化编辑器。
  2. 直接创建文件:在 src/content/blog/zh/src/content/blog/en/ 中直接创建 Markdown/MDX 文件。

编辑页面
分享到:

下一篇
欢迎使用 AstroPaper