Skip to main content

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 对私有文件即公开文件进行操作

    需要配合配置privateDirpublicDir

  • 类型: 0 | 1 | 2 | 3

  • 默认值: 0

  • 详情:

    是否将附件相对目录转换为公开链接的控制码.

    • 0 不进行操作
    • 1 对私有文件进行操作
    • 2 对公开文件进行操作
    • 3 对私有文件即公开文件进行操作

    需要配合配置url

doRelation

  • 类型: 0 | 1 | 2 | 3

  • 默认值: 0

  • 详情:

    是否将相对目录转换为相对于docs的相对目录的控制码

    • 0 不进行操作
    • 1 对私有文件进行操作
    • 2 对公开文件进行操作
    • 3 对私有文件即公开文件进行操作

    md中为![img](../dir1/dir2/image.png),以.或者..开头的相对路径会被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私有✔️