1
1
let INDEXS = { }
2
2
3
+ const LOCAL_STORAGE = {
4
+ EXPIRE_KEY : 'docsify.search.expires' ,
5
+ INDEX_KEY : 'docsify.search.index'
6
+ }
7
+
8
+ function resolveExpireKey ( namespace ) {
9
+ return namespace ? `${ LOCAL_STORAGE . EXPIRE_KEY } /${ namespace } ` : LOCAL_STORAGE . EXPIRE_KEY
10
+ }
11
+ function resolveIndexKey ( namespace ) {
12
+ return namespace ? `${ LOCAL_STORAGE . INDEX_KEY } /${ namespace } ` : LOCAL_STORAGE . INDEX_KEY
13
+ }
14
+
3
15
function escapeHtml ( string ) {
4
16
const entityMap = {
5
17
'&' : '&' ,
@@ -33,9 +45,9 @@ function getAllPaths(router) {
33
45
return paths
34
46
}
35
47
36
- function saveData ( maxAge ) {
37
- localStorage . setItem ( 'docsify.search.expires' , Date . now ( ) + maxAge )
38
- localStorage . setItem ( 'docsify.search.index' , JSON . stringify ( INDEXS ) )
48
+ function saveData ( maxAge , expireKey , indexKey ) {
49
+ localStorage . setItem ( expireKey , Date . now ( ) + maxAge )
50
+ localStorage . setItem ( indexKey , JSON . stringify ( INDEXS ) )
39
51
}
40
52
41
53
export function genIndex ( path , content = '' , router , depth ) {
@@ -149,9 +161,13 @@ export function search(query) {
149
161
150
162
export function init ( config , vm ) {
151
163
const isAuto = config . paths === 'auto'
152
- const isExpired = localStorage . getItem ( 'docsify.search.expires' ) < Date . now ( )
153
164
154
- INDEXS = JSON . parse ( localStorage . getItem ( 'docsify.search.index' ) )
165
+ const expireKey = resolveExpireKey ( config . namespace )
166
+ const indexKey = resolveIndexKey ( config . namespace )
167
+
168
+ const isExpired = localStorage . getItem ( expireKey ) < Date . now ( )
169
+
170
+ INDEXS = JSON . parse ( localStorage . getItem ( indexKey ) )
155
171
156
172
if ( isExpired ) {
157
173
INDEXS = { }
@@ -172,7 +188,7 @@ export function init(config, vm) {
172
188
. get ( vm . router . getFile ( path ) , false , vm . config . requestHeaders )
173
189
. then ( result => {
174
190
INDEXS [ path ] = genIndex ( path , result , vm . router , config . depth )
175
- len === ++ count && saveData ( config . maxAge )
191
+ len === ++ count && saveData ( config . maxAge , expireKey , indexKey )
176
192
} )
177
193
} )
178
194
}
0 commit comments