AssetRelocate插件配置
流程
- 以markdown-it的插件形式来实现.
- 取名为
markdown-it-asset-relocate
,主要参考VuePress自带的asset插件
插件配置
所有配置均可以被文档的frontmatter
覆盖.
source
类型:
string
默认值:
${app.options.source}
详情:
文档根目录
doCopy
类型:
0 | 1 | 2 | 3
默认值:
0
详情:
是否进行私有附件向公有附件的复制的控制码.
0
不进行操作1
对私有文件进行操作2
对公开文件进行操作3
对私有文件即公开文件进行操作
需要配合配置privateDir及publicDir
doLink
类型:
0 | 1 | 2 | 3
默认值:
0
详情:
是否将附件相对目录转换为公开链接的控制码.
0
不进行操作1
对私有文件进行操作2
对公开文件进行操作3
对私有文件即公开文件进行操作
需要配合配置url
doRelation
类型:
0 | 1 | 2 | 3
默认值:
0
详情:
是否将相对目录转换为相对于docs的相对目录的控制码
0
不进行操作1
对私有文件进行操作2
对公开文件进行操作3
对私有文件即公开文件进行操作
md中为

,以.
或者..
开头的相对路径会被vuepress的asset插件处理为@source/dir1/dir2/image.png
,并且处理图片时会复制一份到
assets/img/image.$hash.png
这里直接修改为
${env.base}/dir1/dir2/image.png
,以避免此逻辑
privateDir
类型:
string
详情:
素材库.是复制附件的源目录.
也是判断附件链接的基准,在拼接链接时会移除此目录字符串.
存放附件的本地目录,是以
docs
目录为基址的相对目录,可以是链接目录.
publicDir
类型:
string
详情:
图床项目目录.是复制附件的目标目录.
存放可以公开的附件的目录,是以
docs
目录为基址的相对目录,可以是链接目录.
url
- 类型:
string
- 详情:
图床的地址,格式为
http[s]//${ip}/
,转换后的相对地址会拼接到后面. - 示例:
url
配置为https://asset.xkyii.cn
- md文档中的图片地址为
../../asset/2021/11/20211111-092530.png
- 转换后的地址为
https://asset.xkyii.cn/2021/11/2021/11/20211111-092530.png
构建说明
方案说明
dev
: 开发阶段build
: Github Action构建,构建完成发布到公开项目build:asset
: 本地构建,主要为了复制公开附件build:private
: 本地构建,用于上传到服务器私人访问
参数情况
方案 | 文档类型 | 复制附件 | 公开链接 | 相对目录 | 备注 |
---|---|---|---|---|---|
dev | 公开 | ❌ | ❌ | ❌ | 保持为普通md文档 |
dev | 私有 | ❌ | ❌ | ❌ | |
build | 公开 | ❌ | ✔️ | ❌ | |
build | 私有 | ❌ | ❌ | ❌ | Layout控制不渲染 |
build:asset | 公开 | ✔️ | ❌ | ❌ | |
build:asset | 私有 | ❌ | ❌ | ❌ | 不处理私有文档 |
build:private | 公开 | ❌ | ❌ | ✔️ | 素材库包含公开附件 |
build:private | 私有 | ❌ | ❌ | ✔️ |