惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - Franky
V
V2EX
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Jina AI
Jina AI
博客园 - 叶小钗
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
D
Docker
博客园 - 【当耐特】
阮一峰的网络日志
阮一峰的网络日志

Hyde Blog

Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog
Hyde Blog
Hyde · 2025-10-05 · via Hyde Blog

批量生成封面 ​

提示

这是一个适用于 vitepress 的 Vite 插件,vitepress 启动时,插件会指定的 Markdown 自动生成 frontmatter。

github 地址:点击跳转

特色 ✨ ​

  • 🚀 自动生成 frontmatter
  • 🚀 支持新习俗 frontmatter

安装 ​

pnpm 推荐npmyarn

sh

pnpm i vitepress-plugin-auto-frontmatter

sh

npm install vitepress-plugin-auto-frontmatter

sh

yarn add vitepress-plugin-auto-frontmatter

配置 ​

vitepress/config.ts 中配置插件

提示

壁纸获取列表请参考Wallpaper。 图片路径可以是本地(例如/img/bg/1.png),也可以是在线 url(将封面壁纸上传到自己图床后,把多个壁纸 url 写到一个列表里)。然后随机自动注入到 Markdown 文章或者新创建的 Markdown 文章

ts

import { Wallpaper } from "./ConfigHyde/Wallaper"; // 导入Wallaper模块
const CoverImgList = Wallpaper; // 获取壁纸列表

const teekConfig = defineTeekConfig({
  vitePlugins: {
    autoFrontmatterOption: {
      exclude: { title: true, date: true }, // 排除自动生成字段
      transform: (frontmatter) => {
        // 如果文件本身存在了 coverImg,则不生成
        if (frontmatter.coverImg) return; // 随机获取 coverImg

        const list = CoverImgList;

        const coverImg = list[Math.floor(Math.random() * list.length)];

        const transformResult = { ...frontmatter, coverImg };

        return Object.keys(transformResult).length
          ? transformResult
          : undefined;
      },
    },
  },
});

插件默认忽略 frontmatter 中 layout: home 和["node_modules", "dist"]目录下的文件,且只扫描 Markdown 文档。

插件默认给 Markdown 文件生成 title 和 date 两个属性,其中 title 为文件名(支持带序号的文件名,如 01.xx.md),date 为文件的创建日期。

md

---
title: 文件名
date: yyyy-MM-dd hh:mm:ss
---

拓展 ​

如果壁纸 url 地址更换了,那么 Markdown 文章之前自动注入的封面图片 url 地址还是之前的,这时候需要批量先删除 coverImg 信息,再重新生成 coverImg 信息,这里可以利用 Vscode 的搜索正则表达式来批量替换为空

sh

coverImg:\s*/home/[^,]*

正则表达式含义说明:

  • coverImg: 直接匹配字符串 "coverImg:",用于定位 Frontmatter 中的封面图片字段。
  • \s: 匹配零个或多个空白字符(包括空格、制表符、换行符等),用于处理冒号后的可能缩进或换行。
  • /home/: 直接匹配字符串 "/home/",表示封面图片路径以该目录开头。
  • [^,]: 匹配除逗号以外的任意字符, 表示匹配零次或多次