使用说明,关于后期修改和文章上传

博客使用说明

Hexo 8 + NexT 8(Gemini 主题)静态博客,已配好站内搜索、分类/标签、归档、RSS、sitemap、阅读进度、代码复制按钮、深色模式、手机自适应、推送即上线。

项目 值
站点名 芹菜炖雪梨的小屋
地址 https://qincaidunxueli.cn
仓库 git@github.com:qincaidunxueli/my-blog.git(main)
部署 Cloudflare Workers 静态资源,push 后自动构建
本地目录 D:\Workbuddy-store\2026-11-05-19-58-34\blog

零、用 Obsidian 写(推荐,不用敲任何命令)

博客目录里已经预置好 Obsidian 库配置(source/.obsidian/app.json),开箱即用。

第一次:把库加进 Obsidian

  1. 打开 Obsidian → 左下角库图标(或菜单「打开其他库」)
  2. 点 「打开本地库」
  3. 选择目录:D:\Workbuddy-store\2026-11-05-19-58-34\blog\source
  4. 它会问是否信任作者,点信任

现在左侧文件列表里能看到 _posts(文章)和 images(图片)。你原来的笔记库不会受影响,左下角随时切换。

写一篇:双击 1-新建文章.bat

会在 _posts 里生成一个带日期的 .md 文件(比如 2026-11-05-2130.md),Obsidian 秒速识别,点进去改标题、写正文、Ctrl+S 保存。

标题不用改文件名,改开头 title: 那一行就行——URL 用日期,标题随时能改。

发布:双击 2-发布文章.bat

1~2 分钟后线上更新。

Obsidian 里必须注意的三件事

事项 说明
图片 直接粘贴截图。配置里已把附件目录设为 images、链接格式设为站点绝对路径,粘贴后是 ![](/images/Pasted image xxx.png),Obsidian 和博客都能显示
不要用双链 [[另一篇文章]] 博客不支持。配置里已关掉 wikilink 格式,正常写链接不会产生它
_posts 里别放草稿 这个目录下的每个 .md 都会变成线上文章。没写完的草稿单独放个文件夹,写完再挪进来

2-发布文章.bat 里内置了一个小修复:万一图片路径是 ../images/xxx.png 这种相对写法,发布时自动改成 /images/xxx.png,不用你管。

分类:文件夹就是分类名

不用在文章里写 categories:,直接把文章放进对应文件夹就行。

文章放在哪 自动归到哪一类
_posts/生活/xxx.md 生活
_posts/技术/xxx.md 技术
_posts/技术/基础漏洞/xxx.md 技术 > 基础漏洞
_posts/技术/基础漏洞/sqli/xxx.md 技术 > 基础漏洞 > sqli
_posts/xxx.md(直接放根目录) 按头部 categories: 走;不写就不归类

几个要点:

  • 新建文件夹 = 新建分类。在 Obsidian 里右键 _posts →「新建文件夹」,起个中文名(文件夹名就是页面上显示的分类名),把文章放进去即可
  • 换分类 = 挪文件。在 Obsidian 左侧把文件拖到别的文件夹,发布后自动改分类
  • 层级就是文件夹层级,想加几层加几层
  • 分类页 https://qincaidunxueli.cn/categories/ 自动按层级展示:第一层和第二层默认展开,鼠标移到更深的一层会继续展开下一层;点任意一层进入该类别的文章列表
  • 分类页不再需要手动维护,也不再依赖 source/categories/index.md(已改成自动生成)

头部写 categories: 也不会报错,但只要文章在子文件夹里,文件夹优先。
顺带说一句:父分类的文章数包含子分类,所以「技术」的数字会比它自己直接包含的文章多。


一、发一篇文章(完整流程,命令行版)

第 1 步:打开终端,进入博客目录

在文件夹里右键 →「Git Bash Here」,或者直接:

1
cd /d/Workbuddy-store/2026-11-05-19-58-34/blog

第 2 步:新建文章

1
npx hexo new post "我的第一篇正式文章"

执行后 source/_posts/ 里会多出 我的第一篇正式文章.md 和一个同名文件夹(用来放这篇文章的图片)。

第 3 步:写内容

用任何编辑器打开那个 .md 文件。开头那段用 --- 包起来的东西叫 front-matter,控制文章的分类和摘要:

1
2
3
4
5
6
7
8
9
---
title: 我的第一篇正式文章
date: 2026-11-05 21:30:00
tags:
- 随笔
categories:
- 生活
description: 首页和搜索结果里显示的一句话摘要
---

正文从第二个 --- 下面开始写,用 Markdown 语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 这是二级标题

普通段落。**加粗**、*斜体*、`行内代码`。

- 列表项
- 列表项

> 引用的一段话

\`\`\`python
print("代码块会高亮,右上角有复制按钮")
\`\`\`

![图片说明](我的第一篇正式文章/图片.png)

第 4 步:本地看效果(可选但建议)

1
npx hexo server

浏览器打开 http://localhost:4000,边改边刷新。看完按 Ctrl + C 停掉。

第 5 步:发布

1
2
3
git add .
git commit -m "新增文章:我的第一篇正式文章"
git push

等 1~2 分钟,线上自动更新。手机上刷新就能看到。


二、写文章的几个细节

摘要折叠:在正文里插一行 <!-- more -->,它上面的内容作为首页摘要,下面要点「阅读全文」才展开。

分类 vs 标签:

  • 分类是目录,有层级,一篇文章通常只归一个主分类
  • 标签是关键词,可以随便加多个

图片:放进同名文件夹,用相对路径引用。这样图片跟文章一起发布,不会出现图床挂掉、老文章全裂的情况。

草稿:npx hexo new draft "草稿名",放在 source/_drafts/,hexo server --draft 能预览,正式发布时再 npx hexo publish "草稿名"。


三、换风格:头像、图标、主题

先记住这张表:哪句话在哪改

想改什么 显示在哪里 改哪个文件、哪个字段
站点名 浏览器标签页、侧栏顶部、页脚版权 _config.yml → title:
副标题 站点名下面那行小字 _config.yml → subtitle:
个性签名 左侧头像下面那句 _config.yml → description:
作者名 头像下方粗体字、文章署名 _config.yml → author:
关键词 搜索引擎用,页面不显示 _config.yml → keywords:
头像图片 侧栏头像 覆盖 source/images/avatar.png(400×400)
浏览器图标 标签页小图标、「添加到主屏幕」图标 覆盖 source/images/favicon.png 等三个文件
分享缩略图 微信/QQ 转发时的大图 覆盖 source/images/og-cover.png(1200×630)
「关于」页正文 点左侧菜单「关于」 source/about/index.md
社交图标 侧栏头像下方的图标 _config.next.yml → social:
导航菜单文字 左侧菜单 _config.next.yml → menu:
主题配色 整体配色 _config.next.yml → scheme:

文字类改完保存 → 双击桌面「发布文章」→ 1~2 分钟线上生效。图片类换完同样要发布一次。

注意:description 既是侧栏签名,也是搜索引擎结果里显示的站点简介,别写太长(30 字以内)。

换头像

把新图片命名成 avatar.png,覆盖 source/images/avatar.png 就行,尺寸建议 400×400 方形。

图片不是方形也没关系,但会被裁成圆形显示,构图尽量把主体放中间。

换浏览器图标(favicon)

同样覆盖 source/images/ 下的这三个文件:

文件 用途
favicon.png(64×64) 浏览器标签页图标
favicon-32.png(32×32) 同上,小尺寸场景
apple-touch-icon.png(180×180) 手机「添加到主屏幕」后的图标

有现成图片的话,可以让我帮你裁切生成这三种尺寸。

换配色方案(最省事的「换风格」)

打开 _config.next.yml 第 40 行附近,四个方案里只留一个不注释:

1
2
3
4
#scheme: Muse      # 单栏,最朴素
#scheme: Mist # 单栏,紧凑
#scheme: Pisces # 双栏,侧栏在左
scheme: Gemini # 双栏,侧栏在左,最现代(当前)

Muse 和 Mist 对手机不如 Gemini 友好,改之前想清楚。

常用开关(都在 _config.next.yml)

想改什么 找哪一段 怎么改
深色模式开关 darkmode true / false
代码块风格 codeblock.theme light: default 换成 atom-one-dark 等
侧边栏位置 sidebar.position left / right
侧边栏默认展开 sidebar.display post(只在文章页展开)/ always / hide
目录层级 toc.max_depth 数字,默认 6
导航栏菜单 menu 加一行 `名字: /路径/
社交链接 social 取消注释并换成自己的地址
版权图标 footer.icon 换 Font Awesome 图标名和颜色

换整个主题(大改)

NexT 用腻了可以换别的,比如:

1
npm i hexo-theme-butterfly

然后把 _config.yml 的 theme: next 改成 theme: butterfly,再按新主题的文档配置。
注意:换主题等于换一套配置文件,现在这些 _config.next.yml 的设置全部作废,需要重新配一遍。不是很有把握的话,先在分支上试。

微调 CSS(进阶)

新建 source/_data/styles.styl,然后在 _config.next.yml 里把 custom_file_path 下的 #style: source/_data/styles.styl 取消注释,就可以写自己的 CSS 覆盖样式,主题升级也不会丢。


四、手机上怎么看

就是普通网址,手机浏览器直接打开。侧栏会收成按钮,正文单栏显示。

想要更像 App:手机浏览器打开站点 →「分享」→「添加到主屏幕」,之后从桌面图标进,全屏无地址栏。


五、常见问题

现象 原因与处理
push 了但线上没变 等 1~2 分钟看构建;或去 Cloudflare 项目页 Deployments 看最新一条是不是 Failed
站点打不开,报证书错误 刚改过域名,证书在签发,等 10~15 分钟,用无痕窗口试
页面能开但正文一片空白 主题动效依赖国外 CDN,加载失败正文会不可见。本项目已关掉 motion,别打开
中文标题链接是一串 %E4%BD%A0... 正常。想短链接可装 hexo-abbrlink
想改地址前缀但怕出问题 改完地址全变,已收录的链接会失效,尽量在提交搜索引擎之前定下来

六、目录速查

1
2
3
4
5
6
7
8
9
10
11
12
blog/
├─ _config.yml # 站点配置:标题、域名、分页、SEO 插件
├─ _config.next.yml # 主题配置:配色、导航、侧栏、代码块、搜索
├─ wrangler.jsonc # Cloudflare 部署配置(声明静态资源在 public/)
├─ source/
│ ├─ _posts/ # 文章
│ ├─ about/ # 关于页
│ ├─ categories/ # 分类页
│ ├─ tags/ # 标签页
│ └─ images/ # 头像与站点图标
├─ public/ # 构建产物,不用管,也不提交
└─ .github/workflows/ # GitHub Actions(备用部署,可忽略)