mirror of
https://gitee.com/docsifyjs/docsify.git
synced 2024-12-02 12:10:04 +08:00
feat: Support search when there is no title (#1519)
* feat: Support search when there is no title * test: Support search when there is no title
This commit is contained in:
parent
abda30d336
commit
bc3726853f
@ -85,7 +85,7 @@ export function genIndex(path, content = '', router, depth) {
|
|||||||
let slug;
|
let slug;
|
||||||
let title = '';
|
let title = '';
|
||||||
|
|
||||||
tokens.forEach(token => {
|
tokens.forEach(function(token, tokenIndex) {
|
||||||
if (token.type === 'heading' && token.depth <= depth) {
|
if (token.type === 'heading' && token.depth <= depth) {
|
||||||
const { str, config } = getAndRemoveConfig(token.text);
|
const { str, config } = getAndRemoveConfig(token.text);
|
||||||
|
|
||||||
@ -106,6 +106,15 @@ export function genIndex(path, content = '', router, depth) {
|
|||||||
|
|
||||||
index[slug] = { slug, title: title, body: '' };
|
index[slug] = { slug, title: title, body: '' };
|
||||||
} else {
|
} else {
|
||||||
|
if (tokenIndex === 0) {
|
||||||
|
slug = router.toURL(path);
|
||||||
|
index[slug] = {
|
||||||
|
slug,
|
||||||
|
title: path !== '/' ? path.slice(1) : 'Home Page',
|
||||||
|
body: token.text || '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if (!slug) {
|
if (!slug) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -124,4 +124,36 @@ describe('Search Plugin Tests', function() {
|
|||||||
await page.fill('input[type=search]', 'estáticos');
|
await page.fill('input[type=search]', 'estáticos');
|
||||||
await expect(page).toEqualText('.results-panel h2', 'Que es');
|
await expect(page).toEqualText('.results-panel h2', 'Que es');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('search when there is no title', async () => {
|
||||||
|
const docsifyInitConfig = {
|
||||||
|
markdown: {
|
||||||
|
homepage: `
|
||||||
|
This is some description. We assume autoHeader added the # Title. A long paragraph.
|
||||||
|
`,
|
||||||
|
sidebar: `
|
||||||
|
- [Changelog](changelog)
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
routes: {
|
||||||
|
'/changelog.md': `
|
||||||
|
feat: Support search when there is no title
|
||||||
|
|
||||||
|
## Changelog Title
|
||||||
|
|
||||||
|
hello, this is a changelog
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
scriptURLs: ['/lib/plugins/search.min.js'],
|
||||||
|
};
|
||||||
|
await docsifyInit(docsifyInitConfig);
|
||||||
|
await page.fill('input[type=search]', 'paragraph');
|
||||||
|
await expect(page).toEqualText('.results-panel h2', 'Home Page');
|
||||||
|
await page.click('.clear-button');
|
||||||
|
await page.fill('input[type=search]', 'Support');
|
||||||
|
await expect(page).toEqualText('.results-panel h2', 'changelog');
|
||||||
|
await page.click('.clear-button');
|
||||||
|
await page.fill('input[type=search]', 'hello');
|
||||||
|
await expect(page).toEqualText('.results-panel h2', 'Changelog Title');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user