博客引擎已从 Hugo 换成 Astro + AstroPaper:界面焕新、搜索更快、中文界面、URL 保持不变。这篇还是老规矩——忘了怎么发文章、怎么贴图,回来翻这篇。
怎么写新文章
在 src/content/posts/ 下一个 Markdown 文件就是一篇文章,文件名就是 URL(如 my-first-post.md → /posts/my-first-post/,建议用英文短横线命名):
---
title: 文章标题
pubDatetime: 2026-10-18T12:00:00+08:00
description: 一两句摘要,显示在列表和搜索结果里
tags: [生活]
draft: false # true = 草稿,不会被发布
---
正文从这里开始……
写完在博客目录跑:
./deploy.sh
它会同步 Obsidian 草稿 → Astro 构建 → Pagefind 生成搜索索引 → 发布到 Cloudflare Pages → 整库备份到 R2。本地预览用 npm run dev,浏览器开 http://localhost:4321 。
怎么贴图
- 外链(推荐):Obsidian 里复制图片,Cmd+V——PicList 自动传 R2 并插入
img.zhelang.top的链接 - 本地图:把图片放进
src/assets/images/<文章名>/,正文里写(相对引用../../assets/...也可以,构建时会自动优化)
和旧版(Hugo)比变了什么
| Hugo 版 | Astro 版(现在) | |
|---|---|---|
| 文章位置 | content/posts/标题/index.md | src/content/posts/名字.md |
| 站点配置 | hugo.yaml | astro-paper.config.ts |
| 本地预览 | hugo server | npm run dev |
| 构建产物 | public/ | dist/ |
URL 规则没变(/posts/文件名/),旧链接不会断。
目录速览
| 位置 | 作用 |
|---|---|
astro-paper.config.ts | 全站配置:站名、作者、每页篇数、功能开关 |
src/content/posts/ | 文章,一个 .md 一篇 |
src/content/pages/about.md | 关于页 |
src/i18n/lang/zh-cn.ts | 界面文案 |
scripts/ | 发布、Obsidian 同步、迁移脚本 |
public/_headers | 全站安全响应头 |