Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions src/Page.js
Original file line number Diff line number Diff line change
Expand Up @@ -343,17 +343,6 @@ class Page {
.text());
}

/**
* Concatenates keywords in this.keywords to heading text in this.headings
*/
concatenateHeadingsAndKeywords() {
Object.keys(this.keywords)
.forEach((headingId) => {
const keywordString = this.keywords[headingId].join(', ');
this.headings[headingId] += ` | ${keywordString}`;
});
}

/**
* Records the dynamic or static included files into this.includedFiles
* @param dependencies array of maps of the external dependency and where it is included
Expand Down
7 changes: 5 additions & 2 deletions src/Site.js
Original file line number Diff line number Diff line change
Expand Up @@ -846,7 +846,6 @@ class Site {
this.pages.forEach((page) => {
if (generateForAllPages || filePaths.some(filePath => page.includedFiles.has(filePath))) {
page.collectHeadingsAndKeywords();
page.concatenateHeadingsAndKeywords();
}
});
this.writeSiteData();
Expand Down Expand Up @@ -914,7 +913,11 @@ class Site {
const siteData = {
enableSearch: this.siteConfig.enableSearch,
pages: this.pages.filter(page => page.searchable)
.map(page => ({ headings: page.headings, ...page.frontMatter })),
.map(page => ({
...page.frontMatter,
headings: page.headings,
headingKeywords: page.keywords,
})),
};

fs.outputJsonAsync(siteDataPath, siteData)
Expand Down
187 changes: 116 additions & 71 deletions test/functional/test_site/expected/siteData.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,38 @@
"enableSearch": true,
"pages": [
{
"headings": {},
"title": "Open Bugs",
"header": "header.md",
"src": "bugs/index.md",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"title": "Hello World",
"header": "header.md",
"footer": "footer.md",
"siteNav": "site-nav.md",
"pageNav": "default",
"pageNavTitle": "Testing Page Navigation",
"globalOverrideProperty": "Overridden by global override",
"frontMatterOverrideProperty": "Overridden by front matter override",
"globalAndFrontMatterOverrideProperty": "Overridden by front matter override",
"head": "myCustomHead.md, myCustomHead2.md",
"tags": [
"tag-frontmatter-shown",
"tag-included-file",
"+tag-exp*",
"-tag-exp-hidden",
"-tag-site-override-shown",
"-tag-site-override-specific*"
],
"src": "index.md",
"layout": "default",
"headings": {
"panel-with-heading": "Panel with heading | panel keyword",
"panel-with-heading": "Panel with heading",
"panel-without-heading-with-keyword": "Panel without heading with keyword",
"panel-with-heading-with-keyword": "Panel with heading with keyword",
"panel-without-src-header": "Panel without src header",
Expand All @@ -25,7 +46,7 @@
"panel-with-src-from-another-markbind-site-header": "Panel with src from another Markbind site header",
"panel-with-src-from-another-markbind-site-header-2": "Panel with src from another Markbind site header",
"unexpanded-panel-header": "Unexpanded panel header",
"keyword-should-be-tagged-to-this-heading-not-the-panel-heading": "Keyword should be tagged to this heading, not the panel heading | panel keyword",
"keyword-should-be-tagged-to-this-heading-not-the-panel-heading": "Keyword should be tagged to this heading, not the panel heading",
"panel-normal-source-content-headings": "Panel normal source content headings",
"panel-source-segment-content-headings": "Panel source segment content headings",
"boilerplate-test-for-panel-heading": "boilerplate test for panel heading",
Expand All @@ -34,112 +55,135 @@
"normal-panel-content-heading": "Normal panel content heading",
"inner-panel-header-without-src": "Inner panel header without src",
"feature-list": "Feature list",
"heading-with-multiple-keywords": "Heading with multiple keywords | keyword 1, keyword 2",
"heading-with-keyword-in-panel": "Heading with keyword in panel | panel keyword",
"keyword-should-be-tagged-to-the-panel-heading-not-this-heading": "Keyword should be tagged to the panel heading, not this heading | panel keyword",
"heading-with-included-keyword": "Heading with included keyword | included keyword",
"included-heading": "Included Heading | Keyword with included heading",
"heading-with-nested-keyword": "Heading with nested keyword | nested keyword",
"heading-with-hidden-keyword": "Heading with hidden keyword | invisible keyword",
"heading-with-multiple-keywords": "Heading with multiple keywords",
"heading-with-keyword-in-panel": "Heading with keyword in panel",
"keyword-should-be-tagged-to-the-panel-heading-not-this-heading": "Keyword should be tagged to the panel heading, not this heading",
"heading-with-included-keyword": "Heading with included keyword",
"included-heading": "Included Heading",
"heading-with-nested-keyword": "Heading with nested keyword",
"heading-with-hidden-keyword": "Heading with hidden keyword",
"establishing-requirements": "Establishing Requirements",
"brainstorming": "Brainstorming",
"user-surveys": "User surveys",
"focus-groups": "Focus groups",
"markbind-plugin-pre-render": "Markbind Plugin Pre-render",
"level-6-header-outside-headingsearchindex-with-always-index-attribute-should-be-indexed": "Level 6 header (outside headingSearchIndex) with always-index attribute should be indexed"
},
"title": "Hello World",
"header": "header.md",
"footer": "footer.md",
"siteNav": "site-nav.md",
"pageNav": "default",
"pageNavTitle": "Testing Page Navigation",
"globalOverrideProperty": "Overridden by global override",
"frontMatterOverrideProperty": "Overridden by front matter override",
"globalAndFrontMatterOverrideProperty": "Overridden by front matter override",
"head": "myCustomHead.md, myCustomHead2.md",
"tags": [
"tag-frontmatter-shown",
"tag-included-file",
"+tag-exp*",
"-tag-exp-hidden",
"-tag-site-override-shown",
"-tag-site-override-specific*"
],
"src": "index.md",
"layout": "default"
"headingKeywords": {
"heading-with-keyword-in-panel": [
"panel keyword"
],
"panel-with-heading": [
"panel keyword"
],
"keyword-should-be-tagged-to-this-heading-not-the-panel-heading": [
"panel keyword"
],
"heading-with-multiple-keywords": [
"keyword 1",
"keyword 2"
],
"keyword-should-be-tagged-to-the-panel-heading-not-this-heading": [
"panel keyword"
],
"heading-with-included-keyword": [
"included keyword"
],
"included-heading": [
"Keyword with included heading"
],
"heading-with-nested-keyword": [
"nested keyword"
],
"heading-with-hidden-keyword": [
"invisible keyword"
]
}
},
{
"headings": {
"feature-list": "Feature list"
},
"src": "sub_site/index.md",
"title": "",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
},
{
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {
"some-heading": "Some heading"
"feature-list": "Feature list"
},
"headingKeywords": {}
},
{
"src": "test_md_fragment.md",
"title": "",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {
"some-heading": "Some heading"
},
"headingKeywords": {}
},
{
"headings": {},
"layout": "testAfterSetup",
"src": "testAfterSetup.md",
"title": "Hello World",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"src": "testEmptyFrontmatter.md",
"title": "Hello World",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"src": "testExternalScripts.md",
"title": "Hello World",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"title": "Hello World",
"head": "overwriteLayoutHead.md",
"layout": "testLayout",
"src": "testLayouts.md",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"title": "Hello World",
"head": "overwriteLayoutHead.md",
"layout": "testLayout",
"src": "testLayoutsOverride.md",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"src": "testAntiFOUCStyles.md",
"title": "Hello World",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"title": "Anchor Generation Test",
"src": "testAnchorGeneration.md",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {
"should-have-anchor-7": "should have anchor",
"should-have-anchor-20": "should have anchor",
Expand All @@ -162,56 +206,57 @@
"should-have-anchor-16": "should have anchor",
"should-have-anchor-17": "should have anchor"
},
"title": "Anchor Generation Test",
"src": "testAnchorGeneration.md",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"headingKeywords": {}
},
{
"headings": {
"569-stray-space-after-tooltip": "569: Stray space after tooltip"
},
"src": "testTooltipSpacing.mbd",
"title": "Tooltip Spacing Test",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {
"569-stray-space-after-tooltip": "569: Stray space after tooltip"
},
"headingKeywords": {}
},
{
"headings": {},
"src": "testThumbnails.md",
"title": "Thumbnails Test",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {},
"src": "testPlantUML.md",
"title": "PlantUML Test",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
},
{
"headings": {
"trying-to-access-a-page-variable": "Trying to access a page variable:",
"trying-to-access-an-imported-variable-via-namespace": "Trying to access an imported variable via namespace:"
},
"src": "testImportVariables.md",
"title": "Imported Variables Test",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {
"trying-to-access-a-page-variable": "Trying to access a page variable:",
"trying-to-access-an-imported-variable-via-namespace": "Trying to access an imported variable via namespace:"
},
"headingKeywords": {}
},
{
"headings": {},
"src": "testPanelsWithImportedVariables.md",
"title": "Panels with Imported Variables Test",
"layout": "default",
"globalOverrideProperty": "Overridden by global override",
"globalAndFrontMatterOverrideProperty": "Overridden by global override"
"globalAndFrontMatterOverrideProperty": "Overridden by global override",
"headings": {},
"headingKeywords": {}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
"enableSearch": true,
"pages": [
{
"headings": {},
"title": "Hello World",
"footer": "footer.md",
"siteNav": "site-nav.md",
"src": "index.md",
"layout": "default"
"layout": "default",
"headings": {},
"headingKeywords": {}
}
]
}
Loading