{"_id":"@ampernic/vitepress-plugin-pagefind","_rev":"6-1e5e4833eeea957813769fb5568d887f","name":"@ampernic/vitepress-plugin-pagefind","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.0","author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","_id":"@ampernic/vitepress-plugin-pagefind@0.1.0","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"dist":{"shasum":"510c1b7f1e58f715497aa97d9b8a655705b65b87","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.0.tgz","fileCount":9,"integrity":"sha512-dBEmDlom9c9RtFNoGwNHPnVLk/OvKPsNX4lARJN2SKobgL83+HGxySWQ+K0aB0cchbECJufBQgsVIHoTG1Up3w==","signatures":[{"sig":"MEYCIQCja5EL6RnOuQIQ9okG1c8Ige/kMKT8jjSFicy+fTJ4UAIhANkrU5GwFj0eacGeo/3U0B4GLiiapGrPTMYMSrMxw5z8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52765},"main":"./dist/vite/index.js","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.0.tgz","types":"./dist/vite/index.d.ts","module":"./dist/vite/index.mjs","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"scripts":{"dev":"unbuild --stub","stub":"unbuild --stub","build":"unbuild"},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"_resolved":"/tmp/0720e6b52ac472db4f32aef68ebdbd8f/ampernic-vitepress-plugin-pagefind-0.1.0.tgz","_integrity":"sha512-dBEmDlom9c9RtFNoGwNHPnVLk/OvKPsNX4lARJN2SKobgL83+HGxySWQ+K0aB0cchbECJufBQgsVIHoTG1Up3w==","repository":{"url":"https://altlinux.space/ampernic/integrations.git","type":"git","directory":"packages/vitepress-plugin-pagefind"},"_npmVersion":"10.9.7","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"unbuild":"^2.0.0","@types/node":"^22.0.0","builtin-modules":"^3.3.0"},"peerDependencies":{"vue":"^3.0.0","vitepress":"^1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vitepress-plugin-pagefind_0.1.0_1775821760692_0.23311412276780685","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.1","author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","_id":"@ampernic/vitepress-plugin-pagefind@0.1.1","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"dist":{"shasum":"b5d687e26db07382e6d246361e626f4932c468a3","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.1.tgz","fileCount":9,"integrity":"sha512-3tZ7s2ksFjOnTZYVDarJ1OETgGg7CMV1PP/ym/BfAKhSAM2xRb4uNgl4iD4s0puhydJefkHNWLKJbtewBWIyuA==","signatures":[{"sig":"MEQCICQ0FrDru63POK9Vgq1gqCkYs7NATvdYwowlYEnVIvKUAiAfjP3zA6hz7MuosSQoWVpohjn8LWFICnrv3bQr5M15iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52765},"main":"./dist/vite/index.js","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.1.tgz","types":"./dist/vite/index.d.ts","module":"./dist/vite/index.mjs","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"scripts":{"dev":"unbuild --stub","stub":"unbuild --stub","build":"unbuild"},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"_resolved":"/tmp/2e6a5b6abef5c27046b60543d2a5ce42/ampernic-vitepress-plugin-pagefind-0.1.1.tgz","_integrity":"sha512-3tZ7s2ksFjOnTZYVDarJ1OETgGg7CMV1PP/ym/BfAKhSAM2xRb4uNgl4iD4s0puhydJefkHNWLKJbtewBWIyuA==","repository":{"url":"https://altlinux.space/ampernic/integrations.git","type":"git","directory":"packages/vitepress-plugin-pagefind"},"_npmVersion":"10.9.7","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"unbuild":"^2.0.0","@types/node":"^22.0.0","builtin-modules":"^3.3.0"},"peerDependencies":{"vue":"^3.0.0","vitepress":"^1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vitepress-plugin-pagefind_0.1.1_1775822066058_0.6399313219938267","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.2","author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","_id":"@ampernic/vitepress-plugin-pagefind@0.1.2","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"dist":{"shasum":"eae9f0f0b628d54b44db23ab8d5642a10dd1cdee","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.2.tgz","fileCount":10,"integrity":"sha512-ps3xaPidrQn4+RhMqw90cO+fFE2EPKeLk1d6HBeaaVbNvscZ2qhakTZFSnzKeUU62bIVExOXs8UZmpb96iPMGA==","signatures":[{"sig":"MEUCIFZ5hoETDaq8i8z+dKMCCNd1Yc7MysMZ5AHEwT4zQ9jvAiEAkhV+BZYEhyOYaLWmdDYStVKjLooZfeFipvXiZ+BVs0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57381},"main":"./dist/vite/index.js","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.2.tgz","types":"./dist/vite/index.d.ts","module":"./dist/vite/index.mjs","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"scripts":{"dev":"unbuild --stub","stub":"unbuild --stub","build":"unbuild"},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"_resolved":"/tmp/0bbf304b9d7e5ad38715ea3dc0ea1b89/ampernic-vitepress-plugin-pagefind-0.1.2.tgz","_integrity":"sha512-ps3xaPidrQn4+RhMqw90cO+fFE2EPKeLk1d6HBeaaVbNvscZ2qhakTZFSnzKeUU62bIVExOXs8UZmpb96iPMGA==","repository":{"url":"https://altlinux.space/ampernic/integrations.git","type":"git","directory":"packages/vitepress-plugin-pagefind"},"_npmVersion":"10.9.7","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unbuild":"^2.0.0","@types/node":"^22.0.0","builtin-modules":"^3.3.0"},"peerDependencies":{"vue":"^3.0.0","vitepress":"^1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vitepress-plugin-pagefind_0.1.2_1775823725174_0.7342758940882255","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.5","author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","_id":"@ampernic/vitepress-plugin-pagefind@0.1.5","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"dist":{"shasum":"8e2987210ddb90614a854eb0cf60f00837bf3004","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.5.tgz","fileCount":10,"integrity":"sha512-AH2qIKJWm2afnrEUbreAeZ5Md91ILcIWjZ5RqryyabClQgXdqDydjWR0osscAVi7BRJ/S3o5D5nlxFESMV6yTw==","signatures":[{"sig":"MEUCIQCgag2ZcyWSYUyaci+hiv01Z3wJBRuF44VMOjyLzeXJ8gIgZOXMaKoI0hySMCNkIXkRLu3hxbNQedZrnvzMh58xzWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57954},"main":"./dist/vite/index.js","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.5.tgz","types":"./dist/vite/index.d.ts","module":"./dist/vite/index.mjs","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"scripts":{"dev":"unbuild --stub","stub":"unbuild --stub","build":"unbuild"},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"_resolved":"/tmp/c7c701762187229cbe1ada1e34ca295b/ampernic-vitepress-plugin-pagefind-0.1.5.tgz","_integrity":"sha512-AH2qIKJWm2afnrEUbreAeZ5Md91ILcIWjZ5RqryyabClQgXdqDydjWR0osscAVi7BRJ/S3o5D5nlxFESMV6yTw==","repository":{"url":"https://altlinux.space/ampernic/integrations.git","type":"git","directory":"packages/vitepress-plugin-pagefind"},"_npmVersion":"10.9.7","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unbuild":"^2.0.0","@types/node":"^22.0.0","builtin-modules":"^3.3.0"},"peerDependencies":{"vue":"^3.0.0","vitepress":"^1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vitepress-plugin-pagefind_0.1.5_1775834347144_0.564872597923106","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.8","author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","_id":"@ampernic/vitepress-plugin-pagefind@0.1.8","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"dist":{"shasum":"cdb4846453d043a6accdf945a681769181a221a7","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.8.tgz","fileCount":10,"integrity":"sha512-5R+iI/Vl5VHOE75/vpWZXFWlNKJsDMfX2ydqOJhG5RFQ+SsJGYUHVQXPhRoicpzycnorS0agIz8PwifUOzqFJw==","signatures":[{"sig":"MEQCICitIgMgmU2iEFikn6XYW7Bqo0U27X02ZzquDxFyA0yxAiApZ1Nsyh3Iy/RbjE82BKtid582zeBVOGgebM3vzEzrFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61651},"main":"./dist/vite/index.js","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.8.tgz","types":"./dist/vite/index.d.ts","module":"./dist/vite/index.mjs","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"scripts":{"dev":"unbuild --stub","stub":"unbuild --stub","build":"unbuild"},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"_resolved":"/tmp/ef2c8c80f04304c92fb6cd2a3aec809a/ampernic-vitepress-plugin-pagefind-0.1.8.tgz","_integrity":"sha512-5R+iI/Vl5VHOE75/vpWZXFWlNKJsDMfX2ydqOJhG5RFQ+SsJGYUHVQXPhRoicpzycnorS0agIz8PwifUOzqFJw==","repository":{"url":"https://altlinux.space/ampernic/integrations.git","type":"git","directory":"packages/vitepress-plugin-pagefind"},"_npmVersion":"10.9.7","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","directories":{},"_nodeVersion":"22.22.2","dependencies":{"picocolors":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unbuild":"^2.0.0","@types/node":"^22.0.0","builtin-modules":"^3.3.0"},"peerDependencies":{"vue":"^3.0.0","vitepress":"^1.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vitepress-plugin-pagefind_0.1.8_1776237428790_0.3338317897836518","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@ampernic/vitepress-plugin-pagefind","version":"0.1.9","description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","license":"GPL-3.0-or-later","author":{"name":"Ampernic"},"repository":{"type":"git","url":"https://altlinux.space/ampernic/integrations.git","directory":"packages/vitepress-plugin-pagefind"},"main":"./dist/vite/index.js","module":"./dist/vite/index.mjs","types":"./dist/vite/index.d.ts","exports":{".":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.mjs","require":"./dist/vite/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.js"}},"peerDependencies":{"vitepress":"^1.0.0","vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"dependencies":{"picocolors":"^1.0.0"},"devDependencies":{"@types/node":"^22.0.0","builtin-modules":"^3.3.0","unbuild":"^2.0.0"},"publishConfig":{"access":"public"},"scripts":{"build":"unbuild","stub":"unbuild --stub","dev":"unbuild --stub"},"_id":"@ampernic/vitepress-plugin-pagefind@0.1.9","_integrity":"sha512-Sf1S7be281yApEXv5Yuu+nWl1b9pyib79cFbG2+SN6EBgjHLcRvo2JgQJJENZNUuvEudTzsX4wu3YwTXSiWqjw==","_resolved":"/tmp/95add7290dfeac14c5a6b16630dd86a6/ampernic-vitepress-plugin-pagefind-0.1.9.tgz","_from":"file:ampernic-vitepress-plugin-pagefind-0.1.9.tgz","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Sf1S7be281yApEXv5Yuu+nWl1b9pyib79cFbG2+SN6EBgjHLcRvo2JgQJJENZNUuvEudTzsX4wu3YwTXSiWqjw==","shasum":"7f11efc2566d27457ffb7cc6f30215b90c794570","tarball":"https://registry.npmjs.org/@ampernic/vitepress-plugin-pagefind/-/vitepress-plugin-pagefind-0.1.9.tgz","fileCount":10,"unpackedSize":65801,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDuhHz/9szSlplk5kmBldVGzRFKw7mdd/zKKqJSA+mRFAIgDjm+PxssSB0qI2xpH7rGpFk/y2yTD2FfO501pY8zvbo="}]},"_npmUser":{"name":"ampernic","email":"ampernic@inbox.ru"},"directories":{},"maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vitepress-plugin-pagefind_0.1.9_1779199431417_0.06532613861736603"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-10T11:49:20.583Z","modified":"2026-05-19T14:03:51.670Z","0.1.0":"2026-04-10T11:49:20.812Z","0.1.1":"2026-04-10T11:54:26.224Z","0.1.2":"2026-04-10T12:22:05.337Z","0.1.5":"2026-04-10T15:19:07.295Z","0.1.8":"2026-04-15T07:17:08.928Z","0.1.9":"2026-05-19T14:03:51.556Z"},"author":{"name":"Ampernic"},"license":"GPL-3.0-or-later","repository":{"type":"git","url":"https://altlinux.space/ampernic/integrations.git","directory":"packages/vitepress-plugin-pagefind"},"description":"VitePress plugin for Pagefind static search — configurable filters, zero bundle cost","maintainers":[{"name":"ampernic","email":"ampernic@inbox.ru"}],"readme":"# @ampernic/vitepress-plugin-pagefind\n\nИнтеграция [Pagefind](https://pagefind.app/) в VitePress — статический поиск с фильтрацией, нулевой нагрузкой на бандл и готовым UI-компонентом.\n\n**Что даёт по сравнению со встроенным локальным поиском VitePress:**\n- Нет 2 МБ MiniSearch-индекса в бандле — Pagefind грузит чанки лениво (~45 КБ при первом поиске)\n- Настраиваемые фильтры (по дистрибутиву, версии и т.д.)\n- Поддержка объединения индексов нескольких сайтов (`mergeIndex`) для глобального поиска\n- Подсветка совпадений в сниппетах из коробки\n\n## Установка\n\n```bash\nnpm install -D @ampernic/vitepress-plugin-pagefind pagefind\n```\n\n`pagefind` — CLI-инструмент для индексации, нужен как devDependency в проекте документации.\n\n## Использование\n\n### 1. Подключение в VitePress config\n\n```ts\n// .vitepress/config.ts\nimport { defineConfig } from 'vitepress'\nimport { PagefindPlugin } from '@ampernic/vitepress-plugin-pagefind'\n\nexport default defineConfig({\n  ...PagefindPlugin({\n    distroName: 'alt-workstation',  // slug сайта для фильтра distro\n    extractFilters: (id) => {\n      // Тегируем страницы по версии (извлекаем из пути файла)\n      const m = id.match(/[/\\\\](\\d+\\.\\d+(?:-\\w+)?)[/\\\\]/)\n      return m ? { version: m[1] } : null\n    },\n  }),\n  // ... остальной конфиг\n})\n```\n\nПлагин добавляет в конфиг:\n- **`transformHtml`** — инжектит `<span hidden data-pagefind-filter=\"...\">` перед `</body>` на каждой странице\n- **`buildEnd`** — записывает `pagefind/distro-meta.json`, затем запускает `pagefind --site .vitepress/dist`\n\n### 2. Компонент поиска\n\n```vue\n<script setup lang=\"ts\">\nimport { PagefindSearch } from '@ampernic/vitepress-plugin-pagefind/client'\nimport { useRoute } from 'vitepress'\nimport { computed } from 'vue'\n\nconst route = useRoute()\n\nconst filters = computed(() => {\n  const m = route.path.match(/^\\/(\\d+\\.\\d+(?:-\\w+)?)\\//)\n  const ver = m?.[1]\n  return ver ? { version: ver } : {}\n})\n</script>\n\n<template>\n  <PagefindSearch\n    :filters=\"filters\"\n    :placeholder=\"filters.version ? `Поиск в версии ${filters.version}…` : 'Поиск…'\"\n    @close=\"/* закрыть */\"\n  />\n</template>\n```\n\n## API\n\n### `PagefindPlugin(options?)`\n\nВозвращает фрагмент VitePress-конфига (`transformHtml` + `buildEnd` + `vite.plugins`). Результат нужно spread'ить в корень конфига:\n\n```ts\nexport default defineConfig({\n  ...PagefindPlugin({ ... }),\n  vite: {\n    plugins: [...PagefindPlugin({ ... }).vite.plugins, /* другие плагины */],\n  },\n})\n```\n\n| Опция | Тип | По умолчанию | Описание |\n|-------|-----|--------------|----------|\n| `outDir` | `string` | `'.vitepress/dist'` | Директория собранного сайта для индексации |\n| `distroName` | `string` | — | Slug дистрибутива — инжектируется как фильтр `distro:<distroName>` на каждой странице |\n| `extractFilters` | `(filePath: string) => Record<string, string> \\| null` | — | Функция извлечения дополнительных фильтров из пути выходного HTML-файла |\n| `extraArgs` | `string[]` | `[]` | Дополнительные аргументы CLI pagefind |\n\n### `PagefindSearch` (компонент)\n\n| Prop | Тип | По умолчанию | Описание |\n|------|-----|--------------|----------|\n| `filters` | `Record<string, string>` | `{}` | Фильтры для поиска (e.g. `{ version: '11.1' }`) |\n| `placeholder` | `string` | `'Search…'` | Placeholder текстового поля |\n| `maxResults` | `number` | `12` | Максимальное количество результатов |\n\nEmit: `close` — при закрытии модального окна.\n\n## Как работает фильтрация\n\n1. Во время сборки `transformHtml` добавляет по одному скрытому `<span>` на фильтр перед `</body>`:\n   ```html\n   <span hidden data-pagefind-filter=\"distro:alt-workstation\"></span>\n   <span hidden data-pagefind-filter=\"version:11.1\"></span>\n   ```\n   > **Важно:** нельзя использовать несколько атрибутов `data-pagefind-filter` на одном элементе — HTML-спецификация оставляет только первый дубликат. Для нескольких фильтров нужны отдельные элементы.\n\n2. Собранные значения фильтров сохраняются в `pagefind/distro-meta.json` при `buildEnd`:\n   ```json\n   {\"distro\":[\"alt-workstation\"],\"version\":[\"10.0\",\"10.1\",\"11.0\",\"11.1\",\"11.2\"]}\n   ```\n   Этот файл используется компонентом глобального поиска (`ADGlobalSearch`) для точного отображения версий по каждому дистрибутиву — `pagefind.filters()` при объединённых индексах возвращает значения со всех сайтов без изоляции.\n\n3. Pagefind индексирует атрибуты при `buildEnd`.\n\n4. В рантайме фильтры передаются в `pagefind.search(query, { filters: { version: '11.1' } })`.\n\n## Поведение в dev-режиме\n\nВ `vitepress dev` индекс Pagefind не существует. Плагин подключает Vite-middleware, который отдаёт файлы из `outDir/pagefind/` — поиск работает по индексу от последней `vitepress build`.\n\n```bash\nvitepress build  # собрать индекс один раз\nvitepress dev    # поиск работает\n```\n\n## Лицензия\n\nGPL-3.0-or-later\n","readmeFilename":"README.md"}