@@ -132,6 +132,18 @@ class Kunai {
132
132
return "/"
133
133
} ) ( )
134
134
135
+ // Determine the project website URL, which is assumed to be stored in
136
+ // <meta name="twietter:url" content="..." /> or in <meta property="og:url"
137
+ // content="..." />.
138
+ const project_base_url = ( ( ) => {
139
+ const meta = document . querySelector ( 'meta[name="twitter:url"]' ) || document . querySelector ( 'meta[property="og:url"]' )
140
+ if ( meta && meta . content ) {
141
+ const m = meta . content . toString ( ) . match ( / ^ h t t p s ? : \/ \/ [ ^ / ] * \/ / )
142
+ if ( m ) return m [ 0 ]
143
+ }
144
+ return null
145
+ } ) ( )
146
+
135
147
const database_url = ( ( ) => {
136
148
// Determine the location of the database file "crsearch.json".
137
149
const current_script = document . currentScript || document . querySelector ( 'script[src*="kunai/js/kunai.js"]' )
@@ -149,14 +161,9 @@ class Kunai {
149
161
const url = url_kunai . replace ( / \b k u n a i \/ j s \/ k u n a i \. j s ( [ ? # ] .* ) ? $ / , "crsearch/crsearch.js" )
150
162
if ( url != url_kunai ) return url
151
163
152
- // Try to download "crsearch.json" from the project website, which is
153
- // assumed to be stored in <meta name="twietter:url" content="..." />
154
- // or in <meta property="og:url" content="..." />.
155
- const meta = document . querySelector ( 'meta[name="twitter:url"]' ) || document . querySelector ( 'meta[property="og:url"]' )
156
- if ( meta && meta . content ) {
157
- const m = meta . content . toString ( ) . match ( / ^ h t t p s ? : \/ \/ [ ^ / ] * \/ / )
158
- if ( m ) return m [ 0 ] + "static/crsearch/crsearch.json"
159
- }
164
+ // Try to download "crsearch.json" from the project website.
165
+ if ( project_base_url )
166
+ return project_base_url + "static/crsearch/crsearch.json"
160
167
}
161
168
162
169
// Try to determine the position of crsearch.json
@@ -173,7 +180,8 @@ class Kunai {
173
180
174
181
let crs = new CRSearch ( {
175
182
onDatabase : this . onDatabase . bind ( this ) ,
176
- base_url : dynamic_base_url
183
+ base_url : dynamic_base_url ,
184
+ project_url : project_base_url
177
185
} )
178
186
crs . database ( database_url )
179
187
0 commit comments