所需内容
- 一个GitHub账号
- 一个环境为— Node.js <= 22 pnpm <= 9 的电脑
- cloudflare账号
拉取到本地
::github{repo=”saicaca/fuwari”}
使用 create-fuwari 在本地初始化项目。
1 | npm |
- 通过配置文件
src/config.ts自定义博客,详细修改方式我会放在下面 - 执行
pnpm new-post <filename>创建新文章,并在src/content/posts/目录中编辑
安装并运行
- 运行
pnpm install和pnpm add sharp安装依赖项。 如果电脑上没有安装pnpm,则需要先运行npm install -g pnpm。 - 使用
npm run dev启动项目,如果正常的话(会显示面这行提示),浏览器访问127.0.0.1:4321,现在已经可以看到页面
1 | 07:37:17 [content] Syncing content |
绑定GitHub
我在之前搭建Hexo时候 git已经绑定账号了,因此下面都是在你已登录账号的情况下写的教程,如果你没有绑定账号,而出现错误,请去Google一下
绑定 GitHub的方法是有官方教程的,非常通俗易懂 官方教程
我这仅仅是转述一下,顺带详细描述一些Bug的解决方式
- 首先你需要注册一个GitHub账号,并且记住你的用户名
- 然后创建一个项目名称为:你的账户名.github.io
Astro 维护了一个官方的 GitHub Action
withastro/action来帮助你部署项目;你只需很少的配置,就可以完成部署。按照下面的说明可以将你的 Astro 站点部署到 GitHub Pages,如果你需要更多信息,请参阅这个包的 README。 - 此时在
astro.config.mjs中配置文件设置site和base选项。
1 | import { defineConfig } from 'astro/config' |
site的值必须是以下之一:
- 基于你的用户名的以下网址:
https://<username>.github.io- 为 GitHub 组织的私有页面 自动生成的随机网址:
https://<random-string>.pages.github.io/可能需要为
base设置一个值,以便 Astro 将你的仓库名称(例如/my-repo)视为你网站的根目录。注意
如果出现了以下情况,则不要设置
base参数:
- 你的页面是由根文件夹所提供。
- 你的源码存储库是位于
https://github.com/<USERNAME>/<USERNAME>.github.io。
base的值应该是你的仓库名称,以正斜杠开头,例如/my-blog。这样做是为了让 Astro 理解你的网站根目录是/my-repo,而不是默认的/。警告
当配置了这个值后,你所有的内部页面链接都必须以你的
base值作为前缀
- 在你的项目中的
.github/workflows/目录创建一个新文件deploy.yml,并粘贴以下 YAML 配置信息。
1 | name: Deploy to GitHub Pages |
- 在 GitHub 上,跳转到存储库的 Settings 选项卡并找到设置的 Pages 部分。
- 选择 GitHub Actions 作为你网站的 Source,然后按 Save。
- 提交(commit)这个新的“工作流程文件”(workflow file)并将其推送到 GitHub。
推送到GitHub
第一次可能要键入你创建项目时候GitHub提供的提交代码,用来绑定项目
1 | git init |
直接输入npm run format先[^1]规整格式,而后git add .,之后 git commit -m "eeexxxxaaaammmpppllleeee",最后 git push
附: rc/config.ts详细修改教程
1 | // 导入配置文件所需的类型定义 |
[^1]: 原因是因为防止文件的格式不符合 Biome 工具设定的规范