From b02d287e67be5879856d368913542b5f3f0bfe26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Mon, 26 Jan 2026 00:17:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81algolia=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vitepress/config/search.ts | 116 +++++++++++++++++++++++++++++++----- .vitepress/config/shared.ts | 5 +- pnpm-workspace.yaml | 3 + 3 files changed, 107 insertions(+), 17 deletions(-) create mode 100644 pnpm-workspace.yaml diff --git a/.vitepress/config/search.ts b/.vitepress/config/search.ts index adcc438..09c9c3e 100644 --- a/.vitepress/config/search.ts +++ b/.vitepress/config/search.ts @@ -1,58 +1,142 @@ import type {DefaultTheme} from "vitepress"; -export const enSearch: DefaultTheme.LocalSearchOptions['locales'] = { - root: { +export const enSearch: DefaultTheme.AlgoliaSearchOptions['locales'] = { + en: { + placeholder: 'Search docs', translations: { button: { buttonText: 'Search', buttonAriaLabel: 'Search' }, modal: { - noResultsText: 'No results for', - resetButtonTitle: 'Clear the search query', + searchBox: { + clearButtonTitle: 'Clear the query', + clearButtonAriaLabel: 'Clear the query', + closeButtonText: 'Cancel', + closeButtonAriaLabel: 'Cancel' + }, + startScreen: { + recentSearchesTitle: 'Recent', + noRecentSearchesText: 'No recent searches', + saveRecentSearchButtonTitle: 'Save this search', + removeRecentSearchButtonTitle: 'Remove this search from history', + favoriteSearchesTitle: 'Favorite', + removeFavoriteSearchButtonTitle: 'Remove this search from favorites' + }, + errorScreen: { + titleText: 'Unable to fetch results', + helpText: 'You might want to check your network connection' + }, footer: { selectText: 'Select', + selectKeyAriaLabel: 'Enter key', navigateText: 'Navigate', + navigateUpKeyAriaLabel: 'Arrow up', + navigateDownKeyAriaLabel: 'Arrow down', + closeText: 'Close', + closeKeyAriaLabel: 'Escape key' + }, + noResultsScreen: { + noResultsText: 'No results for', + suggestedQueryText: 'Try searching for', + reportMissingResultsText: 'Believe this query should return results?', + reportMissingResultsLinkText: 'Let us know' } } } } } -export const zh_CNSearch: DefaultTheme.LocalSearchOptions['locales'] = { - zh_CN: { +export const zh_CNSearch: DefaultTheme.AlgoliaSearchOptions['locales'] = { + root: { + placeholder: '搜索文档', translations: { button: { - buttonText: '搜索', - buttonAriaLabel: '搜索' + buttonText: '搜索文档', + buttonAriaLabel: '搜索文档' }, modal: { - noResultsText: '没有找到相关结果:', - resetButtonTitle: '清除搜索条件', + searchBox: { + clearButtonTitle: '清除查询条件', + clearButtonAriaLabel: '清除查询条件', + closeButtonText: '关闭', + closeButtonAriaLabel: '关闭' + }, + startScreen: { + recentSearchesTitle: '搜索历史', + noRecentSearchesText: '没有搜索历史', + saveRecentSearchButtonTitle: '保存至搜索历史', + removeRecentSearchButtonTitle: '从搜索历史中移除', + favoriteSearchesTitle: '收藏', + removeFavoriteSearchButtonTitle: '从收藏中移除' + }, + errorScreen: { + titleText: '无法获取结果', + helpText: '请检查网络连接' + }, footer: { selectText: '选择', + selectKeyAriaLabel: 'Enter 键', navigateText: '切换', + navigateUpKeyAriaLabel: '向上箭头', + navigateDownKeyAriaLabel: '向下箭头', + closeText: '关闭', + closeKeyAriaLabel: 'Esc 键' + }, + noResultsScreen: { + noResultsText: '无法找到相关结果', + suggestedQueryText: '你可以尝试查询', + reportMissingResultsText: '你认为该查询应该有结果?', + reportMissingResultsLinkText: '点击反馈' } } } } } -export const zh_TWSearch: DefaultTheme.LocalSearchOptions['locales'] = { +export const zh_TWSearch: DefaultTheme.AlgoliaSearchOptions['locales'] = { zh_TW: { + placeholder: '搜尋文檔', translations: { button: { - buttonText: '搜尋', - buttonAriaLabel: '搜尋' + buttonText: '搜尋文檔', + buttonAriaLabel: '搜尋文檔' }, modal: { - noResultsText: '沒有找到相關結果:', - resetButtonTitle: '清除搜尋條件', + searchBox: { + clearButtonTitle: '清除查詢條件', + clearButtonAriaLabel: '清除查詢條件', + closeButtonText: '關閉', + closeButtonAriaLabel: '關閉' + }, + startScreen: { + recentSearchesTitle: '搜尋歷史', + noRecentSearchesText: '沒有搜尋歷史', + saveRecentSearchButtonTitle: '保存至搜尋歷史', + removeRecentSearchButtonTitle: '從搜尋歷史中移除', + favoriteSearchesTitle: '收藏', + removeFavoriteSearchButtonTitle: '從收藏中移除' + }, + errorScreen: { + titleText: '無法獲取結果', + helpText: '請檢查網路連接' + }, footer: { selectText: '選擇', + selectKeyAriaLabel: 'Enter 鍵', navigateText: '切換', + navigateUpKeyAriaLabel: '向上箭頭', + navigateDownKeyAriaLabel: '向下箭頭', + closeText: '關閉', + closeKeyAriaLabel: 'Esc 鍵' + }, + noResultsScreen: { + noResultsText: '無法找到相關結果', + suggestedQueryText: '你可以嘗試查詢', + reportMissingResultsText: '你認為該查詢應該有結果?', + reportMissingResultsLinkText: '點擊反饋' } } } } -} \ No newline at end of file +} diff --git a/.vitepress/config/shared.ts b/.vitepress/config/shared.ts index 9cbd680..e6278a2 100644 --- a/.vitepress/config/shared.ts +++ b/.vitepress/config/shared.ts @@ -41,8 +41,11 @@ export const shared = defineConfig({ {icon: 'wechat', link: 'https://work.weixin.qq.com/gm/d8ebf618553398d454e3378695c858b6'}, ], search: { - provider: 'local', + provider: 'algolia', options: { + appId: 'MQBORZ4OJ4', + apiKey: 'b453e45194dfbd6a7342728517d5b153', + indexName: 'acepanel', locales: { ...enSearch, ...zh_CNSearch, diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..8c5004a --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +onlyBuiltDependencies: + - esbuild + - less