mirror of
https://gitee.com/docsifyjs/docsify.git
synced 2024-11-30 02:58:37 +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 title = '';
|
||||
|
||||
tokens.forEach(token => {
|
||||
tokens.forEach(function(token, tokenIndex) {
|
||||
if (token.type === 'heading' && token.depth <= depth) {
|
||||
const { str, config } = getAndRemoveConfig(token.text);
|
||||
|
||||
@ -106,6 +106,15 @@ export function genIndex(path, content = '', router, depth) {
|
||||
|
||||
index[slug] = { slug, title: title, body: '' };
|
||||
} else {
|
||||
if (tokenIndex === 0) {
|
||||
slug = router.toURL(path);
|
||||
index[slug] = {
|
||||
slug,
|
||||
title: path !== '/' ? path.slice(1) : 'Home Page',
|
||||
body: token.text || '',
|
||||
};
|
||||
}
|
||||
|
||||
if (!slug) {
|
||||
return;
|
||||
}
|
||||
|
@ -124,4 +124,36 @@ describe('Search Plugin Tests', function() {
|
||||
await page.fill('input[type=search]', 'estáticos');
|
||||
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