From 58fbca00ebd12f636c213d386761df9ebfb2bd4c Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Thu, 5 Nov 2020 03:04:19 +0200 Subject: [PATCH 1/4] fix: packages/docsify-server-renderer/package.json & packages/docsify-server-renderer/package-lock.json to reduce vulnerabilities (#1418) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-DOMPURIFY-1035544 --- packages/docsify-server-renderer/package-lock.json | 6 +++--- packages/docsify-server-renderer/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/docsify-server-renderer/package-lock.json b/packages/docsify-server-renderer/package-lock.json index 1777a4c8..7c84de66 100644 --- a/packages/docsify-server-renderer/package-lock.json +++ b/packages/docsify-server-renderer/package-lock.json @@ -45,9 +45,9 @@ } }, "dompurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", - "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.2.tgz", + "integrity": "sha512-BsGR4nDLaC5CNBnyT5I+d5pOeaoWvgVeg6Gq/aqmKYWMPR07131u60I80BvExLAJ0FQEIBQ1BTicw+C5+jOyrg==" }, "good-listener": { "version": "1.2.2", diff --git a/packages/docsify-server-renderer/package.json b/packages/docsify-server-renderer/package.json index fecc1ac2..8b1e0791 100644 --- a/packages/docsify-server-renderer/package.json +++ b/packages/docsify-server-renderer/package.json @@ -17,7 +17,7 @@ "dependencies": { "debug": "^4.3.0", "docsify": "^4.11.6", - "dompurify": "^2.1.1", + "dompurify": "^2.2.2", "node-fetch": "^2.6.0", "resolve-pathname": "^3.0.0" } From a2ebb2192ac73211a8924111d736df9574abf61b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E5=94=81?= <52o@qq52o.cn> Date: Sun, 8 Nov 2020 16:48:43 +0800 Subject: [PATCH 2/4] fix: search titles containing ignored characters (#1395) * fix: search titles containing ignored characters * fix * add default value * add test * fix test Co-authored-by: Koy --- src/plugins/search/search.js | 12 +++++++++++- test/e2e/search.test.js | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/src/plugins/search/search.js b/src/plugins/search/search.js index 5c7f38bc..aba15d0b 100644 --- a/src/plugins/search/search.js +++ b/src/plugins/search/search.js @@ -83,6 +83,7 @@ export function genIndex(path, content = '', router, depth) { const slugify = window.Docsify.slugify; const index = {}; let slug; + let title = ''; tokens.forEach(token => { if (token.type === 'heading' && token.depth <= depth) { @@ -94,7 +95,16 @@ export function genIndex(path, content = '', router, depth) { slug = router.toURL(path, { id: slugify(escapeHtml(token.text)) }); } - index[slug] = { slug, title: str, body: '' }; + if (str) { + title = str + .replace(//, '') + .replace(/{docsify-ignore}/, '') + .replace(//, '') + .replace(/{docsify-ignore-all}/, '') + .trim(); + } + + index[slug] = { slug, title: title, body: '' }; } else { if (!slug) { return; diff --git a/test/e2e/search.test.js b/test/e2e/search.test.js index 3866b425..a74f752c 100644 --- a/test/e2e/search.test.js +++ b/test/e2e/search.test.js @@ -35,4 +35,42 @@ describe('Search Plugin Tests', function() { await page.fill('input[type=search]', 'test'); await expect(page).toEqualText('.results-panel h2', 'Test Page'); }); + + test('search ignore title', async () => { + const docsifyInitConfig = { + markdown: { + homepage: ` + # Hello World + + This is the homepage. + `, + sidebar: ` + - [Home page](/) + - [GitHub Pages](github) + `, + }, + routes: { + '/github.md': ` + # GitHub Pages + + This is the GitHub Pages. + + ## GitHub Pages ignore1 + + There're three places to populate your docs for your Github repository1. + + ## GitHub Pages ignore2 {docsify-ignore} + + There're three places to populate your docs for your Github repository2. + `, + }, + scriptURLs: ['/lib/plugins/search.min.js'], + }; + await docsifyInit(docsifyInitConfig); + await page.fill('input[type=search]', 'repository1'); + await expect(page).toEqualText('.results-panel h2', 'GitHub Pages ignore1'); + await page.click('.clear-button'); + await page.fill('input[type=search]', 'repository2'); + await expect(page).toEqualText('.results-panel h2', 'GitHub Pages ignore2'); + }); }); From e75a19ca0519296b64c5b2f2504194c9190dc6f6 Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Sat, 14 Nov 2020 11:06:59 +0200 Subject: [PATCH 3/4] [Snyk] Upgrade marked from 1.2.0 to 1.2.2 (#1425) * fix: upgrade marked from 1.2.0 to 1.2.2 Snyk has created this PR to upgrade marked from 1.2.0 to 1.2.2. See this package in npm: https://www.npmjs.com/package/marked See this project in Snyk: https://app.snyk.io/org/anikethsaha/project/836f877b-b98e-47ed-89fc-554e9b2e146d?utm_source=github&utm_medium=upgrade-pr * Update vue Co-authored-by: sy-records <52o@qq52o.cn> --- package-lock.json | 97 ++++++++++++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 58 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ba67dc5..04a8b7eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4341,18 +4341,35 @@ } }, "@vue/compiler-core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.0.tgz", - "integrity": "sha512-XqPC7vdv4rFE77S71oCHmT1K4Ks3WE2Gi6Lr4B5wn0Idmp+NyQQBUHsCNieMDRiEpgtJrw+yOHslrsV0AfAsfQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.2.tgz", + "integrity": "sha512-GOlEMTlC/OdzBkKaKOniYErbkjoKxkBOmulxGmMR10I2JJX6TvXd/peaO/kla2xhpliV/M6Z4TLJp0yjAvRIAw==", "dev": true, "requires": { - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", - "@vue/shared": "3.0.0", + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.0.2", "estree-walker": "^2.0.1", "source-map": "^0.6.1" }, "dependencies": { + "@babel/parser": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", + "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", + "dev": true + }, + "@babel/types": { + "version": "7.12.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", + "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, "estree-walker": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", @@ -4368,49 +4385,49 @@ } }, "@vue/compiler-dom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.0.tgz", - "integrity": "sha512-ukDEGOP8P7lCPyStuM3F2iD5w2QPgUu2xwCW2XNeqPjFKIlR2xMsWjy4raI/cLjN6W16GtlMFaZdK8tLj5PRog==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.2.tgz", + "integrity": "sha512-jvaL4QF2yXBJVD+JLbM2YA3e5fNfflJnfQ+GtfYk46ENGsEetqbkZqcX7fO+RHdG8tZBo7LCNBvgD0QLr+V4sg==", "dev": true, "requires": { - "@vue/compiler-core": "3.0.0", - "@vue/shared": "3.0.0" + "@vue/compiler-core": "3.0.2", + "@vue/shared": "3.0.2" } }, "@vue/reactivity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.0.tgz", - "integrity": "sha512-mEGkztGQrAPZRhV7C6PorrpT3+NtuA4dY2QjMzzrW31noKhssWTajRZTwpLF39NBRrF5UU6cp9+1I0FfavMgEQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.2.tgz", + "integrity": "sha512-GdRloNcBar4yqWGXOcba1t//j/WizwfthfPUYkjcIPHjYnA/vTEQYp0C9+ZjPdinv1WRK1BSMeN/xj31kQES4A==", "dev": true, "requires": { - "@vue/shared": "3.0.0" + "@vue/shared": "3.0.2" } }, "@vue/runtime-core": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.0.tgz", - "integrity": "sha512-3ABMLeA0ZbeVNLbGGLXr+pNUwqXILOqz8WCVGfDWwQb+jW114Cm8djOHVVDoqdvRETQvDf8yHSUmpKHZpQuTkA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.2.tgz", + "integrity": "sha512-3m/jOs2xSipEFah9FgpEzvC9nERFonVGLN06+pf8iYPIy54Nlv7D2cyrk3Lhbjz4w3PbIrkxJnoTJYvJM7HDfA==", "dev": true, "requires": { - "@vue/reactivity": "3.0.0", - "@vue/shared": "3.0.0" + "@vue/reactivity": "3.0.2", + "@vue/shared": "3.0.2" } }, "@vue/runtime-dom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.0.tgz", - "integrity": "sha512-f312n5w9gK6mVvkDSj6/Xnot1XjlKXzFBYybmoy6ahAVC8ExbQ+LOWti1IZM/adU8VMNdKaw7Q53Hxz3y5jX8g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.2.tgz", + "integrity": "sha512-vqC1KK1yWthTw1FKzajT0gYQaEqAq7bpeeXQC473nllGC5YHbJhNAJLSmrDun1tjXqGF0UNCWYljYm+++BJv6w==", "dev": true, "requires": { - "@vue/runtime-core": "3.0.0", - "@vue/shared": "3.0.0", + "@vue/runtime-core": "3.0.2", + "@vue/shared": "3.0.2", "csstype": "^2.6.8" } }, "@vue/shared": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.0.tgz", - "integrity": "sha512-4XWL/avABGxU2E2ZF1eZq3Tj7fvksCMssDZUHOykBIMmh5d+KcAnQMC5XHMhtnA0NAvktYsA2YpdsVwVmhWzvA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.2.tgz", + "integrity": "sha512-Zx869zlNoujFOclKIoYmkh8ES2RcS/+Jn546yOiPyZ+3+Ejivnr+fb8l+DdXUEFjo+iVDNR3KyLzg03aBFfZ4Q==", "dev": true }, "@zkochan/cmd-shim": { @@ -6844,9 +6861,9 @@ } }, "csstype": { - "version": "2.6.13", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.13.tgz", - "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.14.tgz", + "integrity": "sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A==", "dev": true }, "currently-unhandled": { @@ -13709,9 +13726,9 @@ } }, "marked": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.0.tgz", - "integrity": "sha512-tiRxakgbNPBr301ihe/785NntvYyhxlqcL3YaC8CaxJQh7kiaEtrN9B/eK2I2943Yjkh5gw25chYFDQhOMCwMA==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.2.tgz", + "integrity": "sha512-5jjKHVl/FPo0Z6ocP3zYhKiJLzkwJAw4CZoLjv57FkvbUuwOX4LIBBGGcXjAY6ATcd1q9B8UTj5T9Umauj0QYQ==" }, "mdn-data": { "version": "2.0.4", @@ -19322,14 +19339,14 @@ "dev": true }, "vue3": { - "version": "npm:vue@3.0.0", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.0.tgz", - "integrity": "sha512-ZMrAARZ32sGIaYKr7Fk2GZEBh/VhulSrGxcGBiAvbN4fhjl3tuJyNFbbbLFqGjndbLoBW66I2ECq8ICdvkKdJw==", + "version": "npm:vue@3.0.2", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.2.tgz", + "integrity": "sha512-ciKFjutKRs+2Vbvgrist1oDd5wZQqtOel/K//ku54zLbf8tcTV+XbyAfanTHcTkML9CUj09vnC+y+5uaOz2/9g==", "dev": true, "requires": { - "@vue/compiler-dom": "3.0.0", - "@vue/runtime-dom": "3.0.0", - "@vue/shared": "3.0.0" + "@vue/compiler-dom": "3.0.2", + "@vue/runtime-dom": "3.0.2", + "@vue/shared": "3.0.2" } }, "w3c-hr-time": { diff --git a/package.json b/package.json index 2572f779..48f66873 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "dompurify": "^2.0.8", - "marked": "^1.1.1", + "marked": "^1.2.2", "medium-zoom": "^1.0.6", "opencollective-postinstall": "^2.0.2", "prismjs": "^1.21.0", From 69b6907c864dbcdf1fe5c75f51a80e6ae6ec279d Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Mon, 16 Nov 2020 08:18:03 +0200 Subject: [PATCH 4/4] fix: package.json & package-lock.json to reduce vulnerabilities (#1419) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-DOMPURIFY-1035544 Co-authored-by: 沈唁 <52o@qq52o.cn> --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 04a8b7eb..474a084f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7215,9 +7215,9 @@ } }, "dompurify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz", - "integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.2.tgz", + "integrity": "sha512-BsGR4nDLaC5CNBnyT5I+d5pOeaoWvgVeg6Gq/aqmKYWMPR07131u60I80BvExLAJ0FQEIBQ1BTicw+C5+jOyrg==" }, "domutils": { "version": "1.7.0", diff --git a/package.json b/package.json index 48f66873..a1ec998e 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "*.js": "eslint --fix" }, "dependencies": { - "dompurify": "^2.0.8", + "dompurify": "^2.2.2", "marked": "^1.2.2", "medium-zoom": "^1.0.6", "opencollective-postinstall": "^2.0.2",