VitePress 试用

一直希望部署一个与 MyNote 匹配的静态 CMS,应该至少满足以下需求

  1. 能够自动生成目录结构
  2. 支持隐藏文章
  3. [Optional] 目录导航应该是易用的,最好能提供类似一般文件管理器的层次和缩进

偶然发现 VitePress,记录试用过程。

运行

首先说明一下,VitePress 按照官方教程启动 Demo 并不困难,但是仅仅是一面打印了文本的白屏。笔者图省事,把目光放向了 VitePress 教程本身,其同样采用了 VitePress 主题并已经过完整配置,遂克隆其仓库。以下记录启动过程。

使用 nvm[1] 进行 Node.js 版本管理。先安装了最新的 Node.js 和 pnpm,启动 VitePress 数个报错。首先在 tsconfig 禁用严格检查 "strict": false,后参考仓库 CI 文件,降低版本[2]如下。

  • Node.js v16.20.2
  • pnpm v7.0.0

根据 Node.js 和 pnpm 版本对应关系,指定版本 @7.0.0 安装。部署命令和本地 build 命令稍有不同。

1
2
3
4
# 部署
pnpm docs-build
# 本地
pnpm build & pnpm docs-serve

评价

主题配置主要位于 .vitepress/config.ts 文件。从中可以看到,目录也是需要自己手动配置,并且也没看到有对多层目录的支持。这些都是可以手动修改的,VitePress 主打高度可定制。但与笔者开箱即用的需求还是不匹配,考虑之后,不打算继续采用该框架。

未来考虑使用基于 Python 的 Pelican[3] [4] [5]


  1. Windows 安装 nvm ↩︎

  2. 【报错记录】pnpm install报WARN GET xxx error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left._vben5 pnpm install报错-CSDN博客 ↩︎

  3. Python 静态网站生成器:这才叫快速搭建自己的网站!-CSDN博客 ↩︎

  4. 使用pelican+git+码云pages建立静态markdown博客全过程_pelican markdown-CSDN博客 ↩︎

  5. 发布站点 - PELICAN 4.11.0 ↩︎