diff --git a/website/README.md b/website/README.md
index 2b8f9ca8e0..2ea405eaed 100644
--- a/website/README.md
+++ b/website/README.md
@@ -2,6 +2,9 @@
## Develop
+> [!NOTE]
+> 全文検索のインデックスは[pagefind](https://pagefind.app/)で生成していますが、インデックスの出力先が`dist/`になっているため、現在は開発サーバーで全文検索が機能しません。検索機能関連の開発をする場合は、`bun run build`を実行してから、`bun run preview`でビルド後の状態を確認してください。
+
```sh
bun run dev
```
diff --git a/website/bun.lockb b/website/bun.lockb
index 86279f0bc2..25c1e1ffaa 100755
Binary files a/website/bun.lockb and b/website/bun.lockb differ
diff --git a/website/package.json b/website/package.json
index 065804f74e..135ac8943c 100644
--- a/website/package.json
+++ b/website/package.json
@@ -4,8 +4,9 @@
"type": "module",
"scripts": {
"dev": "vite dev",
- "build": "vite build",
+ "build": "vite build && bun run update-search-index",
"preview": "vite preview",
+ "update-search-index": "pagefind --site ./dist/ --glob \"docs/**/*.html\"",
"check": "biome check .",
"check:write": "biome check --write ."
},
@@ -17,6 +18,7 @@
"@tailwindcss/vite": "^4.1.5",
"@types/bun": "latest",
"hono": "^4.6.13",
+ "pagefind": "^1.3.0",
"tailwind-merge": "^3.3.0",
"tailwindcss": "^4.1.5",
"vite": "^6.2.5"
diff --git a/website/src/components/icons/SearchIcon.tsx b/website/src/components/icons/SearchIcon.tsx
new file mode 100644
index 0000000000..0c19b7c15c
--- /dev/null
+++ b/website/src/components/icons/SearchIcon.tsx
@@ -0,0 +1,19 @@
+export const SearchIcon = () => {
+ return (
+
+ );
+};
diff --git a/website/src/components/icons/index.ts b/website/src/components/icons/index.ts
index b8bfd45b0e..5938228ef2 100644
--- a/website/src/components/icons/index.ts
+++ b/website/src/components/icons/index.ts
@@ -9,6 +9,7 @@ export { ChevronRightIcon } from "./ChevronRightIcon";
export { AlertTriangleIcon } from "./AlertTriangleIcon";
export { MenuIcon } from "./MenuIcon";
export { CloseIcon } from "./CloseIcon";
+export { SearchIcon } from "./SearchIcon";
// Simple Icons
// https://simpleicons.org/
diff --git a/website/src/components/templates/BaseTemplate.tsx b/website/src/components/templates/BaseTemplate.tsx
index 104f4125e2..b4c7b7a9a8 100644
--- a/website/src/components/templates/BaseTemplate.tsx
+++ b/website/src/components/templates/BaseTemplate.tsx
@@ -11,6 +11,7 @@ import {
Breadcrumbs,
Footer,
Header,
+ SearchWindow,
SideNavigation,
SiteNoticeBanner,
TableOfContents,
@@ -118,7 +119,7 @@ export const BaseTemplate: FC = ({
@@ -254,6 +255,32 @@ export const BaseTemplate: FC = ({
+
+