Cloud-Link's blog Cloud-Link's blog
首页
  • 开发资源
  • 人员动态
  • 新人训练
  • 奖惩通报
  • 通讯录
项目资产
  • 快速指南
  • 后端框架
  • 前端框架
  • 业务模块
  • 基础理论
    • 前端
    • 后端
    • 数据库
    • 工具类
  • 常用
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
关于
首页
  • 开发资源
  • 人员动态
  • 新人训练
  • 奖惩通报
  • 通讯录
项目资产
  • 快速指南
  • 后端框架
  • 前端框架
  • 业务模块
  • 基础理论
    • 前端
    • 后端
    • 数据库
    • 工具类
  • 常用
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
关于
  • 前端

  • 后端

  • 数据库

  • 工具类

    • Vepress

      • 介绍
      • 快速上手
      • 目录结构
      • 核心配置和约定
      • 文档编写和一级标题
      • 自动生成front matter
      • 批量操作front matter工具
      • Markdown 容器
      • Markdown使用教程
      • Markdown 中使用组件
      • 提高文档表现力
    • Git

    • npm

  • Vue

  • TypeScript

  • React

  • 知识库
  • 工具类
  • Vepress
2021-06-18

批量操作front matter工具

当你想为某个文件夹下的所有.md文件添加、修改、删除某些front matter字段时,这个工具可以快速的为你批量操作。

首先,你需要在package.json的scripts中写入脚本:

// package.json
{
  "scripts": {
       "editFm": "node utils/editFrontmatter.js",
   }
}
1
2
3
4
5
6

在utils/config.yml配置要批量操作的文件夹和要编辑的字段,示例:

# utils/config.yml
#批量添加和修改、删除front matter配置文件

# 需要批量处理的路径,docs文件夹内的文件夹 (数组。映射路径:docs/arr[1]/arr[2] ... )
path:
  - docs # 第一个成员必须是docs
  - 《JS教程》专辑
  - 第一章节

# 要删除的字段 (数组)
delete:  
  - article

 # 要添加、修改front matter的数据 (front matter中没有的数据则添加,已有的数据则覆盖)
data:
  author: 齐天大圣
  sidebar: false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

比如你要操作的文件夹路径是docs/《JS教程》专辑/第一章节,你需要这样配置路径:

path:
  - docs # 第一个成员必须是docs
  - 《JS教程》专辑
  - 第一章节
1
2
3
4

path数组的第一个成员必须是docs,如果你想操作docs底下除了首页之外所有的.md文件,只需保留第一个成员docs即可。

你想删除article字段:

delete:  
  - article
1
2

你想为这个文件夹下的所有.md文件添加作者author和隐藏侧边栏sidebar:

data:
  author: 齐天大圣
  sidebar: false
1
2
3

最后,执行npm run editFm命令,为了防止误操作,会有一个询问过程:

npm run editFm
? 批量操作frontmatter有修改数据的风险,确定要继续吗? (Y/n) 
...
1
2
3
自动生成front matter
Markdown 容器

← 自动生成front matter Markdown 容器→

Copyright © 2021-2022 用技术改变世界 | Tungray Cloud-Link
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×