hugo-teek is loading...

批量替换文章封面

最后更新于:

批量替换文章封面

方案1:利用vscode的正则表达式

2025年8月18日测试。

  • 版权

环境:在Teek@1.4.2-2025.8.17版本测试成功。(通用方法)

  • 需求
 1docs目录下都是一些由markdown文件组成的,可能是目录或者是markdown文件。
 2
 3我现在想把这个目录下的所有markdown文件的formatter里包含 "coverImg:" 这一行的内容给删除掉,请给出一个完整的方法(python脚本都行。)
 4
 5一个markdown文件具体formatter示例如下:
 6---
 7title: Teek简介
 8date: 2025-03-09 07:55:02
 9permalink: /teek
10categories:
11  - 博客搭建
12tags:
13  - Teek
14sticky: 1
15top: true
16description: "全网最美博客-Teek(知识库&博客二合一)\U0001F61C"
17titleTag: 推荐
18---
19
20我的项目是在vscode里存放,或者利用vscode的批量替换也行,请给出具体操作方法。

继续分析:

1Teek能实现 “批量操作front matter工具”吗?
2
3需求背景:
4现在我从网上剽了10张好看的妹纸图片,想让这些好看的妹纸做我的博客所有文章的封面,但是昨天已经用frontmatter 自动生成了壁纸,此时该怎么办呢?(感觉简便的方法  就是 只能利用autofrontmatter先删除coverImg信息,再重新生成coverImg信息)
  • 配置
  1. 打开 VS Code 的全局搜索(Ctrl+Shift+F

  2. 在搜索框输入:

    1^coverImg:.*$\n
    
  3. 点击正则表达式按钮(.* 图标)和匹配行首按钮(^ 图标)

  4. 替换框留空

  5. 点击「全部替换」

自己测试过程:

image-20250817110541828

image-20250817110608172

image-20250817110629070

可以看到,已经被替换了,nice。

image-20250817110655779

  • 此时,再利用teek的auto formatter自动注入封面,就很nice

docs\.vitepress\config.ts配置:

 1  vitePlugins: {
 2    sidebarOption: {
 3      // initItems: false, //这条命令注释后,才会让文档和目录的样式保持一致
 4      collapsed: true, //打开侧边栏自动收缩功能
 5      ignoreList: [/^_.*$/],
 6    },
 7
 8    autoFrontmatter: true, // 自动生成 frontmatter
 9    // permalinkOption: {
10    //   notFoundDelayLoad: 1000, // 1秒后加载
11    // },
12
13    // 自动格式formatter插件 添加文章封面图
14    autoFrontmatterOption: {
15      // exclude: { title: true, date: true }, // 排除自动生成字段
16      transform: frontmatter => {
17       // 如果文件本身存在了 coverImg,则不生成
18       if (frontmatter.coverImg) return;
19        
20       const list = CoverImgList;
21        
22       const coverImg = list[Math.floor(Math.random() * list.length)];
23        
24       const transformResult = { ...frontmatter, coverImg };
25        
26       return Object.keys(transformResult).length ? transformResult : undefined;
27      },
28    }, 
29  },

image-20250818055414499

  • 运行测试(完美)

image-20250818055438071

结束。

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航