@vuepress-plume/plugin-search 1.0.0-rc.163 → 1.0.0-rc.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client/composables/index.js +3 -8
- package/lib/node/index.d.ts +7 -7
- package/lib/node/index.js +146 -146
- package/package.json +2 -2
|
@@ -30,14 +30,9 @@ const searchIndexData = shallowRef(searchIndex);
|
|
|
30
30
|
function useSearchIndex() {
|
|
31
31
|
return searchIndexData;
|
|
32
32
|
}
|
|
33
|
-
if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
};
|
|
37
|
-
__VUE_HMR_RUNTIME__.updateSearchIndex = (data) => {
|
|
38
|
-
searchIndexData.value = data;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
33
|
+
if (__VUEPRESS_DEV__ && (import.meta.webpackHot || import.meta.hot)) __VUE_HMR_RUNTIME__.updateSearchIndex = (data) => {
|
|
34
|
+
searchIndexData.value = data;
|
|
35
|
+
};
|
|
41
36
|
|
|
42
37
|
//#endregion
|
|
43
38
|
export { useLocale, useSearchIndex };
|
package/lib/node/index.d.ts
CHANGED
|
@@ -2,13 +2,6 @@ import { SearchOptions, SearchPluginOptions } from "../shared/index.js";
|
|
|
2
2
|
import { App, Plugin } from "vuepress/core";
|
|
3
3
|
export * from "../shared/index.js";
|
|
4
4
|
|
|
5
|
-
//#region src/node/searchPlugin.d.ts
|
|
6
|
-
declare function searchPlugin({
|
|
7
|
-
locales,
|
|
8
|
-
isSearchable,
|
|
9
|
-
...searchOptions
|
|
10
|
-
}?: SearchPluginOptions): Plugin;
|
|
11
|
-
//#endregion
|
|
12
5
|
//#region src/node/prepareSearchIndex.d.ts
|
|
13
6
|
interface SearchIndexOptions {
|
|
14
7
|
app: App;
|
|
@@ -21,4 +14,11 @@ declare function prepareSearchIndex({
|
|
|
21
14
|
searchOptions
|
|
22
15
|
}: SearchIndexOptions): Promise<void>;
|
|
23
16
|
//#endregion
|
|
17
|
+
//#region src/node/searchPlugin.d.ts
|
|
18
|
+
declare function searchPlugin({
|
|
19
|
+
locales,
|
|
20
|
+
isSearchable,
|
|
21
|
+
...searchOptions
|
|
22
|
+
}?: SearchPluginOptions): Plugin;
|
|
23
|
+
//#endregion
|
|
24
24
|
export { prepareSearchIndex, searchPlugin };
|
package/lib/node/index.js
CHANGED
|
@@ -1,154 +1,11 @@
|
|
|
1
|
-
import { addViteOptimizeDepsInclude, getFullLocaleConfig } from "@vuepress/helper";
|
|
2
|
-
import chokidar from "chokidar";
|
|
3
|
-
import { colors, getDirname, logger, path } from "vuepress/utils";
|
|
4
1
|
import MiniSearch from "minisearch";
|
|
5
2
|
import pMap from "p-map";
|
|
3
|
+
import { colors, getDirname, logger, path } from "vuepress/utils";
|
|
4
|
+
import { addViteOptimizeDepsInclude, getFullLocaleConfig } from "@vuepress/helper";
|
|
5
|
+
import chokidar from "chokidar";
|
|
6
6
|
|
|
7
7
|
export * from "../shared/index.js"
|
|
8
8
|
|
|
9
|
-
//#region src/node/locales/de.ts
|
|
10
|
-
const deSearchLocale = {
|
|
11
|
-
placeholder: "Dokumente durchsuchen",
|
|
12
|
-
resetButtonTitle: "Suche zurücksetzen",
|
|
13
|
-
backButtonTitle: "Schließen",
|
|
14
|
-
noResultsText: "Keine Suchergebnisse:",
|
|
15
|
-
footer: {
|
|
16
|
-
selectText: "Auswählen",
|
|
17
|
-
selectKeyAriaLabel: "Eingabe",
|
|
18
|
-
navigateText: "Wechseln",
|
|
19
|
-
navigateUpKeyAriaLabel: "Nach oben",
|
|
20
|
-
navigateDownKeyAriaLabel: "Nach unten",
|
|
21
|
-
closeText: "Schließen",
|
|
22
|
-
closeKeyAriaLabel: "Beenden"
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
|
-
//#region src/node/locales/en.ts
|
|
28
|
-
const enSearchLocale = {
|
|
29
|
-
placeholder: "Search",
|
|
30
|
-
resetButtonTitle: "Reset search",
|
|
31
|
-
backButtonTitle: "Close search",
|
|
32
|
-
noResultsText: "No results for",
|
|
33
|
-
footer: {
|
|
34
|
-
selectText: "to select",
|
|
35
|
-
selectKeyAriaLabel: "enter",
|
|
36
|
-
navigateText: "to navigate",
|
|
37
|
-
navigateUpKeyAriaLabel: "up arrow",
|
|
38
|
-
navigateDownKeyAriaLabel: "down arrow",
|
|
39
|
-
closeText: "to close",
|
|
40
|
-
closeKeyAriaLabel: "escape"
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
//#region src/node/locales/fr.ts
|
|
46
|
-
const frSearchLocale = {
|
|
47
|
-
placeholder: "Rechercher dans la documentation",
|
|
48
|
-
resetButtonTitle: "Réinitialiser la recherche",
|
|
49
|
-
backButtonTitle: "Fermer",
|
|
50
|
-
noResultsText: "Aucun résultat trouvé :",
|
|
51
|
-
footer: {
|
|
52
|
-
selectText: "sélectionner",
|
|
53
|
-
selectKeyAriaLabel: "Entrée",
|
|
54
|
-
navigateText: "naviguer",
|
|
55
|
-
navigateUpKeyAriaLabel: "haut",
|
|
56
|
-
navigateDownKeyAriaLabel: "bas",
|
|
57
|
-
closeText: "fermer",
|
|
58
|
-
closeKeyAriaLabel: "sortie"
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
//#endregion
|
|
63
|
-
//#region src/node/locales/ja.ts
|
|
64
|
-
const jaSearchLocale = {
|
|
65
|
-
placeholder: "ドキュメントを検索",
|
|
66
|
-
resetButtonTitle: "検索をリセット",
|
|
67
|
-
backButtonTitle: "閉じる",
|
|
68
|
-
noResultsText: "検索結果がありません:",
|
|
69
|
-
footer: {
|
|
70
|
-
selectText: "選択",
|
|
71
|
-
selectKeyAriaLabel: "入力",
|
|
72
|
-
navigateText: "切り替え",
|
|
73
|
-
navigateUpKeyAriaLabel: "上へ",
|
|
74
|
-
navigateDownKeyAriaLabel: "下へ",
|
|
75
|
-
closeText: "閉じる",
|
|
76
|
-
closeKeyAriaLabel: "終了"
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
//#endregion
|
|
81
|
-
//#region src/node/locales/ru.ts
|
|
82
|
-
const ruSearchLocale = {
|
|
83
|
-
placeholder: "Поиск по документации",
|
|
84
|
-
resetButtonTitle: "Сбросить поиск",
|
|
85
|
-
backButtonTitle: "Закрыть",
|
|
86
|
-
noResultsText: "Нет результатов поиска:",
|
|
87
|
-
footer: {
|
|
88
|
-
selectText: "Выбрать",
|
|
89
|
-
selectKeyAriaLabel: "Ввод",
|
|
90
|
-
navigateText: "Переключить",
|
|
91
|
-
navigateUpKeyAriaLabel: "Вверх",
|
|
92
|
-
navigateDownKeyAriaLabel: "Вниз",
|
|
93
|
-
closeText: "Закрыть",
|
|
94
|
-
closeKeyAriaLabel: "Выход"
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
//#endregion
|
|
99
|
-
//#region src/node/locales/zh-tw.ts
|
|
100
|
-
const zhTwSearchLocale = {
|
|
101
|
-
placeholder: "搜索文檔",
|
|
102
|
-
resetButtonTitle: "重置搜索",
|
|
103
|
-
backButtonTitle: "關閉",
|
|
104
|
-
noResultsText: "無搜索結果:",
|
|
105
|
-
footer: {
|
|
106
|
-
selectText: "選擇",
|
|
107
|
-
selectKeyAriaLabel: "輸入",
|
|
108
|
-
navigateText: "切換",
|
|
109
|
-
navigateUpKeyAriaLabel: "向上",
|
|
110
|
-
navigateDownKeyAriaLabel: "向下",
|
|
111
|
-
closeText: "關閉",
|
|
112
|
-
closeKeyAriaLabel: "退出"
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
//#endregion
|
|
117
|
-
//#region src/node/locales/zh.ts
|
|
118
|
-
const zhSearchLocale = {
|
|
119
|
-
placeholder: "搜索文档",
|
|
120
|
-
resetButtonTitle: "重置搜索",
|
|
121
|
-
backButtonTitle: "关闭",
|
|
122
|
-
noResultsText: "无搜索结果:",
|
|
123
|
-
footer: {
|
|
124
|
-
selectText: "选择",
|
|
125
|
-
selectKeyAriaLabel: "输入",
|
|
126
|
-
navigateText: "切换",
|
|
127
|
-
navigateUpKeyAriaLabel: "向上",
|
|
128
|
-
navigateDownKeyAriaLabel: "向下",
|
|
129
|
-
closeText: "关闭",
|
|
130
|
-
closeKeyAriaLabel: "退出"
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
//#endregion
|
|
135
|
-
//#region src/node/locales/index.ts
|
|
136
|
-
const SEARCH_LOCALES = [
|
|
137
|
-
[["en", "en-US"], enSearchLocale],
|
|
138
|
-
[[
|
|
139
|
-
"zh",
|
|
140
|
-
"zh-CN",
|
|
141
|
-
"zh-Hans",
|
|
142
|
-
"zh-Hant"
|
|
143
|
-
], zhSearchLocale],
|
|
144
|
-
[["zh-TW"], zhTwSearchLocale],
|
|
145
|
-
[["de", "de-DE"], deSearchLocale],
|
|
146
|
-
[["fr", "fr-FR"], frSearchLocale],
|
|
147
|
-
[["ru", "ru-RU"], ruSearchLocale],
|
|
148
|
-
[["ja", "ja-JP"], jaSearchLocale]
|
|
149
|
-
];
|
|
150
|
-
|
|
151
|
-
//#endregion
|
|
152
9
|
//#region src/node/prepareSearchIndex.ts
|
|
153
10
|
const SEARCH_INDEX_DIR = "internal/minisearchIndex/";
|
|
154
11
|
const indexByLocales = /* @__PURE__ */ new Map();
|
|
@@ -298,6 +155,149 @@ if (import.meta.hot) {
|
|
|
298
155
|
`;
|
|
299
156
|
}
|
|
300
157
|
|
|
158
|
+
//#endregion
|
|
159
|
+
//#region src/node/locales/de.ts
|
|
160
|
+
const deSearchLocale = {
|
|
161
|
+
placeholder: "Dokumente durchsuchen",
|
|
162
|
+
resetButtonTitle: "Suche zurücksetzen",
|
|
163
|
+
backButtonTitle: "Schließen",
|
|
164
|
+
noResultsText: "Keine Suchergebnisse:",
|
|
165
|
+
footer: {
|
|
166
|
+
selectText: "Auswählen",
|
|
167
|
+
selectKeyAriaLabel: "Eingabe",
|
|
168
|
+
navigateText: "Wechseln",
|
|
169
|
+
navigateUpKeyAriaLabel: "Nach oben",
|
|
170
|
+
navigateDownKeyAriaLabel: "Nach unten",
|
|
171
|
+
closeText: "Schließen",
|
|
172
|
+
closeKeyAriaLabel: "Beenden"
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
//#endregion
|
|
177
|
+
//#region src/node/locales/en.ts
|
|
178
|
+
const enSearchLocale = {
|
|
179
|
+
placeholder: "Search",
|
|
180
|
+
resetButtonTitle: "Reset search",
|
|
181
|
+
backButtonTitle: "Close search",
|
|
182
|
+
noResultsText: "No results for",
|
|
183
|
+
footer: {
|
|
184
|
+
selectText: "to select",
|
|
185
|
+
selectKeyAriaLabel: "enter",
|
|
186
|
+
navigateText: "to navigate",
|
|
187
|
+
navigateUpKeyAriaLabel: "up arrow",
|
|
188
|
+
navigateDownKeyAriaLabel: "down arrow",
|
|
189
|
+
closeText: "to close",
|
|
190
|
+
closeKeyAriaLabel: "escape"
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
//#endregion
|
|
195
|
+
//#region src/node/locales/fr.ts
|
|
196
|
+
const frSearchLocale = {
|
|
197
|
+
placeholder: "Rechercher dans la documentation",
|
|
198
|
+
resetButtonTitle: "Réinitialiser la recherche",
|
|
199
|
+
backButtonTitle: "Fermer",
|
|
200
|
+
noResultsText: "Aucun résultat trouvé :",
|
|
201
|
+
footer: {
|
|
202
|
+
selectText: "sélectionner",
|
|
203
|
+
selectKeyAriaLabel: "Entrée",
|
|
204
|
+
navigateText: "naviguer",
|
|
205
|
+
navigateUpKeyAriaLabel: "haut",
|
|
206
|
+
navigateDownKeyAriaLabel: "bas",
|
|
207
|
+
closeText: "fermer",
|
|
208
|
+
closeKeyAriaLabel: "sortie"
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region src/node/locales/ja.ts
|
|
214
|
+
const jaSearchLocale = {
|
|
215
|
+
placeholder: "ドキュメントを検索",
|
|
216
|
+
resetButtonTitle: "検索をリセット",
|
|
217
|
+
backButtonTitle: "閉じる",
|
|
218
|
+
noResultsText: "検索結果がありません:",
|
|
219
|
+
footer: {
|
|
220
|
+
selectText: "選択",
|
|
221
|
+
selectKeyAriaLabel: "入力",
|
|
222
|
+
navigateText: "切り替え",
|
|
223
|
+
navigateUpKeyAriaLabel: "上へ",
|
|
224
|
+
navigateDownKeyAriaLabel: "下へ",
|
|
225
|
+
closeText: "閉じる",
|
|
226
|
+
closeKeyAriaLabel: "終了"
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
//#endregion
|
|
231
|
+
//#region src/node/locales/ru.ts
|
|
232
|
+
const ruSearchLocale = {
|
|
233
|
+
placeholder: "Поиск по документации",
|
|
234
|
+
resetButtonTitle: "Сбросить поиск",
|
|
235
|
+
backButtonTitle: "Закрыть",
|
|
236
|
+
noResultsText: "Нет результатов поиска:",
|
|
237
|
+
footer: {
|
|
238
|
+
selectText: "Выбрать",
|
|
239
|
+
selectKeyAriaLabel: "Ввод",
|
|
240
|
+
navigateText: "Переключить",
|
|
241
|
+
navigateUpKeyAriaLabel: "Вверх",
|
|
242
|
+
navigateDownKeyAriaLabel: "Вниз",
|
|
243
|
+
closeText: "Закрыть",
|
|
244
|
+
closeKeyAriaLabel: "Выход"
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/node/locales/zh-tw.ts
|
|
250
|
+
const zhTwSearchLocale = {
|
|
251
|
+
placeholder: "搜索文檔",
|
|
252
|
+
resetButtonTitle: "重置搜索",
|
|
253
|
+
backButtonTitle: "關閉",
|
|
254
|
+
noResultsText: "無搜索結果:",
|
|
255
|
+
footer: {
|
|
256
|
+
selectText: "選擇",
|
|
257
|
+
selectKeyAriaLabel: "輸入",
|
|
258
|
+
navigateText: "切換",
|
|
259
|
+
navigateUpKeyAriaLabel: "向上",
|
|
260
|
+
navigateDownKeyAriaLabel: "向下",
|
|
261
|
+
closeText: "關閉",
|
|
262
|
+
closeKeyAriaLabel: "退出"
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
//#endregion
|
|
267
|
+
//#region src/node/locales/zh.ts
|
|
268
|
+
const zhSearchLocale = {
|
|
269
|
+
placeholder: "搜索文档",
|
|
270
|
+
resetButtonTitle: "重置搜索",
|
|
271
|
+
backButtonTitle: "关闭",
|
|
272
|
+
noResultsText: "无搜索结果:",
|
|
273
|
+
footer: {
|
|
274
|
+
selectText: "选择",
|
|
275
|
+
selectKeyAriaLabel: "输入",
|
|
276
|
+
navigateText: "切换",
|
|
277
|
+
navigateUpKeyAriaLabel: "向上",
|
|
278
|
+
navigateDownKeyAriaLabel: "向下",
|
|
279
|
+
closeText: "关闭",
|
|
280
|
+
closeKeyAriaLabel: "退出"
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
//#endregion
|
|
285
|
+
//#region src/node/locales/index.ts
|
|
286
|
+
const SEARCH_LOCALES = [
|
|
287
|
+
[["en", "en-US"], enSearchLocale],
|
|
288
|
+
[[
|
|
289
|
+
"zh",
|
|
290
|
+
"zh-CN",
|
|
291
|
+
"zh-Hans",
|
|
292
|
+
"zh-Hant"
|
|
293
|
+
], zhSearchLocale],
|
|
294
|
+
[["zh-TW"], zhTwSearchLocale],
|
|
295
|
+
[["de", "de-DE"], deSearchLocale],
|
|
296
|
+
[["fr", "fr-FR"], frSearchLocale],
|
|
297
|
+
[["ru", "ru-RU"], ruSearchLocale],
|
|
298
|
+
[["ja", "ja-JP"], jaSearchLocale]
|
|
299
|
+
];
|
|
300
|
+
|
|
301
301
|
//#endregion
|
|
302
302
|
//#region src/node/searchPlugin.ts
|
|
303
303
|
const __dirname = getDirname(import.meta.url);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vuepress-plume/plugin-search",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.0-rc.
|
|
4
|
+
"version": "1.0.0-rc.164",
|
|
5
5
|
"description": "The Plugin for VuePress 2 - local search",
|
|
6
6
|
"author": "pengzhanbo <volodymyr@foxmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"chokidar": "4.0.3",
|
|
41
41
|
"focus-trap": "^7.6.5",
|
|
42
42
|
"mark.js": "^8.11.1",
|
|
43
|
-
"minisearch": "^7.
|
|
43
|
+
"minisearch": "^7.2.0",
|
|
44
44
|
"p-map": "^7.0.3",
|
|
45
45
|
"vue": "^3.5.21"
|
|
46
46
|
},
|