这是我的个人博客,基于 Fuwari 模板(一个使用 Astro 构建的静态博客模板)进行定制和扩展。
在线地址:[https://94w.netlify.app/]
在原模板基础上,我进行了以下定制:
- 更新了
src/config.ts中的站点标题、副标题、个人资料(头像、姓名、简介)和导航栏链接。 - 移除了评论功能(Giscus),简化了页面结构。
- 编写了
scripts/import-yuque.js脚本,可将语雀导出的 Markdown 文章一键导入博客。 - 支持命令行参数(标题、标签、分类、发布时间、地址等)。
- 集成到
package.json的scripts中,可通过pnpm import-yuque快速调用。
- 文章发布时间精确到分钟,显示格式为
YYYY-MM-DD HH:mm(使用 UTC 时间避免时区偏移)。 - 新增
address字段,可在文章元数据中显示发表地址(如“南京”)。
- 修改
src/utils/content-utils.ts中的排序逻辑,确保文章按发布时间降序排列(最新的在最上方),同一天的文章按标题字母顺序稳定排序。
- 移除了导致构建失败的
Comment.svelte组件。 - 修复了
src/styles/markdown.css中无效的@apply link规则。
-
本地开发
pnpm dev
-
构建生产版本
pnpm build
构建产物位于
dist/目录。 -
推送到 GitHub
git add . git commit -m "更新" git push origin main
-
自动部署
- 使用 Netlify(或 Vercel)连接 GitHub 仓库。
- 构建设置:构建命令
pnpm build,发布目录dist。 - 每次推送后自动构建并发布。
- 在 语雀 中撰写文章。
- 导出为 Markdown 文件(保存到
myPosts/目录)。 - 运行导入脚本:
pnpm import-yuque ../myPosts/文章.md --title "标题" --tags "标签1,标签2" --category "分类" --address "南京"
- 本地预览(
pnpm dev),确认无误后推送并部署。
| 命令 | 说明 |
|---|---|
pnpm dev |
启动本地开发服务器(localhost:4321) |
pnpm build |
构建生产版本 |
pnpm preview |
预览构建结果 |
pnpm new-post <文件名> |
创建新文章(空白模板) |
pnpm import-yuque <文件> |
导入语雀文章 |
pnpm format |
代码格式化(Biome) |
pnpm check |
代码检查 |
myBlog/
├── src/
│ ├── config.ts # 站点配置
│ ├── content/posts/ # 文章目录
│ ├── components/ # 组件(布局、元数据等)
│ ├── layouts/ # 页面布局
│ ├── pages/ # 页面路由
│ ├── styles/ # 样式文件
│ └── utils/ # 工具函数
├── scripts/
│ └── import-yuque.js # 语雀导入脚本
├── public/ # 静态资源
└── package.json
本项目基于 MIT 许可证开源。详见 LICENSE 文件。