--
:
--
:
--
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信息)
- 配置
打开 VS Code 的全局搜索(
Ctrl+Shift+F)在搜索框输入:
1^coverImg:.*$\n点击正则表达式按钮(
.*图标)和匹配行首按钮(^图标)替换框留空
点击「全部替换」
自己测试过程:



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

- 此时,再利用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 },

- 运行测试(完美)

结束。
📡
👤
作者:
余温Gueen
🌐
版权:
本站文章除特别声明外,均采用
CC BY-NC-SA 4.0
协议,转载请注明来自
余温Gueen Blog!
推荐使用微信支付

推荐使用支付宝
