命令行
在任何装有 Node.js 20+ 的机器上,一条命令就能构建网站,无需安装:
npx @abstractwebunit/markdown-publish build --vault 笔记路径 --out dist
dist 里会出现一个现成的静态网站——用任意静态服务器打开它,或者扔到任何托管平台上。
Flag 一览
| Flag | 作用 |
|---|---|
--vault <文件夹> |
vault 的路径(覆盖一切) |
--vault-dir <文件夹> |
同上,但相对于当前目录/配置文件 |
--out <文件夹> |
网站构建到哪里(默认 dist) |
--config <文件> |
配置文件路径(默认 markdown-publish.config.json) |
--site-name、--site-url、--site-lang、--site-description、--site-footer |
见 配置 |
--build-mode full|public |
发布全部,还是只发布 publish: public 的笔记 |
--base-href </路径/> |
网站子路径(GitHub Pages 用 /仓库名/) |
Flag 会覆盖配置文件,所以可以把通用设置放在 markdown-publish.config.json 里,差异部分用 flag 传入。
示例:构建并在本地预览
npx @abstractwebunit/markdown-publish build --vault ./我的笔记 --out site
npx serve site
Windows + Git Bash
Git Bash 可能会“吃掉” --base-href /sub/ 的值,把它变成 Windows 路径。解决办法是在命令前加 MSYS_NO_PATHCONV=1 前缀。普通的 PowerShell/cmd 以及 CI 上没有这个问题。