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

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Vercel News
Vercel News
L
LangChain Blog
B
Blog RSS Feed
Y
Y Combinator Blog
IT之家
IT之家
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
D
Docker
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
月光博客
月光博客

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/",表示封面图片路径以该目录开头。
  • [^,]: 匹配除逗号以外的任意字符, 表示匹配零次或多次