VuePress Theme Plume 简介
vuepress-theme-plume 是一个基于 VuePress 2 的主题,主要面向个人博客、技术文档、知识库、教程系列等内容型站点。它不是一个独立的静态站点生成器,而是运行在 VuePress 之上的主题和功能集合:VuePress 负责把 Markdown 转成静态页面,Plume 负责提供博客、文档、导航、归档、标签、搜索、代码增强、评论、SEO 等更完整的站点体验。
官方文档:https://theme-plume.vuejs.press/
它解决什么问题
VuePress 默认更偏文档站。如果只是写少量文档,它已经够用;但如果要同时做博客、分类、标签、归档、个人信息、增强 Markdown、搜索和部署优化,就需要额外安装和配置不少插件。
Plume 的价值在于把这些常见需求整合到一个主题里:
- 写文章时仍然主要面对 Markdown。
- 站点结构可以同时支持博客和文档。
- 分类、标签、归档、文章列表可以自动生成。
- 内置较多 Markdown 增强能力,例如提示容器、代码组、文件树、图表、媒体嵌入等。
- 配置集中在
.vuepress/config.ts和.vuepress/plume.config.ts,比手动拼插件更省心。
核心概念:Collection
新版 Plume 里比较重要的概念是 collections,也就是“集合”。一个集合对应 docs 源目录下的一个文件夹,Plume 会按集合类型处理里面的 Markdown 文件。
常见集合类型有两种:
post:适合博客、随笔、专栏文章,文章之间不一定强关联。doc:适合结构化文档、教程、知识库,通常需要侧边栏和层级导航。
例如当前博客使用的是一个 post 集合:
collections: [
{
type: 'post',
dir: 'blog',
title: '博客',
link: '/blog/',
},
]这表示 docs/blog 下面的 Markdown 会被当作博客文章处理,并生成文章列表、标签、分类和归档页面。
典型项目结构
一个 Plume 项目通常长这样:
.
├─ docs/
│ ├─ .vuepress/
│ │ ├─ config.ts
│ │ └─ plume.config.ts
│ ├─ blog/
│ │ └─ article.md
│ └─ README.md
├─ package.json
└─ package-lock.json其中:
docs/README.md是首页。docs/blog/放博客文章。docs/.vuepress/config.ts放 VuePress 站点级配置。docs/.vuepress/plume.config.ts放 Plume 主题配置,例如导航、集合、个人信息等。
文章 Frontmatter
Plume 通过 Markdown 顶部的 frontmatter 读取文章信息。比较常用的字段有:
---
title: 文章标题
createTime: 2026/04/19 00:00:00
tags:
- VuePress
- Plume
categories:
- Article
permalink: /2026/04/19/example/
---这里需要注意:
title用作文章标题。createTime会影响文章时间、归档和排序。tags用于标签页。categories用于分类页。permalink可以固定文章 URL,迁移旧博客时很有用。
常用命令
当前项目已经把命令收敛成 VuePress/Plume 相关命令:
npm run dev
npm run build
npm run clean-dev
npm run clean-build含义分别是:
npm run dev:启动本地开发服务。npm run build:生成静态站点。npm run clean-dev:清理缓存后启动开发服务。npm run clean-build:清理缓存后重新构建。
在 Windows PowerShell 如果遇到 npm.ps1 执行策略问题,可以改用:
npm.cmd run dev
npm.cmd run build和 Hexo 的区别
从写作体验看,Hexo 和 Plume 都是 Markdown 驱动的静态博客方案。但它们的生态侧重点不同。
Hexo 更像传统博客生成器,主题和插件生态很多,配置方式也比较独立。Plume 则建立在 VuePress 2 上,更自然地继承了 Vue、Vite、VuePress 插件体系和 Vue 组件能力。
迁移到 Plume 后,比较明显的变化是:
- 配置文件从 Hexo 的
_config.yml转为 VuePress 的 TypeScript 配置。 - 主题能力从 Hexo 主题转为 VuePress 主题和插件能力。
- Markdown 会被 VuePress 当作 Vue 组件处理,所以裸 HTML、Vue/WXML 示例代码需要更严格地放进代码块或转义。
- 文章固定链接需要通过
permalink或 VuePress 的 permalink 规则维护。
适合什么场景
Plume 适合这些站点:
- 个人技术博客。
- 兼具博客和笔记的个人知识库。
- 项目文档站。
- 教程、专栏、学习笔记。
- 希望用 VuePress/Vue 生态扩展站点能力的内容站。
如果只是要一个非常简单的静态页面,Plume 可能显得偏重;如果站点以内容维护为主,又希望博客和文档能力开箱即用,它会比较合适。
小结
Plume 可以理解为“带博客能力的 VuePress 主题套件”。它把 VuePress 的 Markdown 静态站能力、Vue 生态和博客常用功能整合在一起,适合长期维护的技术博客和知识库。
对这个站点来说,迁移到 Plume 之后,文章目录集中在 docs/blog,配置集中在 .vuepress,构建命令也从 Hexo 切换为 VuePress。后续只需要继续写 Markdown,再按需调整 plume.config.ts 里的导航、集合和主题能力即可。