PageSourceSearch

https://awesome-15docs.netlify.app/problem/vitepress

html awesome-15docs.netlify.app collected 2026-10-03 10:28:35 UTC 122,940 bytes, 184 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" dir="ltr">
3  <head>
4    <meta charset="utf-8">
5<!-- This site is hosted on Netlify. Anyone can build and deploy a site
6     like this one for free: https://netlify.new/?utm_campaign=loops&utm_source=ai-legible&utm_medium=owned&utm_content=comment&utm_id=ecb0a559-decc-4b2b-a86c-eb939ca6dca8
7     Netlify hosting facts for this site: static/SSR served via Netlify Edge. -->
8    <meta name="viewport" content="width=device-width,initial-scale=1">
9    <title>Vitepress 开发问题记录 | Awesome 15docs</title>
10    <meta name="description" content="A VitePress Site">
11    <meta name="generator" content="VitePress v1.6.4">
12    <link rel="preload stylesheet" href="/assets/style.e0MwPxAT.css" as="style">
13    <link rel="preload stylesheet" href="/vp-icons.css" as="style">
14    
15    
15<script type="module" src="/assets/app.ZWHDBcz_.js"></script>
15
16    <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
17    <link rel="modulepreload" href="/assets/chunks/theme.BlHmTVr9.js">
18    <link rel="modulepreload" href="/assets/chunks/framework.BPKcPtvA.js">
19    <link rel="modulepreload" href="/assets/problem_vitepress.md.CxsF-fsd.lean.js">
20    <link rel="icon" href="/favicon.ico">
vendor: 68 bytes, lines 20-21
20
21    <script async src="https://www.googletagmanager.com/gtag/js?id=
21G-YYMJNTZ2D8
vendor: 16 bytes, lines 21-22
21"></script>
22    
22<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-YYMJNTZ2D8");</script>
22
23    <meta name="referrer" content="no-referrer-when-downgrade">
24    
24<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
24
25    
25<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
25
26  </head>
27  <body>
28    <div id="app"><div class="Layout" data-v-d8135c25><!--[--><!--]--><!--[--><span tabindex="-1" data-v-9ad02318></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-9ad02318>Skip to content</a><!--]--><!----><header class="VPNav" data-v-d8135c25 data-v-9e75161e><div class="VPNavBar" data-v-9e75161e data-v-264ed091><div class="wrapper" data-v-264ed091><div class="container" data-v-264ed091><div class="title" data-v-264ed091><div class="VPNavBarTitle has-sidebar" data-v-264ed091 data-v-8ffe71b8><a class="title" href="/" data-v-8ffe71b8><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-d5deb060><!--]--><span data-v-8ffe71b8>Awesome 15docs</span><!--[--><!--]--></a></div></div><div class="content" data-v-264ed091><div class="content-body" data-v-264ed091><!--[--><!--]--><div class="VPNavBarSearch search" data-v-264ed091><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="搜索文档"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-264ed091 data-v-9c7fb0ee><span id="main-nav-aria-label" class="visually-hidden" data-v-9c7fb0ee> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-9c7fb0ee data-v-dc669128><!--[--><span data-v-dc669128>主页</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-9c7fb0ee data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-5c17d6a4><span class="text" data-v-5c17d6a4><!----><span data-v-5c17d6a4>开发记录</span><span class="vpi-chevron-down text-icon" data-v-5c17d6a4></span></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><div class="items" data-v-15c3b365><!--[--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/vue'><!--[--><span data-v-a800a57c>Vue 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link active' data-v-a800a57c href='/problem/vitepress'><!--[--><span data-v-a800a57c>Vitepress 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/css'><!--[--><span data-v-a800a57c>Css 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/react-native'><!--[--><span data-v-a800a57c>ReactNative 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/github'><!--[--><span data-v-a800a57c>Github 问题记录</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/git'><!--[--><span data-v-a800a57c>Git 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/vscode'><!--[--><span data-v-a800a57c>Vscode 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/node'><!--[--><span data-v-a800a57c>Node 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/shell'><!--[--><span data-v-a800a57c>Shell 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/react'><!--[--><span data-v-a800a57c>React 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/javascript'><!--[--><span data-v-a800a57c>Javascript 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/nextui'><!--[--><span data-v-a800a57c>Nextui 开发记录</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/next-js'><!--[--><span data-v-a800a57c>Next.js 踩坑</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/figma'><!--[--><span data-v-a800a57c>Figma 开发记录</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/extension'><!--[--><span data-v-a800a57c>浏览器插件开发踩坑</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>Typescript</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/typescript-config'><!--[--><span data-v-a800a57c>Typescript(tsconfig详解)</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/problem/typescript'><!--[--><span data-v-a800a57c>Typescript 开发问题记录</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>工程化记录</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/vite'><!--[--><span data-v-a800a57c>Vite 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/rsbuild'><!--[--><span data-v-a800a57c>Rsbuild 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/ast'><!--[--><span data-v-a800a57c>AST 学习记录</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/eslint'><!--[--><span data-v-a800a57c>Eslint 配置</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/monitor'><!--[--><span data-v-a800a57c>前端服务监控SDK</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/project/desktop'><!--[--><span data-v-a800a57c>桌面端应用开发</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>系统问题记录</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/systems/mac'><!--[--><span data-v-a800a57c>Mac 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/systems/win'><!--[--><span data-v-a800a57c>Win 开发问题</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/systems/chrome'><!--[--><span data-v-a800a57c>Chrome 开发记录</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-9c7fb0ee data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-5c17d6a4><span class="text" data-v-5c17d6a4><!----><span data-v-5c17d6a4>学习资料推荐</span><span class="vpi-chevron-down text-icon" data-v-5c17d6a4></span></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><div class="items" data-v-15c3b365><!--[--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>AI 推荐</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/site'><!--[--><span data-v-a800a57c>AI 网站推荐</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/picture'><!--[--><span data-v-a800a57c>AI 生图示例</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>AI 学习</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/lang-chain'><!--[--><span data-v-a800a57c>LangChain 知识库</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>Css 设计网站推荐</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/css-site'><!--[--><span data-v-a800a57c>Css 设计网站推荐</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/gradients'><!--[--><span data-v-a800a57c>渐变色网站推荐</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>日常学习</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/daily-data'><!--[--><span data-v-a800a57c>日常学习资料</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/daily-problem'><!--[--><span data-v-a800a57c>日常踩坑(杂乱)</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>Mobile 移动端记录</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/study/mobile'><!--[--><span data-v-a800a57c>Mobile 移动端记录</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-9c7fb0ee data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-5c17d6a4><span class="text" data-v-5c17d6a4><!----><span data-v-5c17d6a4>AI</span><span class="vpi-chevron-down text-icon" data-v-5c17d6a4></span></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><div class="items" data-v-15c3b365><!--[--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>AI Agent 学习</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class="VPLink link" href="/ai/agent-learning/" data-v-a800a57c><!--[--><span data-v-a800a57c>概述</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-learning/agent-basics'><!--[--><span data-v-a800a57c>AI Agent 基础:第一个智能体</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-learning/agent-patterns'><!--[--><span data-v-a800a57c>AI Agent 经典范式</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-learning/superpowers-skill-framework'><!--[--><span data-v-a800a57c>Superpowers 技能框架实现原理</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>AI Agent 工具</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agents/opencode/opencode'><!--[--><span data-v-a800a57c>OpenCode 配置,踩坑浏览</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agents/pi/pi'><!--[--><span data-v-a800a57c>PI 配置,踩坑浏览</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/ai-coding-concepts'><!--[--><span data-v-a800a57c>AI Coding 概念、工作流与扩展机制</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/ai-coding-practice'><!--[--><span data-v-a800a57c>AI Coding 个人实践:模型、Harness 与上下文</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-skills-index'><!--[--><span data-v-a800a57c>Agent Skill 常用清单</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/ai-tools-and-setup'><!--[--><span data-v-a800a57c>AI 工具选型与配置</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/personal-ai-tools'><!--[--><span data-v-a800a57c>个人 AI 工具与订阅清单</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-rules-and-prompts'><!--[--><span data-v-a800a57c>AI 协作规则</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/prompt-templates'><!--[--><span data-v-a800a57c>AI Prompt 模板</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15c3b365 data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/ai/agent-context-system'><!--[--><span data-v-a800a57c>Agent 上下文体系:AGENTS.md、知识图谱与 DESIGN.md</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-9c7fb0ee data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-5c17d6a4><span class="text" data-v-5c17d6a4><!----><span data-v-5c17d6a4>DX 开发者体验</span><span class="vpi-chevron-down text-icon" data-v-5c17d6a4></span></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><div class="items" data-v-15c3b365><!--[--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>DX 开发者体验</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/deploy'><!--[--><span data-v-a800a57c>自动化部署</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/vscode'><!--[--><span data-v-a800a57c>
28Vscode 特性配置</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/vscode-plugin'><!--[--><span data-v-a800a57c>Vscode 插件开发</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/webstorm'><!--[--><span data-v-a800a57c>Webstorm 特性配置</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/regexp'><!--[--><span data-v-a800a57c>正则表达式技巧</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/regexp-fn'><!--[--><span data-v-a800a57c>正则通用功能函数</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/feature/node-cli'><!--[--><span data-v-a800a57c>Node CLI 开发</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>css 开发框架知识</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/css-library/knowledge'><!--[--><span data-v-a800a57c>Scss 常用知识点</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/css-library/dev-skill'><!--[--><span data-v-a800a57c>开发风格 skill</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/css-library/function'><!--[--><span data-v-a800a57c>Scss 封装函数</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/css-library/tailwind-skill'><!--[--><span data-v-a800a57c>Tailwind 开发技巧</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>摸鱼工具</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/play/epub-reader'><!--[--><span data-v-a800a57c>阅读器</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-9c7fb0ee data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-5c17d6a4><span class="text" data-v-5c17d6a4><!----><span data-v-5c17d6a4>个人记录</span><span class="vpi-chevron-down text-icon" data-v-5c17d6a4></span></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><div class="items" data-v-15c3b365><!--[--><!--[--><div class="VPMenuGroup" data-v-15c3b365 data-v-c1d45a7e><p class="title" data-v-c1d45a7e>个人记录</p><!--[--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/author/life-notes'><!--[--><span data-v-a800a57c>生活记录与个人经验</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c>
28<a class='VPLink link' data-v-a800a57c href='/author/personal-projects'><!--[--><span data-v-a800a57c>个人项目与作品</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/author/interview-prep'><!--[--><span data-v-a800a57c>面试准备:记录、算法与知识点</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/author/career-records'><!--[--><span data-v-a800a57c>职业记录:工作与开源</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-c1d45a7e data-v-a800a57c><a class='VPLink link' data-v-a800a57c href='/author/annual-reviews'><!--[--><span data-v-a800a57c>年度复盘</span><!--]--></a></div><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-264ed091 data-v-59aecd16><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-59aecd16 data-v-cf507472 data-v-acfdcbae><span class="check" data-v-acfdcbae><span class="icon" data-v-acfdcbae><!--[--><span class="vpi-sun sun" data-v-cf507472></span><span class="vpi-moon moon" data-v-cf507472></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-264ed091 data-v-4113521f data-v-fe2975aa><!--[--><a class="VPSocialLink no-icon" href="https://github.com/code-jbrc/Awesome-15docs" aria-label="github" target="_blank" rel="noopener" data-v-fe2975aa data-v-7bf834de><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-264ed091 data-v-bbf0d7c7 data-v-5c17d6a4><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-5c17d6a4><span class="vpi-more-horizontal icon" data-v-5c17d6a4></span></button><div class="menu" data-v-5c17d6a4><div class="VPMenu" data-v-5c17d6a4 data-v-15c3b365><!----><!--[--><!--[--><!----><div class="group" data-v-bbf0d7c7><div class="item appearance" data-v-bbf0d7c7><p class="label" data-v-bbf0d7c7>Appearance</p><div class="appearance-action" data-v-bbf0d7c7><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bbf0d7c7 data-v-cf507472 data-v-acfdcbae><span class="check" data-v-acfdcbae><span class="icon" data-v-acfdcbae><!--[--><span class="vpi-sun sun" data-v-cf507472></span><span class="vpi-moon moon" data-v-cf507472></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bbf0d7c7><div class="item social-links" data-v-bbf0d7c7><div class="VPSocialLinks social-links-list" data-v-bbf0d7c7 data-v-fe2975aa><!--[--><a class="VPSocialLink no-icon" href="https://github.com/code-jbrc/Awesome-15docs" aria-label="github" target="_blank" rel="noopener" data-v-fe2975aa data-v-7bf834de><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-264ed091 data-v-628f9e78><span class="container" data-v-628f9e78><span class="top" data-v-628f9e78></span><span class="middle" data-v-628f9e78></span><span class="bottom" data-v-628f9e78></span></span></button></div></div></div></div><div class="divider" data-v-264ed091><div class="divider-line" data-v-264ed091></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d8135c25 data-v-35ced30c><div class="container" data-v-35ced30c><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-35ced30c><span class="vpi-align-left menu-icon" data-v-35ced30c></span><span class="menu-text" data-v-35ced30c>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-35ced30c data-v-0042735e><button data-v-0042735e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-d8135c25 data-v-d4c9453b><div class="curtain" data-v-d4c9453b></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-d4c9453b><span class="visually-hidden" id="sidebar-aria-label" data-v-d4c9453b> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-9f5cf79c><section class="VPSidebarItem level-0 has-active" data-v-9f5cf79c data-v-a7f3e25c><div class="item" role="button" tabindex="0" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><h2 class="text" data-v-a7f3e25c>日常开发记录</h2><!----></div><div class="items" data-v-a7f3e25c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/vue'><!--[--><p class="text" data-v-a7f3e25c>Vue 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/vitepress'><!--[--><p class="text" data-v-a7f3e25c>Vitepress 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/css'><!--[--><p class="text" data-v-a7f3e25c>Css 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/react-native'><!--[--><p class="text" data-v-a7f3e25c>ReactNative 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/github'><!--[--><p class="text" data-v-a7f3e25c>Github 问题记录</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/git'><!--[--><p class="text" data-v-a7f3e25c>Git 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/vscode'><!--[--><p class="text" data-v-a7f3e25c>Vscode 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/node'><!--[--><p class="text" data-v-a7f3e25c>Node 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/shell'><!--[--><p class="text" data-v-a7f3e25c>Shell 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/react'><!--[--><p class="text" data-v-a7f3e25c>React 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/javascript'><!--[--><p class="text" data-v-a7f3e25c>Javascript 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/nextui'><!--[--><p class="text" data-v-a7f3e25c>Nextui 开发记录</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/next-js'><!--[--><p class="text" data-v-a7f3e25c>Next.js 踩坑</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/figma'><!--[--><p class="text" data-v-a7f3e25c>Figma 开发记录</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/extension'><!--[--><p class="text" data-v-a7f3e25c>浏览器插件开发踩坑</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/markdown-examples'><!--[--><p class="text" data-v-a7f3e25c>Markdown Examples</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/api-examples'><!--[--><p class="text" data-v-a7f3e25c>Runtime API Examples</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9f5cf79c><section class="VPSidebarItem level-0" data-v-9f5cf79c data-v-a7f3e25c><div class="item" role="button" tabindex="0" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><h2 class="text" data-v-a7f3e25c>Typescript</h2><!----></div><div class="items" data-v-a7f3e25c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/typescript-config'><!--[--><p class="text" data-v-a7f3e25c>Typescript(tsconfig详解)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/problem/typescript'><!--[--><p class="text" data-v-a7f3e25c>Typescript 开发问题记录</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9f5cf79c><section class="VPSidebarItem level-0" data-v-9f5cf79c data-v-a7f3e25c><div class="item" role="button" tabindex="0" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><h2 class="text" data-v-a7f3e25c>工程化记录</h2><!----></div><div class="items" data-v-a7f3e25c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/vite'><!--[--><p class="text" data-v-a7f3e25c>Vite 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/rsbuild'><!--[--><p class="text" data-v-a7f3e25c>Rsbuild 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/ast'><!--[--><p class="text" data-v-a7f3e25c>AST 学习记录</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/eslint'><!--[--><p class="text" data-v-a7f3e25c>Eslint 配置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/monitor'><!--[--><p class="text" data-v-a7f3e25c>前端服务监控SDK</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/project/desktop'><!--[--><p class="text" data-v-a7f3e25c>桌面端应用开发</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-9f5cf79c><section class="VPSidebarItem level-0" data-v-9f5cf79c data-v-a7f3e25c><div class="item" role="button" tabindex="0" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><h2 class="text" data-v-a7f3e25c>系统问题记录</h2><!----></div><div class="items" data-v-a7f3e25c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/systems/mac'><!--[--><p class="text" data-v-a7f3e25c>Mac 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/systems/win'><!--[--><p class="text" data-v-a7f3e25c>Win 开发问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-a7f3e25c data-v-a7f3e25c><div class="item" data-v-a7f3e25c><div class="indicator" data-v-a7f3e25c></div><a class='VPLink link link' data-v-a7f3e25c href='/systems/chrome'><!--[--><p class="text" data-v-a7f3e25c>Chrome 开发记录</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--[--><!----><!--]--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d8135c25 data-v-ee4ce413><div class="VPDoc has-sidebar has-aside" data-v-ee4ce413 data-v-6047baad><!--[--><!--]--><div class="container" data-v-6047baad><div class="aside" data-v-6047baad><div class="aside-curtain" data-v-6047baad></div><div class="aside-container" data-v-6047baad><div class="aside-content" data-v-6047baad><div class="VPDocAside" data-v-6047baad data-v-d43499ff><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-d43499ff data-v-43af366c><div class="content" data-v-43af366c><div class="outline-marker" data-v-43af366c></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-43af366c>On this page</div><ul class="VPDocOutlineItem root" data-v-43af366c data-v-3b6fc5dc><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-d43499ff></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-6047baad><div class="content-container" data-v-6047baad><!--[--><!--]--><main class="main" data-v-6047baad><div style="position:relative;" class="vp-doc _problem_vitepress" data-v-6047baad><div><section class="w-100% justify-center text-14px color-[var(--vp-c-text-2)] border-[var(--vp-c-divider)] w-full mt-[24px] flex gap-[12px] mb-[18px] flex-w
28rap"><div class="flex gap-[4px] items-center"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="18" height="18" viewBox="0 0 16 16"></svg> 字数:<span>1.2k 字</span></div><div class="flex gap-[4px] items-center"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="18" height="18" viewBox="0 0 16 16"></svg> 预计:<span>5 分钟</span></div><div class="flex gap-[4px] items-center"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="18" height="18" viewBox="0 0 16 16"></svg> 阅读量:<span id="busuanzi_container_page_pv"><span id="busuanzi_value_page_pv"></span></span></div></section><h1 id="vitepress-开发问题记录" tabindex="-1">Vitepress 开发问题记录 <a class="header-anchor" href="#vitepress-开发问题记录" aria-label="Permalink to &quot;Vitepress 开发问题记录&quot;">​</a></h1><section class="w-100% text-14px color-[var(--vp-c-text-2)] border-b-1 border-[var(--vp-c-divider)] w-full border-b-solid mt-[12px] pb-[24px] flex gap-[12px] mb-[12px] flex-wrap"><div class="flex gap-[4px] items-center"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="18" height="18" viewBox="0 0 16 16"></svg> 作者:<span>winches</span></div><!----><div class="flex gap-[4px] items-center"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" style="" width="18" height="18" viewBox="0 0 16 16"></svg> 更新于:<span>2 年前</span></div></section><h2 id="给vitepress快速添加全局搜索" tabindex="-1">给Vitepress快速添加全局搜索 <a class="header-anchor" href="#给vitepress快速添加全局搜索" aria-label="Permalink to &quot;给Vitepress快速添加全局搜索&quot;">​</a></h2><h3 id="一、用内置的local搜索功能" tabindex="-1">一、用内置的<code>local</code>搜索功能 <a class="header-anchor" href="#一、用内置的local搜索功能" aria-label="Permalink to &quot;一、用内置的`local`搜索功能&quot;">​</a></h3><p>在<code>vitepress</code>的配置里加上这一段</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
29<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;themeConfig&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
30<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;search&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
31<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;provider&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;local&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
32<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;options&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
33<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;translations&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
34<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">          &quot;button&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;buttonText&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;搜索文档&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;buttonAriaLabel&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;搜索文档&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }
34,</span></span>
35<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">          &quot;modal&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
36<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">            &quot;noResultsText&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;无法找到相关结果&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
37<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">            &quot;resetButtonTitle&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;清除查询条件&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
38<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">            &quot;footer&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
39<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">              &quot;selectText&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;选择&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
40<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">              &quot;navigateText&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;切换&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
41<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">              &quot;closeText&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;关闭&quot;</span></span>
42<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">            }</span></span>
43<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          }</span></span>
44<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        }</span></span>
45<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      }</span></span>
46<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    }</span></span>
47<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
48<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><strong>随后出现的效果如图:</strong></p><img width="943" alt="image" src="https://github.com/sxzz/vue-macros/assets/96854855/96e01fad-a434-4a79-bfb9-04ed0ffd2525"><h3 id="二、使用社区的插件vitepress-plugin-search-或者vitepress-plugin-pagefind" tabindex="-1">二、使用社区的插件<code>vitepress-plugin-search </code>或者<code>vitepress-plugin-pagefind</code> <a class="header-anchor" href="#二、使用社区的插件vitepress-plugin-search-或者vitepress-plugin-pagefind" aria-label="Permalink to &quot;二、使用社区的插件`vitepress-plugin-search `或者`vitepress-plugin-pagefind`&quot;">​</a></h3><p>以<code>vitepress-plugin-search</code>为例</p><p><strong>安装依赖</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vitepress-plugin-search</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> flexsearch</span></span></code></pre></div><p><code>vite</code>配置中添加插件</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span>
48<pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { SearchPlugin } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vitepress-plugin-search&#39;</span></span>
49<span class="line"></span>
50<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> searchOptions</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
51<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  previewLength: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">62</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
52<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  buttonLabel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Search&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
53<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  placeholder: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Search docs&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
54<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
55<span class="line"></span>
56<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
57<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  vite: {</span></span>
58<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    plugins: [</span></span>
59<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">      SearchPlugin</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(searchOptions),</span></span>
60<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    ],</span></span>
61<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  },</span></span>
62<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><strong>效果图:</strong></p><img width="767" alt="image" src="https://github.com/sxzz/vue-macros/assets/96854855/9e75d928-7aa2-4d85-879c-52fb46680312"><h2 id="给vp页面加上访问量记录" tabindex="-1">给Vp页面加上访问量记录 <a class="header-anchor" href="#给vp页面加上访问量记录" aria-label="Permalink to &quot;给Vp页面加上访问量记录&quot;">​</a></h2><h3 id="方案一、使用busuanzi服务" tabindex="-1">方案一、使用<code>busuanzi</code>服务 <a class="header-anchor" href="#方案一、使用busuanzi服务" aria-label="Permalink to &quot;方案一、使用`busuanzi`服务&quot;">​</a></h3><h3 id="实现过程" tabindex="-1">实现过程 <a class="header-anchor" href="#实现过程" aria-label="Permalink to &quot;实现过程&quot;">​</a></h3><ol><li>安装<code>busuanzi.pure.js</code></li></ol><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> busuanzi.pure.js</span></span></code></pre></div><ol start="2"><li>在页面路由变化的时候,调用<code>busuanzi</code>服务</li></ol><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span>
62<pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
63<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">  enhanceApp</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: ({ </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">router</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> EnhanceAppContext</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
64<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    router.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">onAfterRouteChanged</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> () </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
65<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      isClient </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&amp;&amp;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> busuanzi.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">fetch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
66<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    }</span></span>
67<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  },</span></span>
68<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><ol start="3"><li><p>通过md编译插件为每个页面添加上阅读量组件</p></li><li><p>添加<code>busuanzi_value_page_pv</code>唯一标识至标签中</p></li></ol><div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">阅读量:&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;busuanzi_container_page_pv&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;busuanzi_value_page_pv&quot;</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic;"> /</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><p><strong>实现原理:</strong></p><p>当页面路由变化后,在变化后的页面发送<code>busuanzi</code>的请求,并通过jsonp回调函数执行,添加访问量到<code>ID</code>中,完成访问量的记录。</p><h3 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to &quot;常见问题&quot;">​</a></h3><ol><li><code>busuanzi.fetch()</code>调用前,需要判断是否是客户端,否则<code>Node</code>打包会报错。</li><li><code>referrer</code>默认是<code>strict-origin-when-cross-origin</code>,需更改<code>referrer</code>策略,以达到发送网站信息,准确记录网站访问量</li></ol><ul><li>比如:<code>unsafe-url</code>、<code>no-referrer-when-downgrade(推荐)</code></li></ul><div class="warning custom-block"><p class="custom-block-title">注意:</p><p><code>strict-origin-when-cross-origin</code> 是一个<code>CSP(Content Security Policy)</code>的策略指令,用于指定浏览器在跨域请求时如何发送<code>Referer</code>头信息。当浏览器从一个站点跳转到另一个站点时,<code>Referer</code>头信息会告诉目标站点请求来自哪个站点。这个指令的作用是在跨域请求时,只有在目标站点和源站点的协议、主机名和端口号都相同时,会发送<code>Referer</code>头信息,否则不发送。</p><p>例如,如果当前页面的<code>URL</code>是 <code>https://example.com/page1.html</code>,并且它包含一个指向<code>https://example.net/page2.html</code>
68 的链接,那么如果链接中包含 <code>rel</code>=&quot;<code>noreferrer</code>&quot; 属性或没有设置 <code>rel</code> 属性,那么在跳转到 <code>https://example.net/page2.html</code> 时,<code>Referer</code>头信息将不会包含 <code>https://example.com/page1.html</code> 这个信息。但是,如果在当前页面的<code>HTTP</code>应头中设置了 <code>Referrer-Policy</code>:<code>strict-origin-when-cross-origin</code>,那么在跨域请求时,只有当目标站点和源站点的协议、主机名和端口号都相同时,才会发送<code>Referer</code>头信息。 这个指令可以帮助保护用户的隐私,因为它可以防止目标站点获取到来自其他站点的<code>Referer</code>头信息,从减少了跨站点追踪的可能性。</p></div><h3 id="方案二、visitor-badge" tabindex="-1">方案二、Visitor Badge <a class="header-anchor" href="#方案二、visitor-badge" aria-label="Permalink to &quot;方案二、Visitor Badge&quot;">​</a></h3><p><strong>使用方法</strong></p><p><a href="https://visitor-badge.laobi.icu/#docs" target="_blank" rel="noreferrer">点击查看文档</a></p><h2 id="react-docgen-typescript-解析问题" tabindex="-1">react-docgen-typescript 解析问题 <a class="header-anchor" href="#react-docgen-typescript-解析问题" aria-label="Permalink to &quot;react-docgen-typescript 解析问题&quot;">​</a></h2><p>当使用<code>docgen.parse</code>时,若加了<code>displayName</code>那么只会识别并返回对应的组件,并更改解析后的<code>displayName</code>为相应的值</p><p>若不指定<code>displayName</code>则返回全部<code>export</code>的组件</p><h1 id="rspress-开发问题记录" tabindex="-1">Rspress 开发问题记录 <a class="header-anchor" href="#rspress-开发问题记录" aria-label="Permalink to &quot;Rspress 开发问题记录&quot;">​</a></h1><h2 id="自动识别组件-props-生成类型文档" tabindex="-1">自动识别组件 Props 生成类型文档 <a class="header-anchor" href="#自动识别组件-props-生成类型文档" aria-label="Permalink to &quot;自动识别组件 Props 生成类型文档&quot;">​</a></h2><ul><li>使用<code>react-docgen-typescript</code> + <code>remark</code> 插件实现</li></ul><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { existsSync } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;node:fs&#39;</span></span>
69<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> *</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> as</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> docgen </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;react-docgen-typescript&#39;</span></span>
70<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { visit } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;unist-util-visit&#39;</span></span>
71<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { resolver } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;../helpers/path&#39;</span></span>
72<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { PropsOptions } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;./Props&#39;</span></span>
73<span class="line"></span>
74<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> options</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> docgen</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">ParserOptions</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
75<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  savePropValueAsString: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">
75false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
76<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  propFilter: {</span></span>
77<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    skipPropsWithoutDoc: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
78<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  },</span></span>
79<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
80<span class="line"></span>
81<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> NodeAttributes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
82<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> keyof</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> PropsOptions</span></span>
83<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  value</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span></span>
84<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
85<span class="line"></span>
86<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> remarkPropsTable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
87<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">tree</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
88<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">    visit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(tree, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;mdxJsxFlowElement&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">node</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">index</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">parent</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
89<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">      if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (node.name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Props&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
90<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">        const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> src</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> node.attributes.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">find</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">attr</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> NodeAttributes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> attr.name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;src&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)?.value</span></span>
91<span class="line"></span>
92<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">        if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">src)</span></span>
93<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">          return</span></span>
94<span class="line"></span>
95<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">        const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> component</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> node.attributes.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">find</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">attr</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> NodeAttributes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> attr.name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;component&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)?.value</span></span>
96<span class="line"></span>
97<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">        const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> codeSrc</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> resolver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(src)</span></span>
98<span class="line"></span>
99<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">        if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">existsSync</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(codeSrc)) {</span></span>
100<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">          const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> componentsMetaJson</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> component</span></span>
101<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            ?</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> docgen</span></span>
102<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">parse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(codeSrc, options)</span></span>
103<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">find</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">c</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =&gt;</span></span>
104<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">                c.displayName.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">toLocaleLowerCase</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">().</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">includes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(component.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">replace</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;.mdx&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">toLocaleLowerCase</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()),</span></span>
105<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              )</span></span>
106<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            :</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> docgen.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">parse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(codeSrc, options)[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
107<span class="line"></span>
108<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">          if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (componentsMetaJson) {</span></span>
109<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> isOverLength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Object.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">keys</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(componentsMetaJson.props).</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">length</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 20</span></span>
110<span class="line"></span>
111<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> markdown</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> generateTable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(componentsMetaJson, isOverLength)</span></span>
112<span class="line"></span>
113<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (markdown)</span></span>
114<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              parent.children.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">push</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(markdown)</span></span>
115<span class="line"></span>
116<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          }</span></span>
117<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        }</span></span>
118<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      }</span></span>
119<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    })</span></span>
120<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
121<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
122<span class="line"></span>
123<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
124<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  defaultValue</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> unknown</span></span>
125<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span></span>
126<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span></span>
127<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  required</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> boolean</span></span>
128<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
129<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">    name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span></span>
130<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
131<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
132<span class="line"></span>
133<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ComponentMetadata</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
134<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  displayName</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> string</span></span>
135<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">  props</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Record</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
136<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
137<span class="line"></span>
138<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> baseHTMLAttributesRegex</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">aria-</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">
138*|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">data-</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">tabIndex</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">role</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span></span>
139<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> attributesRegex</span></span>
140<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">^</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">on</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">[A-Z]</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">dir</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">draggable</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">hidden</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">lang</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">nonce</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">slot</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">spellCheck</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">style</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">title</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">translate</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">autoCapitalize</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">autoCorrect</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">autoSave</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemProp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemScope</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemType</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemID</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemRef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemGroup</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemValue</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">itemProp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">about</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">inlist</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">content</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">prefix</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">property</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">rel</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">resource</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">vocab</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">rev</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">typeof</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">color</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">results</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">security</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">unselectable</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">is</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">inputMode</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">dangerouslySetInnerHTML</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">defaultChecked</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">defaultValue</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">suppressContentEditableWarning</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">suppressHydrationWarning</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">accessKey</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">contentEditable</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">contextMenu</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">autoFocus</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">radioGroup</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span></span>
141<span class="line"></span>
142<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> generateTable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">metadata</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ComponentMetadata</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">isOverLength</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> boolean</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
143<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> table</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
144<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;table&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
145<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    align: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;left&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;center&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;center&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;center&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
146<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    children: [</span></span>
147<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      {</span></span>
148<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableRow&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
149<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        children: [</span></span>
150<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Property&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
151<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Type&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
152<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Required&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
153<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Description&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
154<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        ],</span></span>
155<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      },</span></span>
156<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">      ...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Object.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">entries</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(metadata.props)</span></span>
157<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(([</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">propName</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">
157]) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
158<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">          if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (isOverLength) {</span></span>
159<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">            // 过滤掉没有描述的 HTML 属性,和基础的HTML属性</span></span>
160<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">            if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ((</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">prop.description </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&amp;&amp;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> attributesRegex.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(prop.name)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">||</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> baseHTMLAttributesRegex.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(prop.name))</span></span>
161<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">              return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> null</span></span>
162<span class="line"></span>
163<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          }</span></span>
164<span class="line"></span>
165<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">          return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
166<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">            type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableRow&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
167<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">            children: [</span></span>
168<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;strong&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: propName }] }] },</span></span>
169<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;inlineCode&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: prop.type.name }] },</span></span>
170<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;inlineCode&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: prop.required </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">?</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Yes&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> :</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;No&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
171<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">              { type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;tableCell&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, children: [{ type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;text&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value: prop.description.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">replace</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">@</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">g</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">||</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;-&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }] },</span></span>
172<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">            ],</span></span>
173<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">          }</span></span>
174<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        })</span></span>
175<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">        .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">filter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Boolean),</span></span>
176<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    ],</span></span>
177<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
178<span class="line"></span>
179<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">  return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> table</span></span>
180<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-6047baad data-v-b4f734b6><!--[--><!--]--><div class="edit-info" data-v-b4f734b6><div class="edit-link" data-v-b4f734b6><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/code-jbrc/Awesome-15docs/tree/main/docs/src/problem/vitepress.md" target="_blank" rel="noreferrer" data-v-b4f734b6><!--[--><span class="vpi-square-pen edit-link-icon" data-v-b4f734b6></span> 在 GitHub 编辑此页<!--]--></a></div><div class="last-updated" data-v-b4f734b6><p class="VPLastUpdated" data-v-b4f734b6 data-v-f08926c0>最后更新于: <time datetime="2024-04-22T06:34:43.000Z" data-v-f08926c0></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-b4f734b6><span class="visually-hidden" id="doc-footer-aria-label" data-v-b4f734b6>Pager</span><div class="pager" data-v-b4f734b6><a class='VPLink link pager-link prev' data-v-b4f734b6 href='/problem/vue'><!--[--><span class="desc" data-v-b4f734b6>Previous page</span><span class="title" data-v-b4f734b6>Vue 开发问题</span><!--]--></a></div><div class="pager" data-v-b4f734b6><a class='VPLink link pager-link next' data-v-b4f734b6 href='/problem/css'><!--[--><span class="desc" data-v-b4f734b6>Next page</span><span class="title" data-v-b4f734b6>Css 开发问题</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-d8135c25 data-v-d0e87186><div class="container" data-v-d0e87186><p class="message" data-v-d0e87186>Made with ❤️</p><p class="copyright" data-v-d0e87186>MIT License © 2023 <a href="https://github.com/winchesHe">winchesHe</a></p></div></footer><!--[--><!--]--></div></div>
181    
181<script>window.__VP_HASH_MAP__=JSON.parse("{\"ai_agent-context-system.md\":\"BQAeHD1i\",\"ai_agent-learning_agent-basics.md\":\"DhjyCb5W\",\"ai_agent-learning_agent-patterns.md\":\"Ch7j06oG\",\"ai_agent-learning_index.md\":\"Duib9LWf\",\"ai_agent-learning_superpowers-skill-framework.md\":\"BkZvro6u\",\"ai_agent-rules-and-prompts.md\":\"Bc7jKC7P\",\"ai_agent-skills-index.md\":\"BHKzvSie\",\"ai_agents_opencode_opencode.md\":\"BBTZcCfK\",\"ai_agents_pi_pi.md\":\"BhHfolxv\",\"ai_ai-coding-concepts.md\":\"CaxrHhD6\",\"ai_ai-coding-practice.md\":\"D8FeYzlD\",\"ai_ai-tools-and-setup.md\":\"ClqA6KXp\",\"ai_personal-ai-tools.md\":\"Bkgv45fo\",\"ai_prompt-templates.md\":\"CHMDOX6G\",\"author_annual-reviews.md\":\"BlCZc-uE\",\"author_career-records.md\":\"Ca37zU0k\",\"author_interview-prep.md\":\"tEJFgNGV\",\"author_life-notes.md\":\"Ch-_USOM\",\"author_personal-projects.md\":\"Dlrq4TdQ\",\"css-library_dev-skill.md\":\"Dbv4ampu\",\"css-library_function.md\":\"DJdCUbYm\",\"css-library_knowledge.md\":\"4NgAsQEM\",\"css-library_tailwind-skill.md\":\"CXQWIlPU\",\"feature_deploy.md\":\"D44HKzFG\",\"feature_node-cli.md\":\"DZcgd6Dh\",\"feature_regexp-fn.md\":\"CUu2x2I3\",\"feature_regexp.md\":\"CH0v_vKK\",\"feature_vscode-plugin.md\":\"XYbh4gYA\",\"feature_vscode.md\":\"DH_HgmeV\",\"feature_webstorm.md\":\"CekMzqva\",\"index.md\":\"B0CreRDW\",\"play_epub-reader.md\":\"CvqYjgzU\",\"problem_api-examples.md\":\"CpazRmxQ\",\"problem_css.md\":\"DqoUd-Tt\",\"problem_extension.md\":\"DZ7uc3x6\",\"problem_figma.md\":\"CPlThLv1\",\"problem_git.md\":\"CuoIv2HR\",\"problem_github.md\":\"D2d0QaQ-\",\"problem_javascript.md\":\"DhkJ0Tw2\",\"problem_markdown-examples.md\":\"C_NVrldG\",\"problem_next-js.md\":\"B0g6_6Rn\",\"problem_nextui.md\":\"bVzn-NoB\",\"problem_node.md\":\"B4c-PZ5l\",\"problem_react-native.md\":\"LWg6GVuZ\",\"problem_react.md\":\"oIFX2hL9\",\"problem_shell.md\":\"D1X791C8\",\"problem_typescript-config.md\":\"D1PJk39R\",\"problem_typescript.md\":\"BFwtB8Gi\",\"problem_vitepress.md\":\"CxsF-fsd\",\"problem_vscode.md\":\"scKuYnYC\",\"problem_vue.md\":\"DLH_bOsx\",\"project_ast.md\":\"CJ5-sKMC\",\"project_desktop.md\":\"BAqk9sIn\",\"project_eslint.md\":\"6J9S-Qg8\",\"project_monitor.md\":\"DIuyDwwl\",\"project_rsbuild.md\":\"DXqS28F6\",\"project_vite.md\":\"CponPMB7\",\"study_css-site.md\":\"D3zDkL8X\",\"study_daily-data.md\":\"DUmbRTXT\",\"study_daily-problem.md\":\"Cvs54sDE\",\"study_gradients.md\":\"BtBscRHH\",\"study_lang-chain.md\":\"C0EhNM_C\",\"study_mobile.md\":\"CygyM8Dx\",\"study_picture.md\":\"DvQU4PLv\",\"study_site.md\":\"FTnjeBUw\",\"study_stock.md\":\"D0anKmcw\",\"systems_chrome.md\":\"DWffZ-R-\",\"systems_mac.md\":\"Bczf5RSO\",\"systems_win.md\":\"DpDApNAi\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Awesome 15docs\",\"description\":\"A VitePress Site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"主页\",\"link\":\"/\"},{\"text\":\"开发记录\",\"items\":[{\"text\":\"Vue 开发问题\",\"link\":\"/problem/vue\"},{\"text\":\"Vitepress 开发问题\",\"link\":\"/problem/vitepress\"},{\"text\":\"Css 开发问题\",\"link\":\"/problem/css\"},{\"text\":\"ReactNative 开发问题\",\"link\":\"/problem/react-native\"},{\"text\":\"Github 问题记录\",\"link\":\"/problem/github\"},{\"text\":\"Git 开发问题\",\"link\":\"/problem/git\"},{\"text\":\"Vscode 开发问题\",\"link\":\"/problem/vscode\"},{\"text\":\"Node 开发问题\",\"link\":\"/problem/node\"},{\"text\":\"Shell 开发问题\",\"link\":\"/problem/shell\"},{\"text\":\"React 开发问题\",\"link\":\"/problem/react\"},{\"text\":\"Javascript 开发问题\",\"link\":\"/problem/javascript\"},{\"text\":\"Nextui 开发记录\",\"link\":\"/problem/nextui\"},{\"text\":\"Next.js 踩坑\",\"link\":\"/problem/next-js\"},{\"text\":\"Figma 开发记录\",\"link\":\"/problem/figma\"},{\"text\":\"浏览器插件开发踩坑\",\"link\":\"/problem/extension\"},{\"text\":\"Typescript\",\"items\":[{\"text\":\"Typescript(tsconfig详解)\",\"link\":\"/problem/typescript-config\"},{\"text\":\"Typescript 开发问题记录\",\"link\":\"/problem/typescript\"}]},{\"text\":\"工程化记录\",\"items\":[{\"text\":\"Vite 开发问题\",\"link\":\"/project/vite\"},{\"text\":\"Rsbuild 开发问题\",\"link\":\"/project/rsbuild\"},{\"text\":\"AST 学习记录\",\"link\":\"/project/ast\"},{\"text\":\"Eslint 配置\",\"link\":\"/project/eslint\"},{\"text\":\"前端服务监控SDK\",\"link\":\"/project/monitor\"},{\"text\":\"桌面端应用开发\",\"link\":\"/project/desktop\"}]},{\"text\":\"系统问题记录\",\"items\":[{\"text\":\"Mac 开发问题\",\"link\":\"/systems/mac\"},{\"text\":\"Win 开发问题\",\"link\":\"/systems/win\"},{\"text\":\"Chrome 开发记录\",\"link\":\"/systems/chrome\"}]}],\"activeMatch\":\"problem|example|project\"},{\"text\":\"学习资料推荐\",\"items\":[{\"text\":\"AI 推荐\",\"items\":[{\"text\":\"AI 网站推荐\",\"link\":\"/study/site\"},{\"text\":\"AI 生图示例\",\"link\":\"/study/picture\"}]},{\"text\":\"AI 学习\",\"items\":[{\"text\":\"LangChain 知识库\",\"link\":\"/study/lang-chain\"}]},{\"text\":\"Css 设计网站推荐\",\"items\":[{\"text\":\"Css 设计网站推荐\",\"link\":\"/study/css-site\"},{\"text\":\"渐变色网站推荐\",\"link\":\"/study/gradients\"}]},{\"text\":\"日常学习\",\"items\":[{\"text\":\"日常学习资料\",\"link\":\"/study/daily-data\"},{\"text\":\"日常踩坑(杂乱)\",\"link\":\"/study/daily-problem\"}]},{\"text\":\"Mobile 移动端记录\",\"items\":[{\"text\":\"Mobile 移动端记录\",\"link\":\"/study/mobile\"}]}],\"activeMatch\":\"study\"},{\"text\":\"AI\",\"items\":[{\"text\":\"AI Agent 学习\",\"items\":[{\"text\":\"概述\",\"link\":\"/ai/agent-learning/\"},{\"text\":\"AI Agent 基础:第一个智能体\",\"link\":\"/ai/agent-learning/agent-basics\"},{\"text\":\"AI Agent 经典范式\",\"link\":\"/ai/agent-learning/agent-patterns\"},{\"text\":\"Superpowers 技能框架实现原理\",\"link\":\"/ai/agent-learning/superpowers-skill-framework\"}]},{\"text\":\"AI Agent 工具\",\"items\":[{\"text\":\"OpenCode 配置,踩坑浏览\",\"link\":\"/ai/agents/opencode/opencode\"},{\"text\":\"PI 配置,踩坑浏览\",\"link\":\"/ai/agents/pi/pi\"}]},{\"text\":\"AI Coding 概念、工作流与扩展机制\",\"link\":\"/ai/ai-coding-concepts\"},{\"text\":\"AI Coding 个人实践:模型、Harness 与上下文\",\"link\":\"/ai/ai-coding-practice\"},{\"text\":\"Agent Skill 常用清单\",\"link\":\"/ai/agent-skills-index\"},{\"text\":\"AI 工具选型与配置\",\"link\":\"/ai/ai-tools-and-setup\"},{\"text\":\"个人 AI 工具与订阅清单\",\"link\":\"/ai/personal-ai-tools\"},{\"text\":\"AI 协作规则\",\"link\":\"/ai/agent-rules-and-prompts\"},{\"text\":\"AI Prompt 模板\",\"link\":\"/ai/prompt-templates\"},{\"text\":\"Agent 上下文体系:AGENTS.md、知识图谱与 DESIGN.md\",\"link\":\"/ai/agent-context-system\"}],\"activeMatch\":\"ai\"},{\"text\":\"DX 开发者体验\",\"items\":[{\"text\":\"DX 开发者体验\",\"items\":[{\"text\":\"自动化部署\",\"link\":\"/feature/deploy\"}
181,{\"text\":\"Vscode 特性配置\",\"link\":\"/feature/vscode\"},{\"text\":\"Vscode 插件开发\",\"link\":\"/feature/vscode-plugin\"},{\"text\":\"Webstorm 特性配置\",\"link\":\"/feature/webstorm\"},{\"text\":\"正则表达式技巧\",\"link\":\"/feature/regexp\"},{\"text\":\"正则通用功能函数\",\"link\":\"/feature/regexp-fn\"},{\"text\":\"Node CLI 开发\",\"link\":\"/feature/node-cli\"}]},{\"text\":\"css 开发框架知识\",\"items\":[{\"text\":\"Scss 常用知识点\",\"link\":\"/css-library/knowledge\"},{\"text\":\"开发风格 skill\",\"link\":\"/css-library/dev-skill\"},{\"text\":\"Scss 封装函数\",\"link\":\"/css-library/function\"},{\"text\":\"Tailwind 开发技巧\",\"link\":\"/css-library/tailwind-skill\"}]},{\"text\":\"摸鱼工具\",\"items\":[{\"text\":\"阅读器\",\"link\":\"/play/epub-reader\"}]}],\"activeMatch\":\"feature|play\"},{\"text\":\"个人记录\",\"items\":[{\"text\":\"个人记录\",\"items\":[{\"text\":\"生活记录与个人经验\",\"link\":\"/author/life-notes\"}
181,{\"text\":\"个人项目与作品\",\"link\":\"/author/personal-projects\"},{\"text\":\"面试准备:记录、算法与知识点\",\"link\":\"/author/interview-prep\"},{\"text\":\"职业记录:工作与开源\",\"link\":\"/author/career-records\"},{\"text\":\"年度复盘\",\"link\":\"/author/annual-reviews\"}]}],\"activeMatch\":\"author\"}],\"sidebar\":{\"/ai/agent-learning/\":[{\"text\":\"AI Agent 学习\",\"items\":[{\"text\":\"概述\",\"link\":\"/ai/agent-learning/\"},{\"text\":\"AI Agent 基础:第一个智能体\",\"link\":\"/ai/agent-learning/agent-basics\"},{\"text\":\"AI Agent 经典范式\",\"link\":\"/ai/agent-learning/agent-patterns\"},{\"text\":\"Superpowers 技能框架实现原理\",\"link\":\"/ai/agent-learning/superpowers-skill-framework\"}]}],\"/ai\":[{\"text\":\"AI\",\"items\":[{\"text\":\"AI Agent 学习\",\"items\":[{\"text\":\"概述\",\"link\":\"/ai/agent-learning/\"},{\"text\":\"AI Agent 基础:第一个智能体\",\"link\":\"/ai/agent-learning/agent-basics\"},{\"text\":\"AI Agent 经典范式\",\"link\":\"/ai/agent-learning/agent-patterns\"},{\"text\":\"Superpowers 技能框架实现原理\",\"link\":\"/ai/agent-learning/superpowers-skill-framework\"}]},{\"text\":\"AI Agent 工具\",\"items\":[{\"text\":\"OpenCode 配置,踩坑浏览\",\"link\":\"/ai/agents/opencode/opencode\"},{\"text\":\"PI 配置,踩坑浏览\",\"link\":\"/ai/agents/pi/pi\"}]},{\"text\":\"AI Coding 概念、工作流与扩展机制\",\"link\":\"/ai/ai-coding-concepts\"},{\"text\":\"AI Coding 个人实践:模型、Harness 与上下文\",\"link\":\"/ai/ai-coding-practice\"},{\"text\":\"Agent Skill 常用清单\",\"link\":\"/ai/agent-skills-index\"},{\"text\":\"AI 工具选型与配置\",\"link\":\"/ai/ai-tools-and-setup\"},{\"text\":\"个人 AI 工具与订阅清单\",\"link\":\"/ai/personal-ai-tools\"},{\"text\":\"AI 协作规则\",\"link\":\"/ai/agent-rules-and-prompts\"},{\"text\":\"AI Prompt 模板\",\"link\":\"/ai/prompt-templates\"},{\"text\":\"Agent 上下文体系:AGENTS.md、知识图谱与 DESIGN.md\",\"link\":\"/ai/agent-context-system\"}]}],\"/study\":[{\"text\":\"学习资料推荐\",\"items\":[{\"text\":\"AI 推荐\",\"items\":[{\"text\":\"AI 网站推荐\",\"link\":\"/study/site\"},{\"text\":\"AI 生图示例\",\"link\":\"/study/picture\"}]},{\"text\":\"AI 学习\",\"items\":[{\"text\":\"LangChain 知识库\",\"link\":\"/study/lang-chain\"}]},{\"text\":\"Css 设计网站推荐\",\"items\":[{\"text\":\"Css 设计网站推荐\",\"link\":\"/study/css-site\"},{\"text\":\"渐变色网站推荐\",\"link\":\"/study/gradients\"}]},{\"text\":\"日常学习\",\"items\":[{\"text\":\"日常学习资料\",\"link\":\"/study/daily-data\"},{\"text\":\"日常踩坑(杂乱)\",\"link\":\"/study/daily-problem\"}]},{\"text\":\"Mobile 移动端记录\",\"items\":[{\"text\":\"Mobile 移动端记录\",\"link\":\"/study/mobile\"}]}]}],\"/problem\":[{\"text\":\"日常开发记录\",\"items\":[{\"text\":\"Vue 开发问题\",\"link\":\"/problem/vue\"},{\"text\":\"Vitepress 开发问题\",\"link\":\"/problem/vitepress\"},{\"text\":\"Css 开发问题\",\"link\":\"/problem/css\"},{\"text\":\"ReactNative 开发问题\",\"link\":\"/problem/react-native\"},{\"text\":\"Github 问题记录\",\"link\":\"/problem/github\"},{\"text\":\"Git 开发问题\",\"link\":\"/problem/git\"},{\"text\":\"Vscode 开发问题\",\"link\":\"/problem/vscode\"},{\"text\":\"Node 开发问题\",\"link\":\"/problem/node\"},{\"text\":\"Shell 开发问题\",\"link\":\"/problem/shell\"},{\"text\":\"React 开发问题\",\"link\":\"/problem/react\"},{\"text\":\"Javascript 开发问题\",\"link\":\"/problem/javascript\"},{\"text\":\"Nextui 开发记录\",\"link\":\"/problem/nextui\"},{\"text\":\"Next.js 踩坑\",\"link\":\"/problem/next-js\"},{\"text\":\"Figma 开发记录\",\"link\":\"/problem/figma\"},{\"text\":\"浏览器插件开发踩坑\",\"link\":\"/problem/extension\"},{\"text\":\"Markdown Examples\",\"link\":\"/problem/markdown-examples\"},{\"text\":\"Runtime API Examples\",\"link\":\"/problem/api-examples\"}]},{\"text\":\"Typescript\",\"items\":[{\"text\":\"Typescript(tsconfig详解)\",\"link\":\"/problem/typescript-config\"},{\"text\":\"Typescript 开发问题记录\",\"link\":\"/problem/typescript\"}]},{\"text\":\"工程化记录\",\"items\":[{\"text\":\"Vite 开发问题\",\"link\":\"/project/vite\"},{\"text\":\"Rsbuild 开发问题\",\"link\":\"/project/rsbuild\"},{\"text\":\"AST 学习记录\",\"link\":\"/project/ast\"},{\"text\":\"Eslint 配置\",\"link\":\"/project/eslint\"},{\"text\":\"前端服务监控SDK\",\"link\":\"/project/monitor\"},{\"text\":\"桌面端应用开发\",\"link\":\"/project/desktop\"}]},{\"text\":\"系统问题记录\",\"items\":[{\"text\":\"Mac 开发问题\",\"link\":\"/systems/mac\"},{\"text\":\"Win 开发问题\",\"link\":\"/systems/win\"},{\"text\":\"Chrome 开发记录\",\"link\":\"/systems/chrome\"}]}
181],\"/project\":[{\"text\":\"日常开发记录\",\"items\":[{\"text\":\"Vue 开发问题\",\"link\":\"/problem/vue\"},{\"text\":\"Vitepress 开发问题\",\"link\":\"/problem/vitepress\"},{\"text\":\"Css 开发问题\",\"link\":\"/problem/css\"},{\"text\":\"ReactNative 开发问题\",\"link\":\"/problem/react-native\"},{\"text\":\"Github 问题记录\",\"link\":\"/problem/github\"},{\"text\":\"Git 开发问题\",\"link\":\"/problem/git\"},{\"text\":\"Vscode 开发问题\",\"link\":\"/problem/vscode\"},{\"text\":\"Node 开发问题\",\"link\":\"/problem/node\"},{\"text\":\"Shell 开发问题\",\"link\":\"/problem/shell\"},{\"text\":\"React 开发问题\",\"link\":\"/problem/react\"},{\"text\":\"Javascript 开发问题\",\"link\":\"/problem/javascript\"},{\"text\":\"Nextui 开发记录\",\"link\":\"/problem/nextui\"},{\"text\":\"Next.js 踩坑\",\"link\":\"/problem/next-js\"},{\"text\":\"Figma 开发记录\",\"link\":\"/problem/figma\"},{\"text\":\"浏览器插件开发踩坑\",\"link\":\"/problem/extension\"},{\"text\":\"Markdown Examples\",\"link\":\"/problem/markdown-examples\"},{\"text\":\"Runtime API Examples\",\"link\":\"/problem/api-examples\"}]},{\"text\":\"Typescript\",\"items\":[{\"text\":\"Typescript(tsconfig详解)\",\"link\":\"/problem/typescript-config\"},{\"text\":\"Typescript 开发问题记录\",\"link\":\"/problem/typescript\"}]},{\"text\":\"工程化记录\",\"items\":[{\"text\":\"Vite 开发问题\",\"link\":\"/project/vite\"},{\"text\":\"Rsbuild 开发问题\",\"link\":\"/project/rsbuild\"},{\"text\":\"AST 学习记录\",\"link\":\"/project/ast\"},{\"text\":\"Eslint 配置\",\"link\":\"/project/eslint\"},{\"text\":\"前端服务监控SDK\",\"link\":\"/project/monitor\"},{\"text\":\"桌面端应用开发\",\"link\":\"/project/desktop\"}]},{\"text\":\"系统问题记录\",\"items\":[{\"text\":\"Mac 开发问题\",\"link\":\"/systems/mac\"},{\"text\":\"Win 开发问题\",\"link\":\"/systems/win\"},{\"text\":\"Chrome 开发记录\",\"link\":\"/systems/chrome\"}]}],\"/systems\":[{\"text\":\"日常开发记录\",\"items\":[{\"text\":\"Vue 开发问题\",\"link\":\"/problem/vue\"},{\"text\":\"Vitepress 开发问题\",\"link\":\"/problem/vitepress\"},{\"text\":\"Css 开发问题\",\"link\":\"/problem/css\"},{\"text\":\"ReactNative 开发问题\",\"link\":\"/problem/react-native\"},{\"text\":\"Github 问题记录\",\"link\":\"/problem/github\"},{\"text\":\"Git 开发问题\",\"link\":\"/problem/git\"},{\"text\":\"Vscode 开发问题\",\"link\":\"/problem/vscode\"},{\"text\":\"Node 开发问题\",\"link\":\"/problem/node\"},{\"text\":\"Shell 开发问题\",\"link\":\"/problem/shell\"},{\"text\":\"React 开发问题\",\"link\":\"/problem/react\"},{\"text\":\"Javascript 开发问题\",\"link\":\"/problem/javascript\"},{\"text\":\"Nextui 开发记录\",\"link\":\"/problem/nextui\"},{\"text\":\"Next.js 踩坑\",\"link\":\"/problem/next-js\"},{\"text\":\"Figma 开发记录\",\"link\":\"/problem/figma\"},{\"text\":\"浏览器插件开发踩坑\",\"link\":\"/problem/extension\"},{\"text\":\"Markdown Examples\",\"link\":\"/problem/markdown-examples\"},{\"text\":\"Runtime API Examples\",\"link\":\"/problem/api-examples\"}]},{\"text\":\"Typescript\",\"items\":[{\"text\":\"Typescript(tsconfig详解)\",\"link\":\"/problem/typescript-config\"},{\"text\":\"Typescript 开发问题记录\",\"link\":\"/problem/typescript\"}]},{\"text\":\"工程化记录\",\"items\":[{\"text\":\"Vite 开发问题\",\"link\":\"/project/vite\"},{\"text\":\"Rsbuild 开发问题\",\"link\":\"/project/rsbuild\"},{\"text\":\"AST 学习记录\",\"link\":\"/project/ast\"},{\"text\":\"Eslint 配置\",\"link\":\"/project/eslint\"},{\"text\":\"前端服务监控SDK\",\"link\":\"/project/monitor\"},{\"text\":\"桌面端应用开发\",\"link\":\"/project/desktop\"}]},{\"text\":\"系统问题记录\",\"items\":[{\"text\":\"Mac 开发问题\",\"link\":\"/systems/mac\"},{\"text\":\"Win 开发问题\",\"link\":\"/systems/win\"},{\"text\":\"Chrome 开发记录\",\"link\":\"/systems/chrome\"}]}],\"/feature\":[{\"text\":\"DX 开发者体验\",\"items\":[{\"text\":\"自动化部署\",\"link\":\"/feature/deploy\"}
181,{\"text\":\"Vscode 特性配置\",\"link\":\"/feature/vscode\"},{\"text\":\"Vscode 插件开发\",\"link\":\"/feature/vscode-plugin\"},{\"text\":\"Webstorm 特性配置\",\"link\":\"/feature/webstorm\"},{\"text\":\"正则表达式技巧\",\"link\":\"/feature/regexp\"},{\"text\":\"正则通用功能函数\",\"link\":\"/feature/regexp-fn\"},{\"text\":\"Node CLI 开发\",\"link\":\"/feature/node-cli\"}]},{\"text\":\"css 开发框架知识\",\"items\":[{\"text\":\"Scss 常用知识点\",\"link\":\"/css-library/knowledge\"},{\"text\":\"开发风格 skill\",\"link\":\"/css-library/dev-skill\"},{\"text\":\"Scss 封装函数\",\"link\":\"/css-library/function\"},{\"text\":\"Tailwind 开发技巧\",\"link\":\"/css-library/tailwind-skill\"}]},{\"text\":\"摸鱼工具\",\"items\":[{\"text\":\"阅读器\",\"link\":\"/play/epub-reader\"}]}],\"/play\":[{\"text\":\"DX 开发者体验\",\"items\":[{\"text\":\"自动化部署\",\"link\":\"/feature/deploy\"},{\"text\":\"Vscode 特性配置\",\"link\":\"/feature/vscode\"},{\"text\":\"Vscode 插件开发\",\"link\":\"/feature/vscode-plugin\"}
181,{\"text\":\"Webstorm 特性配置\",\"link\":\"/feature/webstorm\"},{\"text\":\"正则表达式技巧\",\"link\":\"/feature/regexp\"},{\"text\":\"正则通用功能函数\",\"link\":\"/feature/regexp-fn\"},{\"text\":\"Node CLI 开发\",\"link\":\"/feature/node-cli\"}]},{\"text\":\"css 开发框架知识\",\"items\":[{\"text\":\"Scss 常用知识点\",\"link\":\"/css-library/knowledge\"},{\"text\":\"开发风格 skill\",\"link\":\"/css-library/dev-skill\"},{\"text\":\"Scss 封装函数\",\"link\":\"/css-library/function\"},{\"text\":\"Tailwind 开发技巧\",\"link\":\"/css-library/tailwind-skill\"}]},{\"text\":\"摸鱼工具\",\"items\":[{\"text\":\"阅读器\",\"link\":\"/play/epub-reader\"}]}],\"/css-library\":[{\"text\":\"DX 开发者体验\",\"items\":[{\"text\":\"自动化部署\",\"link\":\"/feature/deploy\"},{\"text\":\"Vscode 特性配置\",\"link\":\"/feature/vscode\"},{\"text\":\"Vscode 插件开发\",\"link\":\"/feature/vscode-plugin\"},{\"text\":\"Webstorm 特性配置\",\"link\":\"/feature/webstorm\"},{\"text\":\"正则表达式技巧\",\"link\":\"/feature/regexp\"},{\"text\":\"正则通用功能函数\",\"link\":\"/feature/regexp-fn\"},{\"text\":\"Node CLI 开发\",\"link\":\"/feature/node-cli\"}]},{\"text\":\"css 开发框架知识\",\"items\":[{\"text\":\"Scss 常用知识点\",\"link\":\"/css-library/knowledge\"},{\"text\":\"开发风格 skill\",\"link\":\"/css-library/dev-skill\"},{\"text\":\"Scss 封装函数\",\"link\":\"/css-library/function\"},{\"text\":\"Tailwind 开发技巧\",\"link\":\"/css-library/tailwind-skill\"}]},{\"text\":\"摸鱼工具\",\"items\":[{\"text\":\"阅读器\",\"link\":\"/play/epub-reader\"}]}],\"/author\":[{\"text\":\"个人记录\",\"items\":[{\"text\":\"生活记录与个人经验\",\"link\":\"/author/life-notes\"}
181,{\"text\":\"个人项目与作品\",\"link\":\"/author/personal-projects\"},{\"text\":\"面试准备:记录、算法与知识点\",\"link\":\"/author/interview-prep\"},{\"text\":\"职业记录:工作与开源\",\"link\":\"/author/career-records\"},{\"text\":\"年度复盘\",\"link\":\"/author/annual-reviews\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/code-jbrc/Awesome-15docs\"}],\"editLink\":{\"pattern\":\"https://github.com/code-jbrc/Awesome-15docs/tree/main/docs/src/:path\",\"text\":\"在 GitHub 编辑此页\"},\"lastUpdatedText\":\"最后更新于\",\"footer\":{\"message\":\"Made with ❤️\",\"copyright\":\"MIT License © 2023 <a href=\\\"https://github.com/winchesHe\\\">winchesHe</a>\"},\"outline\":[2,3],\"search\":{\"provider\":\"local\",\"options\":{\"miniSearch\":{\"options\":{\"tokenize\":\"_vp-fn_function tokenizeSearchText(text) {\\n  const source = String(text).normalize(\\\"NFKC\\\");\\n  const searchable = `${source} ${source.replace(/([a-z0-9])([A-Z])/g, \\\"$1 $2\\\")}`.toLowerCase();\\n  const tokens = /* @__PURE__ */ new Set();\\n  const tokenPattern = /[\\\\p{Script=Han}]+|[a-z0-9]+(?:[._:/@#-][a-z0-9]+)*/gu;\\n  for (const match of searchable.matchAll(tokenPattern)) {\\n    const value = match[0];\\n    if (/^\\\\p{Script=Han}+$/u.test(value)) {\\n      if (value.length === 1) {\\n        tokens.add(value);\\n        continue;\\n      }\\n      const maxGramSize = Math.min(value.length, 12);\\n      for (let size = 2; size <= maxGramSize; size += 1) {\\n        for (let index = 0; index <= value.length - size; index += 1)\\n          tokens.add(value.slice(index, index + size));\\n      }\\n      if (value.length <= 24)\\n        tokens.add(value);\\n      continue;\\n    }\\n    tokens.add(value);\\n    for (const part of value.split(/[._:/@#-]+/u)) {\\n      if (part)\\n        tokens.add(part);\\n    }\\n  }\\n  return [...tokens];\\n}\"},\"searchOptions\":{\"tokenize\":\"_vp-fn_function tokenizeSearchText(text) {\\n  const source = String(text).normalize(\\\"NFKC\\\");\\n  const searchable = `${source} ${source.replace(/([a-z0-9])([A-Z])/g, \\\"$1 $2\\\")}`.toLowerCase();\\n  const tokens = /* @__PURE__ */ new Set();\\n  const tokenPattern = /[\\\\p{Script=Han}]+|[a-z0-9]+(?:[._:/@#-][a-z0-9]+)*/gu;\\n  for (const match of searchable.matchAll(tokenPattern)) {\\n    const value = match[0];\\n    if (/^\\\\p{Script=Han}+$/u.test(value)) {\\n      if (value.length === 1) {\\n        tokens.add(value);\\n        continue;\\n      }\\n      const maxGramSize = Math.min(value.length, 12);\\n      for (let size = 2; size <= maxGramSize; size += 1) {\\n        for (let index = 0; index <= value.length - size; index += 1)\\n          tokens.add(value.slice(index, index + size));\\n      }\\n      if (value.length <= 24)\\n        tokens.add(value);\\n      continue;\\n    }\\n    tokens.add(value);\\n    for (const part of value.split(/[._:/@#-]+/u)) {\\n      if (part)\\n        tokens.add(part);\\n    }\\n  }\\n  return [...tokens];\\n}\",\"combineWith\":\"AND\"}},\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"noResultsText\":\"无法找到相关结果\",\"resetButtonTitle\":\"清除查询条件\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\"}}}}}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}"));</script>
181
182    
183  </body>
184</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.