Skip to content

Commit

Permalink
feat(plugin-docsearch): bump docsearch version to support translations
Browse files Browse the repository at this point in the history
  • Loading branch information
meteorlxy committed Jan 13, 2022
1 parent 0934a5d commit 47a0ef1
Show file tree
Hide file tree
Showing 7 changed files with 131 additions and 47 deletions.
38 changes: 38 additions & 0 deletions docs/.vuepress/config.ts
Expand Up @@ -164,6 +164,44 @@ export default defineUserConfig<DefaultThemeOptions>({
locales: {
'/zh/': {
placeholder: '搜索文档',
translations: {
button: {
buttonText: '搜索文档',
buttonAriaLabel: '搜索文档',
},
modal: {
searchBox: {
resetButtonTitle: '清除查询条件',
resetButtonAriaLabel: '清除查询条件',
cancelButtonText: '取消',
cancelButtonAriaLabel: '取消',
},
startScreen: {
recentSearchesTitle: '搜索历史',
noRecentSearchesText: '没有搜索历史',
saveRecentSearchButtonTitle: '保存至搜索历史',
removeRecentSearchButtonTitle: '从搜索历史中移除',
favoriteSearchesTitle: '收藏',
removeFavoriteSearchButtonTitle: '从收藏中移除',
},
errorScreen: {
titleText: '无法获取结果',
helpText: '你可能需要检查你的网络连接',
},
footer: {
selectText: '选择',
navigateText: '切换',
closeText: '关闭',
searchByText: '搜索提供者',
},
noResultsScreen: {
noResultsText: '无法找到相关结果',
suggestedQueryText: '你可以尝试查询',
openIssueText: '你认为该查询应该有结果?',
openIssueLinkText: '点击反馈',
},
},
},
},
},
},
Expand Down
23 changes: 22 additions & 1 deletion docs/reference/plugin/docsearch.md
Expand Up @@ -104,7 +104,7 @@ If you are not using default theme, or you meet any problems when using docsearc

### searchParameters

- Type: `Record<string, any>`
- Type: `SearchParameters`

- Details:

Expand Down Expand Up @@ -151,6 +151,17 @@ If you are not using default theme, or you meet any problems when using docsearc
- Also see:
- [DocSearch > Options > initialQuery](https://docsearch.algolia.com/docs/api/#initialquery)

### translations

- Type: `Partial<DocSearchTranslations>`

- Details:

Allow replacing the default text in the DocSearch button or modal.

- Also see:
- [DocSearch > Options > translations](https://docsearch.algolia.com/docs/api/#translations)

### locales

- Type: `Record<string, DocsearchPluginOptions>`
Expand All @@ -174,9 +185,19 @@ module.exports = {
locales: {
'/': {
placeholder: 'Search Documentation',
translations: {
button: {
buttonText: 'Search Documentation',
},
},
},
'/zh/': {
placeholder: '搜索文档',
translations: {
button: {
buttonText: '搜索文档',
},
},
},
},
},
Expand Down
23 changes: 22 additions & 1 deletion docs/zh/reference/plugin/docsearch.md
Expand Up @@ -105,7 +105,7 @@ npm i -D @vuepress/plugin-docsearch@next

### searchParameters

- 类型: `Record<string, any>`
- 类型: `SearchParameters`

- 详情:

Expand Down Expand Up @@ -152,6 +152,17 @@ npm i -D @vuepress/plugin-docsearch@next
- 参考:
- [DocSearch > Options > initialQuery](https://docsearch.algolia.com/docs/api#initialquery)

### translations

- 类型: `Partial<DocSearchTranslations>`

- 详情:

允许替换 DocSearch 按钮和弹窗内的默认文字。

- 参考:
- [DocSearch > Options > translations](https://docsearch.algolia.com/docs/api/#translations)

### locales

- 类型: `Record<string, DocsearchPluginOptions>`
Expand All @@ -175,9 +186,19 @@ module.exports = {
locales: {
'/': {
placeholder: 'Search Documentation',
translations: {
button: {
buttonText: 'Search Documentation',
},
},
},
'/zh/': {
placeholder: '搜索文档',
translations: {
button: {
buttonText: '搜索文档',
},
},
},
},
},
Expand Down
6 changes: 3 additions & 3 deletions packages/@vuepress/plugin-docsearch/package.json
Expand Up @@ -30,9 +30,9 @@
"clean": "rimraf lib *.tsbuildinfo"
},
"dependencies": {
"@docsearch/css": "3.0.0-alpha.34",
"@docsearch/js": "3.0.0-alpha.34",
"@docsearch/react": "3.0.0-alpha.34",
"@docsearch/css": "3.0.0-alpha.42",
"@docsearch/js": "3.0.0-alpha.42",
"@docsearch/react": "3.0.0-alpha.42",
"@types/react": "^17.0.38",
"@vuepress/client": "2.0.0-beta.33",
"@vuepress/core": "2.0.0-beta.33",
Expand Down
@@ -1,6 +1,7 @@
// @ts-ignore: docsearch type issue
import docsearch from '@docsearch/js'
import { usePageLang, useRouteLocale } from '@vuepress/client'
import { isArray } from '@vuepress/shared'
import { computed, defineComponent, h, onMounted, watch } from 'vue'
import type { PropType } from 'vue'
import type { DocsearchOptions } from '../../shared'
Expand Down Expand Up @@ -32,11 +33,13 @@ export const Docsearch = defineComponent({
const facetFilters: string[] = []

const initialize = (): void => {
const rawFacetFilters =
propsLocale.value.searchParameters?.facetFilters ?? []
facetFilters.splice(
0,
facetFilters.length,
`lang:${lang.value}`,
...(propsLocale.value.searchParameters?.facetFilters ?? [])
...(isArray(rawFacetFilters) ? rawFacetFilters : [rawFacetFilters])
)
docsearch({
...docsearchShim,
Expand Down
1 change: 1 addition & 0 deletions packages/@vuepress/plugin-docsearch/src/shared/types.ts
Expand Up @@ -10,6 +10,7 @@ export type DocsearchLocaleData = Pick<
| 'searchParameters'
| 'disableUserPersonalization'
| 'initialQuery'
| 'translations'
>

export interface DocsearchOptions extends DocsearchLocaleData {
Expand Down
82 changes: 41 additions & 41 deletions yarn.lock
Expand Up @@ -2,24 +2,24 @@
# yarn lockfile v1


"@algolia/autocomplete-core@1.0.0-alpha.44":
version "1.0.0-alpha.44"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.0.0-alpha.44.tgz#e626dba45f5f3950d6beb0ab055395ef0f7e8bb2"
integrity sha512-2iMXthldMIDXtlbg9omRKLgg1bLo2ZzINAEqwhNjUeyj1ceEyL1ck6FY0VnJpf2LsjmNthHCz2BuFk+nYUeDNA==
"@algolia/autocomplete-core@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.5.0.tgz#6c91c9de7748e9c103846828a58dfe92bd4d6689"
integrity sha512-E7+VJwcvwMM8vPeaVn7fNUgix8WHV8A1WUeHDi2KHemCaaGc8lvUnP3QnvhMxiDhTe7OpMEv4o2TBUMyDgThaw==
dependencies:
"@algolia/autocomplete-shared" "1.0.0-alpha.44"
"@algolia/autocomplete-shared" "1.5.0"

"@algolia/autocomplete-preset-algolia@1.0.0-alpha.44":
version "1.0.0-alpha.44"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.44.tgz#0ea0b255d0be10fbe262e281472dd6e4619b62ba"
integrity sha512-DCHwo5ovzg9k2ejUolGNTLFnIA7GpsrkbNJTy1sFbMnYfBmeK8egZPZnEl7lBTr27OaZu7IkWpTepLVSztZyng==
"@algolia/autocomplete-preset-algolia@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.0.tgz#61671f09c0c77133d9baf1356719f8378c48437a"
integrity sha512-iiFxKERGHkvkiupmrFJbvESpP/zv5jSgH714XRiP5LDvUHaYOo4GLAwZCFf2ef/L5tdtPBARvekn6k1Xf33gjA==
dependencies:
"@algolia/autocomplete-shared" "1.0.0-alpha.44"
"@algolia/autocomplete-shared" "1.5.0"

"@algolia/autocomplete-shared@1.0.0-alpha.44":
version "1.0.0-alpha.44"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.0.0-alpha.44.tgz#db13902ad1667e455711b77d08cae1a0feafaa48"
integrity sha512-2oQZPERYV+yNx/yoVWYjZZdOqsitJ5dfxXJjL18yczOXH6ujnsq+DTczSrX+RjzjQdVeJ1UAG053EJQF/FOiMg==
"@algolia/autocomplete-shared@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.0.tgz#09580bc89408a2ab5f29e312120dad68f58019bd"
integrity sha512-bRSkqHHHSwZYbFY3w9hgMyQRm86Wz27bRaGCbNldLfbk0zUjApmE4ajx+ZCVSLqxvcUEjMqZFJzDsder12eKsg==

"@algolia/cache-browser-local-storage@4.11.0":
version "4.11.0"
Expand Down Expand Up @@ -134,7 +134,7 @@
jsonpointer "^5.0.0"
leven "^3.1.0"

"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7":
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
Expand Down Expand Up @@ -167,7 +167,7 @@
semver "^6.3.0"
source-map "^0.5.0"

"@babel/generator@^7.16.0", "@babel/generator@^7.16.7", "@babel/generator@^7.16.8", "@babel/generator@^7.7.2":
"@babel/generator@^7.16.7", "@babel/generator@^7.16.8", "@babel/generator@^7.7.2":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
Expand Down Expand Up @@ -258,7 +258,7 @@
"@babel/template" "^7.16.7"
"@babel/types" "^7.16.7"

"@babel/helper-get-function-arity@^7.16.0", "@babel/helper-get-function-arity@^7.16.7":
"@babel/helper-get-function-arity@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
Expand Down Expand Up @@ -372,7 +372,7 @@
"@babel/traverse" "^7.16.0"
"@babel/types" "^7.16.0"

"@babel/helpers@^7.16.0", "@babel/helpers@^7.16.7":
"@babel/helpers@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc"
integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
Expand All @@ -381,7 +381,7 @@
"@babel/traverse" "^7.16.7"
"@babel/types" "^7.16.7"

"@babel/highlight@^7.16.0", "@babel/highlight@^7.16.7":
"@babel/highlight@^7.16.7":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b"
integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==
Expand All @@ -390,7 +390,7 @@
chalk "^2.0.0"
js-tokens "^4.0.0"

"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.4", "@babel/parser@^7.16.7", "@babel/parser@^7.16.8":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17"
integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==
Expand Down Expand Up @@ -1013,7 +1013,7 @@
"@babel/parser" "^7.16.7"
"@babel/types" "^7.16.7"

"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.16.7", "@babel/traverse@^7.7.2":
"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.7.2":
version "7.16.8"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c"
integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==
Expand Down Expand Up @@ -1205,27 +1205,27 @@
dependencies:
"@cspotcode/source-map-consumer" "0.8.0"

"@docsearch/css@3.0.0-alpha.34":
version "3.0.0-alpha.34"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.0.0-alpha.34.tgz#5d5c39955956e237884a9997eb29e28c8adc99fa"
integrity sha512-ZUbmxbN9gQp3vuBo9GDnm+ywB9aZQSh0ogjt6865PmeRUvyCCvgSwyZktliLPvAztoGX56qewQjxNcso3RrSow==
"@docsearch/css@3.0.0-alpha.42":
version "3.0.0-alpha.42"
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.0.0-alpha.42.tgz#deb6049e999d6ca9451eba4793cb5b6da28c8773"
integrity sha512-AGwI2AXUacYhVOHmYnsXoYDJKO6Ued2W+QO80GERbMLhC7GH5tfvtW5REs/s7jSdcU3vzFoxT8iPDBCh/PkrlQ==

"@docsearch/js@3.0.0-alpha.34":
version "3.0.0-alpha.34"
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.0.0-alpha.34.tgz#5c83a21b6f04bfb11fbf1d2a5175e6aa1365230f"
integrity sha512-6tQV/8FsDGo1tnubur0Rgh4dS1F5XU94WT0xfm628aSoQPizS7Q9ET+YJHzy40sIHlb4jI7v+bZwzo/D5fw/NA==
"@docsearch/js@3.0.0-alpha.42":
version "3.0.0-alpha.42"
resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.0.0-alpha.42.tgz#3cef648da141994c8bb1d0f13afbdb0a1e9d8daa"
integrity sha512-8rxxsvFKS5GzDX2MYMETeib4EOwAkoxVUHFP5R4tSENXojhuCEy3np+k3Q0c9WPT+MUmWLxKJab5jyl0jmaeBQ==
dependencies:
"@docsearch/react" "3.0.0-alpha.34"
"@docsearch/react" "3.0.0-alpha.42"
preact "^10.0.0"

"@docsearch/react@3.0.0-alpha.34":
version "3.0.0-alpha.34"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.0.0-alpha.34.tgz#fb7e31e31593c26dadb607b9451d274b84b0b05a"
integrity sha512-BBVxu2qY1fyhxJfrGZvknFL6j1fJ3wLZvf2DsmVfmihu/RhYYnf8/C1gbc7RWX2fSoSzbQCcSuNbn4RvjuUJ+A==
"@docsearch/react@3.0.0-alpha.42":
version "3.0.0-alpha.42"
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.0.0-alpha.42.tgz#1d22a2b05779f24d090ff8d7ff2699e4d50dff5c"
integrity sha512-1aOslZJDxwUUcm2QRNmlEePUgL8P5fOAeFdOLDMctHQkV2iTja9/rKVbkP8FZbIUnZxuuCCn8ErLrjD/oXWOag==
dependencies:
"@algolia/autocomplete-core" "1.0.0-alpha.44"
"@algolia/autocomplete-preset-algolia" "1.0.0-alpha.44"
"@docsearch/css" "3.0.0-alpha.34"
"@algolia/autocomplete-core" "1.5.0"
"@algolia/autocomplete-preset-algolia" "1.5.0"
"@docsearch/css" "3.0.0-alpha.42"
algoliasearch "^4.0.0"

"@eslint/eslintrc@^1.0.5":
Expand Down Expand Up @@ -3132,7 +3132,7 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==

acorn@^8.2.4, acorn@^8.4.1, acorn@^8.6.0, acorn@^8.7.0:
acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
Expand Down Expand Up @@ -3790,7 +3790,7 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e"
integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==

caniuse-lite@^1.0.30001280, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297:
caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297:
version "1.0.30001299"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz#d753bf6444ed401eb503cbbe17aa3e1451b5a68c"
integrity sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==
Expand Down Expand Up @@ -4749,7 +4749,7 @@ ejs@^3.1.6:
dependencies:
jake "^10.6.1"

electron-to-chromium@^1.3.896, electron-to-chromium@^1.4.17:
electron-to-chromium@^1.4.17:
version "1.4.43"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.43.tgz#665c0cd8d5e7cce0ba78d90a514c8c813ca3bdbe"
integrity sha512-PO3kEfcxPrti/4STbXvCkNIF4fgWvCKl2508e6UI7KomCDffpIfeBZLXsh5DK/XGsjUw3kwq6WEsi0MJTlGAdg==
Expand Down Expand Up @@ -8786,7 +8786,7 @@ pretty-error@^4.0.0:
lodash "^4.17.20"
renderkid "^3.0.0"

pretty-format@^27.0.0, pretty-format@^27.4.2, pretty-format@^27.4.6:
pretty-format@^27.0.0, pretty-format@^27.4.6:
version "27.4.6"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7"
integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==
Expand Down

0 comments on commit 47a0ef1

Please sign in to comment.