From 7ef2d8d4f7a06a67f352cd0d3e7ad2cbb68f5441 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Mon, 30 May 2022 00:50:38 +0900 Subject: [PATCH 1/4] =?UTF-8?q?CRSearch:=20base=5Furl=E5=88=9D=E6=9C=9F?= =?UTF-8?q?=E5=8C=96=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/crsearch/crsearch.js | 3 +++ js/crsearch/index.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/js/crsearch/crsearch.js b/js/crsearch/crsearch.js index 9d56939..a599013 100644 --- a/js/crsearch/crsearch.js +++ b/js/crsearch/crsearch.js @@ -25,6 +25,7 @@ export default class CRSearch { }, google_url: new URL('https://www.google.co.jp/search'), force_new_window: false, + base_url: null, } static _KLASS = 'crsearch' @@ -118,6 +119,8 @@ export default class CRSearch { _parse(url, json) { this._log.info('parsing...', json) + if (this._opts.base_url) + json.base_url = this._opts.base_url const db = new Database(this._log, json) this._db.set(db.name, db) diff --git a/js/crsearch/index.js b/js/crsearch/index.js index 6a9c5d4..5380e1c 100644 --- a/js/crsearch/index.js +++ b/js/crsearch/index.js @@ -100,7 +100,7 @@ export default class Index { } url() { - return new URL(`/${this.fullpath}.html`, this._ns.base_url) + return new URL(`${this.fullpath}.html`, this._ns.base_url) } get ns() { From c8a7a3585907fd0bd6afc5f33b33aaa13bc903e4 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Mon, 6 Jun 2022 01:56:47 +0900 Subject: [PATCH 2/4] =?UTF-8?q?CRSearch:=20JSONP=E3=81=AB=E3=82=88?= =?UTF-8?q?=E3=82=8B=E8=AA=AD=E8=BE=BC=E3=81=AB=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/crsearch/crsearch.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/js/crsearch/crsearch.js b/js/crsearch/crsearch.js index a599013..826fe6f 100644 --- a/js/crsearch/crsearch.js +++ b/js/crsearch/crsearch.js @@ -99,10 +99,16 @@ export default class CRSearch { this._log.info(`fetching database (${i + 1}/${size}): ${url}`) try { - const data = await $.ajax({ + const ajaxSettings = { url: url, dataType: "json", - }) + } + if (/\.js([?#].*)?$/.test(url.toString())) { + ajaxSettings.dataType = "jsonp" + ajaxSettings.jsonpCallback = "callback" + ajaxSettings.crossDomain = true + } + const data = await $.ajax(ajaxSettings) this._log.info('fetched') this._parse(url, data) From 6f1b7143deca53fbdd3f17cc609e3cd33c218bc6 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 18 May 2024 00:19:25 +0900 Subject: [PATCH 3/4] =?UTF-8?q?CRSearch:=20=E3=82=AA=E3=83=B3=E3=83=A9?= =?UTF-8?q?=E3=82=A4=E3=83=B3URL=E5=88=9D=E6=9C=9F=E5=8C=96=E3=82=AA?= =?UTF-8?q?=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=20(Google=E6=A4=9C=E7=B4=A2=E5=AF=BE=E8=B1=A1=E3=82=B5?= =?UTF-8?q?=E3=82=A4=E3=83=88=E3=81=A8=E3=81=97=E3=81=A6=E4=BD=BF=E7=94=A8?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/crsearch/crsearch.js | 9 +++++++-- js/crsearch/database.js | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/js/crsearch/crsearch.js b/js/crsearch/crsearch.js index 826fe6f..c57974c 100644 --- a/js/crsearch/crsearch.js +++ b/js/crsearch/crsearch.js @@ -26,6 +26,7 @@ export default class CRSearch { google_url: new URL('https://www.google.co.jp/search'), force_new_window: false, base_url: null, + online_base_url: null, } static _KLASS = 'crsearch' @@ -127,6 +128,8 @@ export default class CRSearch { this._log.info('parsing...', json) if (this._opts.base_url) json.base_url = this._opts.base_url + if (this._opts.online_base_url) + json.online_base_url = this._opts.online_base_url const db = new Database(this._log, json) this._db.set(db.name, db) @@ -238,9 +241,10 @@ export default class CRSearch { for (const [name, db] of this._db) { // always include fallback + const fallback_site = db.online_base_url ? db.online_base_url.host : db.base_url.host const e = this._make_result(null, q.original_text, { name: db.name, - url: db.base_url.host, + url: fallback_site, }) e.attr('data-result-id', result_id++) result_list.append(e) @@ -275,7 +279,8 @@ export default class CRSearch { _make_google_url(q, site) { const url = this._opts.google_url - url.set('query', {q: `${q} site:${site}`}) + if (site != '') q = `${q} site:${site}` + url.set('query', {q: q}) return url } diff --git a/js/crsearch/database.js b/js/crsearch/database.js index e956803..e3dd32b 100644 --- a/js/crsearch/database.js +++ b/js/crsearch/database.js @@ -13,6 +13,7 @@ export default class Database { this._log = log.makeContext('Database') this._name = json.database_name this._base_url = new URL(json.base_url) + this._online_base_url = json.online_base_url ? new URL(json.online_base_url) : null this._path_ns_map = new Map this._ids = [] @@ -97,6 +98,10 @@ export default class Database { return this._base_url } + get online_base_url() { + return this._online_base_url + } + get all_fullpath_pages() { return this._all_fullpath_pages } From 0fab6a09a10f4074c1acb9262f1bef0308080773 Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sat, 18 May 2024 00:34:58 +0900 Subject: [PATCH 4/4] bump 3.0.23 --- CHANGELOG.md | 16 ++++++++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c3e0db..3b7b953 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ ## master +## 3.0.23 (2024-05-18) + +- "内部リンクを相対リンクで生成する機能"にまつわる修正を適用 + +## 3.0.22 (2022-11-06) + +- 依存ライブラリを修正 + +## 3.0.21 (2022-11-06) + +- 依存ライブラリを修正 + +## 3.0.20 (2022-11-06) + +- 依存ライブラリを修正 + ## 3.0.19 (2022-11-06) - 依存ライブラリを更新 diff --git a/package-lock.json b/package-lock.json index a9f4215..a422bd8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "crsearch", - "version": "3.0.22", + "version": "3.0.23", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 6372b4c..df747dd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "crsearch", - "version": "3.0.22", + "version": "3.0.23", "description": "cpprefjp / boostjp searcher", "main": "dist/js/crsearch.js", "module": "js/crsearch.js",