本地搜索(@vuepress/plugin-slimsearch替换vuepress-plugin-search-pro)

vuepress-plugin-flexsearch:Vuepress的下一代全文本搜索库 vuepress-plugin-flexsearch Vuepress的下一代全文本搜索库 很好的替代了默认的Vuepress搜索插件。 安装 yarn add -D vuepress-plugin-flexsearch // or npm install vuepress-plugin-flexsearch -D 用法 使用默认设置: // .vuepress/config.js module . exports = { plugins : [ [ 'flexsearch' ] , // other plugins ] } 或修改设置以满足您的需求: // .vuepress/config.js module . exports = { plugins : [ [ 'flexsearch' , { /* 立即下载

在这里插入图片描述

要实现全局搜索标签(Tag),你需要使用 slimsearch 插件的 customFields 配置项。这个功能允许你将页面中的自定义数据(比如标签、分类、作者等)添加到搜索索引中。

{
	"@vuepress/plugin-slimsearch": "2.0.0-rc.121"
}

🏷️ 全局搜索Tag的配置方案

基础配置:搜索文章标签

假设你在文章的 Frontmatter 中是这样定义标签的:

---
title: 我的文章
tags: 
  - Vue.js
  - 前端开发
  - JavaScript
---

在 .vuepress/config.ts 中添加如下配置:

import { slimsearchPlugin } from '@vuepress/plugin-slimsearch'

export default {
  plugins: [
    slimsearchPlugin({
      // 确保启用了内容索引(如果需要同时搜索正文)
      indexContent: true,
      
      // 自定义字段:添加标签搜索
      customFields: [
        {
          name: 'tags',
          getter: (page) => page.frontmatter.tags,
          formatter: '标签: $content',
        },
      ],
    }),
  ],
}

处理不同格式的Tag

标签可能有不同的格式,你可以通过 getter 函数灵活处理:

customFields: [
  {
    name: 'tags',
    getter: (page) => {
      const tags = page.frontmatter.tags
      // 处理字符串格式: "Vue,React"
      if (typeof tags === 'string') {
        return tags.split(',').map(tag => tag.trim())
      }
      // 处理数组格式: ["Vue", "React"]
      if (Array.isArray(tags)) {
        return tags
      }
      // 处理单个标签: "Vue"
      if (typeof tags === 'string') {
        return [tags]
      }
      return null
    },
    formatter: '标签: $content',
  },
]

多语言支持

如果你的站点有多语言,可以为不同语言设置不同的显示格式:

customFields: [
  {
    name: 'tags',
    getter: (page) => page.frontmatter.tags,
    formatter: {
      '/': 'Tags: $content',
      '/zh/': '标签: $content',
      '/jp/': 'タグ: $content',
    },
  },
]

同时搜索多个字段

如果你想同时搜索标签、分类和作者:

customFields: [
  {
    name: 'tags',
    getter: (page) => page.frontmatter.tags,
    formatter: '🏷️ $content',
  },
  {
    name: 'category',
    getter: (page) => page.frontmatter.category,
    formatter: '📁 $content',
  },
  {
    name: 'author',
    getter: (page) => page.frontmatter.author,
    formatter: '👤 $content',
  },
]

🔧 注意事项

1. 确保索引生效

  • 添加 customFields 后,需要删除 .vuepress/.temp 和 .vuepress/dist 并重新构建
  • 如果搜索不到,检查 Frontmatter 中是否有 search: false 禁用索引

2. 调试技巧

在浏览器控制台查看索引是否包含标签数据:

// 查看搜索插件的内部状态
window.__VUEPRESS__?.__plugins?.slimsearch?.index

3. 版本兼容性

  • 确保 @vuepress/plugin-slimsearch 的版本与你的 VuePress 核心版本兼容
  • 如果使用 vuepress-theme-hope,建议通过主题的 plugins.slimsearch 配置,避免重复引入

4. 搜索效果

配置完成后,当你搜索"Vue.js"时,搜索结果中会出现:

  • 标题包含"Vue.js"的文章
  • 正文包含"Vue.js"的文章(如果开启 indexContent)
  • 标签包含"Vue.js"的文章(会显示为"标签: Vue.js")

在这里插入图片描述

win10任务栏文件夹设置成竖形列表样式 阅读详情

相关推荐

别再为数码管引脚发愁了!用STM32的普通IO口驱动TM1650数码管模块(附完整模拟I2C代码)

本文详细介绍了如何利用STM32的普通IO口通过模拟I2C协议驱动TM1650数码管模块,提供了完整的硬件连接方案和软件实现代码。通过模拟I2C技术,开发者可以灵活使用任意GPIO引脚控制多位数码管显示,解决了传统驱动方式占用大量IO资源的问题。文章包含TM1650寄存器解析、亮度控制等实用功能实现,并分享了常见问题排查与性能优化技巧。

weixin_30764771的博客 658

Vuepress 2从0-1保姆级进阶教程——全文搜索篇(含Algolia、meilisearch)

介绍vuepress2 本地搜索、重点介绍algolia搜索各种使用办法,介绍meilisearch搜索两种使用方式

passwordgloo的博客 4144

你不必懂AI,但必须会用AI:写给所有焦虑中的职场人

AI时代不必焦虑学技术,关键在于用AI解决实际问题。文章指出,99%的人只需成为AI使用者而非建造者,核心竞争力在于结合业务痛点运用AI工具提升效率。与其盲目学习工具,不如梳理工作流程,识别可优化环节,让AI赋能重复性、标准化任务。行业经验与AI工具的结合才是真正的职场护城河。建议从具体工作场景出发,寻找匹配的AI解决方案,迈出应用第一步。

hundred98的博客 716

[已解决] 使用vuepress-plugin-search-pro时编译出错Error: SlimSearch: duplicate ID

值一样,从而导致此错误,修改其中一个后恢复正常。在本例中,是由于失误导致两个文件的。在处理 vuepress 的。

860

D触发器(D Flip-Flop)与D锁存器(D Latch)

在解释这个练习题之前,我们先来简单回顾一下D触发器(D flip-flop)和D锁存器(D latch)的概念,以及它们在数字电路中的作用。这将帮助我们理解所提到的练习。

weixin_65190179的博客 9166

端侧部署与优化:让 AI 真正走进现实生活的关键技术

AI 的开发流程分为 “训练” 与 “推理” 两大阶段。在训练阶段,科研人员依托云端海量数据和高性能 GPU 算力,构建出精度优异的 AI 模型 —— 比如能识别 1000 种物体的图像分类模型、能理解人类语言的自然语言处理模型。但这些在云端 “战绩斐然” 的模型,若直接应用到现实场景中,却会面临三大 “落地困境”。从云端到端侧,从模型压缩到硬件适配,端侧部署与优化技术解决了 AI 落地的核心难题,让 AI 不再是实验室里的 “高精尖技术”,而是融入日常生活的 “实用工具”。

m0_63477749的博客 1052

vuepress-----20、全文搜索

默认主题自带的搜索, 只会为页面的构建搜索索引。所以尽量将围绕知识点的关键字体现到标题上。而 tags 更为灵活,可以把相关的能想到的关键字都配置到 tags 中,以方便搜索。

weixin_44235759的博客 1942

VMware16虚拟机:下载和安装教程

VMware16 虚拟机 下载和安装教程

MQ0522的博客 20万+

vuepress入门详解(四)vuepress 基本配置

vuepress 基本配置 ::: tip 本页所列的选项仅对默认主题生效。如果你在使用一个自定义主题,选项可能会有不同。 ::: 首页配置 首页配置文件是doc目录下的README.md文件,以下是一个如何使用的例子: --- home: true heroImage: /hero.png heroText: Hero 标题 tagline: Hero 副标题 actionText: 快速上手 → actionLink: /guide/ features: - title: 简洁至上 details

牛魔王的专栏 9574

第 2 章:PassThrough 直通滤波

通过设置某个维度(如 x、y、z 或 rgb)的取值范围,仅保留该范围内的点,从而达到**点云裁剪(裁边)**或过滤异常值的目的。所有在该范围之外的点会被移除(可选是否保留);点云中包含背景、地面或传感器噪声,需要过滤;通过 z 轴过滤,只保留桌面上方的物体;多轴组合过滤(如同时过滤 x、y、z);可用于地面剔除、车载点云预处理等场景。不支持一次过滤多个字段,可多次调用;仅处理某一层或某一区域的点云数据。原始点云中包含地面、墙面、背景等;在区域裁剪、前景提取中广泛使用;设定一个轴(如z轴);

yumeiguo的博客 337

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

VuePress 搜索插件迁移实战:从 search-pro 到 slimsearch

本地搜索是静态文档站的核心能力,它让网站无需后端服务即可提供即时、离线的全文检索体验。其原理是在构建阶段将页面内容序列化为 JSON 索引,浏览器加载后再在内存中完成匹配与排序,兼顾隐私和响应速度。在 VuePress 技术栈下,官方插件 slimsearch 与生态内的 search-pro 是两种常见实现,前者轻量、配置扁平,后者功能全面但与主题生态耦合较深。针对中英文混合、页面规模较大的静态站点,如何权衡功能与产物体积、平滑完成组件替换,是工程落地的关键。从本地搜索的概念与原理切入,对比两套方案在索引

weixin_33835461的博客 254

文末含资料链接和视频讲解!YOLOv8集成CoordAtt注意力机制详细教程

本文详细介绍了如何在YOLOv8目标检测框架中集成CoordAtt注意力机制。首先解析了CoordAtt的工作原理,它通过分解式池化将位置信息嵌入到通道注意力中,相比传统注意力机制具有更好的空间信息保持能力。然后提供了PyTorch实现代码解析,包括自适应平均池化、Hard-Swish激活函数等关键实现细节。最后概述了YOLOv8架构,为后续集成CoordAtt提供基础。该教程适合具备深度学习基础的开发者,将理论与实践结合,帮助读者掌握这一目标检测优化技术。

FJN110的博客 266

VuePress 博客优化之开启 Algolia 全文搜索

前言 在 《一篇带你用 VuePress + Github Pages 搭建博客》中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档。 由于 VuePress 的内置搜索只会为页面的标题、h2 、 h3 以及 tags 构建搜索索引。 如果你需要全文搜索,可则以使用 Algolia 搜索,本篇讲讲如何申请以及配置 Algolia 搜索。 Algolia Algolia 是一个数据库实时搜索服务,能够提供毫秒级的数据库搜索服务,并且其服务能以 API 的形式方便地

冴羽的博客 1942

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Vuepress search插件限定搜索范围

需求 我们的sdk有多个语言版本,比如,python版,lua版,ts版。然后不同版本显示不同编程语言的sdk文档。如果你选了python语言,那么搜索结果只包含python语言的。 解决方法 在config.js文件里配置locales字段,如下 module.exports = { lang: 'zh-CN', locales: { '/lua/': { }, '/python/': { }, '/types

weixin_42276579的博客 656

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

vuepress 集成第三方搜索引擎

个人博客地址,更多精彩内容 vuepress 集成第三方搜索引擎 yarn add vuepress-plugin-thirdparty-search -D 修改 config.js, 添加插件配置 // 配置插件vuepress-plugin-thirdparty-search, 默认主题的搜索框集成第三方搜索引擎 [ "thirdparty-search", { thirdparty: [ // 可选,默认 [] { title: "在谷歌中.

君陌离的博客 1889

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【项目推荐】基于 SpringBoot3 + Spring AI 的游泳馆管理系统:Agent + RAG + Function Calling 一次学全

它不是玩具 Demo,而是一个「业务 + AI」双主线交织的真实系统——预约业务在跑,AI 客服在旁边实时查库作答,两条线通过 Function Calling、RAG、站内消息串成一体。面试官问「你做过什么 AI 项目」时,你能从业务场景讲到架构取舍,从 RAG 切分参数讲到降级兜底——这和「我调了一下 ChatGPT 的 API」是完全不同的两个段位。项目已包含完整的建表 SQL、初始化数据、部署文档,克隆下来就能跑。获取方式:见文末说明 / 后台回复关键词获取。—— 完 ——

深耕开发,专注编程实战。分享源码解析、项目搭建、问题排查笔记,沉淀技术,持续更新。 347

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 140

2026小红书小工具怎么制作:纯前端 ZIP 打包、沙箱限制与笔记挂载流程

小红书小工具制作的核心不是复杂开发,而是把需求压缩成纯前端轻交互,并按平台要求完成 ZIP 交付。适合做的方向是测试、计算器、生成器、学习小测和记录工具;不适合做的方向是账号体系、云端数据、支付和远程接口。制作时先确认沙箱限制,再整理输入、计算、输出链路,最后通过 Builder Hub 提交审核并挂载笔记。在需求简单、素材较少的情况下,十几分钟做出一个可用的小工具是现实路径,袋马就是一个选择。

qq_39308835的博客 286

Agent 的 ReAct、Plan、Execute、Reflection 模式

本文系统解析 Agent 的 ReAct、Plan、Execute、Reflection 四模式,揭示其核心为“下一步谁定”与“错了怎么发现”两大问题。ReAct 逐步决策,适合动态环境但易冗余;Plan 一次性规划,高效却惧变化;Execute 严格落地,需明确判据与失败策略;Reflection 事后校验,强化纠错闭环。四者协同:外层规划,执行中嵌入思考,每步后反思,连续失败才重规划,构建稳定可控的智能体工作流。

2401_89855466的博客 325

海外平台频繁弹验证?从 DNS、WebRTC 到浏览器指纹的环境异常排查清单

在运营多地区海外平台账号时,即使代理节点通畅、TCP 握手成功,仍可能遇到频繁人机验证、地区限制、播放失败等异常。核心结论是:这类问题往往不在网络传输层,而在浏览器环境参数与网络出口之间的逻辑自洽性。本文从 DNS 泄漏、WebRTC 穿透、时区与语言匹配、Canvas/WebGL 指纹、TLS 特征五个维度,给出一份可复现的环境异常排查清单,并对比个人手动配置与工程化环境管理方案的适用边界。适用于跨境运营、多账号运维团队。

P1Browser【p1指纹浏览器】的博客 183

信号链电路怎么选运放?奥特四款信号链运放解析【选型参考】

在模拟电路设计中,运放作为信号链的“第一道门槛”,其微小误差往往决定了整个系统的成败。

naNa_1120的博客 191

智能问诊的流程

本文介绍基于FastAPI构建的医疗多Agent系统MediAgent,通过症状分析、诊断推理与治疗建议等模块协同,实现从问诊到报告生成的完整工作流。系统采用前后端分离架构,结合MySQL、RabbitMQ与Docker实现工程化部署,支持异步化验结果接入。虽当前状态暂存于内存,但已具备可扩展性,未来可通过Redis持久化、消息队列联动及医疗安全机制完善,应用于慢病管理、辅助决策等场景,推动AI在医疗流程中的落地应用。

Joey 的工作空间~ 726

流式输出 SSE:实现 AI 对话打字机效果后端开发

摘要解决传统 HTTP 请求在 LLM 长文本生成时导致的客户端长时间阻塞与 TTFT 极高的问题。适用于需为 AI 应用提供打字机效果、优化交互体验的后端开发工程师。读完可获得基于 FastAPI 与 SSE(Server-Sent Events)技术的流式响应实现代码、协议规范及生产环境避坑指南。关键词SSE、流式输出、FastAPI、打字机效果、TTFT、大模型推理背景与问题大模型(LLM)生成完整回复通常耗时数秒至数十秒,传统请求-响应模型导致用户界面长时间无响应,体验极差。

2402_85729970的博客 178

Vue-Router

本文详解前端路由原理与实现,以网易云音乐为例,介绍通过 vue-router 实现页面无刷新切换。核心步骤包括:安装模块、创建路由实例、注册应用、配置页面组件与路由出口。使用 router-link 实现声明式导航,结合 query 和 params 传参,支持模糊与精确匹配激活状态。强调 useRoute(读取参数)与 useRouter(执行跳转)的区别,帮助开发者掌握单页应用路由的核心机制。

2301_79245606的博客 342

基于 YOLOv8 的森林火灾检测系统(Web 版)

本项目面向林区早期火情识别场景,使用YOLOv8完成火焰(Fire)与烟雾(Smoke)两类目标的检测模型训练,并以FastAPI构建 Web 检测平台,把模型能力封装为可直接登录使用的系统。平台除常规的图片、批量、视频、摄像头检测外,还提供同图多权重对比、数据集浏览与标注核对、模型热切换,以及把训练搬到网页上的能力:可在浏览器配置超参数发起真实训练,训练中在线调整学习率、查看进度与动态曲线,训练完成后下载产物或直接应用到检测。

Michael_Jay的博客 60
上一篇: Docker部署Prometheus+Grafana+node-exporter
下一篇: 手写一个简化版的MyBatis框架
IT_WEH_coder
博客等级 码龄5年 2万+粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT_WEH_coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值