Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit a2ebb21
Author: 沈唁 <52o@qq52o.cn>
Date:   Sun Nov 8 16:48:43 2020 +0800

    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 <koy@ko8e24.top>

commit 58fbca0
Author: Snyk bot <snyk-bot@snyk.io>
Date:   Thu Nov 5 03:04:19 2020 +0200

    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
  • Loading branch information
jhildenbiddle committed Nov 11, 2020
1 parent a5a431f commit 4e5dae7
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 5 deletions.
6 changes: 3 additions & 3 deletions packages/docsify-server-renderer/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/docsify-server-renderer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
Expand Down
12 changes: 11 additions & 1 deletion src/plugins/search/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand All @@ -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(/<!-- {docsify-ignore} -->/, '')
.replace(/{docsify-ignore}/, '')
.replace(/<!-- {docsify-ignore-all} -->/, '')
.replace(/{docsify-ignore-all}/, '')
.trim();
}

index[slug] = { slug, title: title, body: '' };
} else {
if (!slug) {
return;
Expand Down
38 changes: 38 additions & 0 deletions test/e2e/search.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 <!-- {docsify-ignore} -->
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');
});
});

0 comments on commit 4e5dae7

Please sign in to comment.