文件都放在哪
文章、图片、封面分别放在仓库的什么位置,哪些目录可以放手改、哪些碰了会出问题。
本文是 《博客使用指南》 系列的第 1 篇,共 3 篇
写文章之前,先弄清文件该放在哪。这个仓库看着目录不少,但真正需要你手动改的只有
content/ 和 public/ 两个,其余都是代码,平时不用碰。
整体结构
HuanYuBlog/
├── content/ ← 你写的东西都在这里
│ ├── posts/ ← 文章,按系列分了子目录
│ │ ├── java/ ← 《Java 学习笔记》
│ │ ├── mysql/ ← 《SQL 学习笔记》
│ │ ├── git/ ← 《Git 入门》
│ │ └── guide/ ← 《博客使用指南》
│ ├── about.md ← 「关于」页
│ └── contact.md ← 「联系」页
├── public/ ← 原样发布的静态文件
│ ├── images/ ← 文章插图、头像
│ └── covers/ ← 默认封面
├── app/ ← 页面和组件的代码
├── server/ ← 服务端接口
├── nuxt.config.ts ← 站点配置
└── content.config.ts ← 内容字段的定义
content/posts/ —— 文章放这里
在 content/posts/ 下新建一个 .md 文件,就是一篇文章。
文章写多了以后全堆在一个目录里不好找,所以里面按系列分了子目录,一个系列一个:
| 子目录 | 放什么 |
|---|---|
java/ | 《Java 学习笔记》 |
mysql/ | 《SQL 学习笔记》 |
git/ | 《Git 入门》 |
guide/ | 《博客使用指南》(就是这一篇) |
目录名和文件名都会成为网址的一部分:
content/posts/git/git-install-and-basics.md
↓
https://blog.huanyu666.top/posts/git/git-install-and-basics
所以文件名建议用英文小写加连字符,子目录名用简短的英文,别用中文或空格——它们会原样
出现在链接里。标题写在文件内部的 title 字段,和文件名无关。
开新系列就新建一个子目录;子目录也能套多层,网址跟着一层层变长。直接把文件放在
content/posts/ 根目录下也能用,只是网址会少掉子目录那一段(/posts/文件名)——文章
一多就不推荐了。
文章不需要注册或登记,新建文件后重新构建就会自动出现在文章列表、首页和 sitemap 里。
content/ 根目录下的两个页面
about.md 和 contact.md 不是文章,是独立页面,对应 /about 和 /contact。它们的
字段和文章不太一样(用 name、role、skills 这些),具体可以打开文件看——照着现有
的格式改即可。
public/images/ —— 图片放这里
需要被文章引用的图片,放在 public/images/ 下,然后在 Markdown 里用以 / 开头的
绝对路径引用:

public/ 下的文件会被原样复制到网站根目录,所以 /images/xxx.png 对应的是
public/images/xxx.png。
图片的两种放法
放在仓库里(推荐):图片文件跟着文章一起提交,自己完全掌控。缺点是仓库会变大。
直接引用外部地址:

省事,但对方一旦改链接或者挂掉,你的图就没了。而且图是别人服务器上的,如果是有 版权的素材,这样引用并不等于你有使用权。
建议的命名方式
图片名也建议用英文小写加连字符,最好和文章对应上,比如写《Git 安装与基本使用》时用
git-install-1.png、git-install-2.png。文章多了以后,一看文件名就知道是哪篇在用。
public/covers/ —— 默认封面
这里放的是没有指定封面的文章自动使用的封面。现在有四张,系统会按文章路径算一个 哈希值来分配,所以同一篇文章每次都是同一张,不会乱跳。
想换默认封面:把新的 SVG 放进这个目录,同时要改一下代码里的封面清单。这部分属于 「改代码」,不是日常写作会碰的。
有自己的封面图时,在文章里写 cover 字段就行,见下一篇文章。
不建议手动改的目录
| 目录 | 为什么 |
|---|---|
app/ | 页面和组件的代码,改错会让整站报错 |
server/ | 服务端接口 |
.nuxt/、.output/、dist/ | 构建产物,每次构建都会重新生成 |
.data/ | 本地预览时生成的缓存数据库 |
.nuxt/、.output/、.data/ 这些已经在 .gitignore 里,不会被提交。
小结
日常写作只需要记两条:
- 文章 →
content/posts/<系列>/下新建.md - 图片 → 丢进
public/images/,用/images/文件名引用
下一篇讲文章开头那段 --- 包起来的字段(frontmatter)每个都是干什么的。