diff --git a/src/Page.js b/src/Page.js index 9b007a1602..59a67e7a1f 100644 --- a/src/Page.js +++ b/src/Page.js @@ -273,10 +273,9 @@ class Page { : this.title; // construct temporary asset object with only POSIX-style paths const asset = {}; - Object.entries(this.asset) - .forEach(([key, value]) => { - asset[key] = _.isString(value) ? ensurePosix(value) : value; - }); + Object.entries(this.asset).forEach(([key, value]) => { + asset[key] = _.isString(value) ? ensurePosix(value) : value; + }); return { asset, baseUrl: this.baseUrl, @@ -386,8 +385,7 @@ class Page { this.headings = {}; this.keywords = {}; // Collect headings and keywords - this.collectHeadingsAndKeywordsInContent($(`#${CONTENT_WRAPPER_ID}`) - .html(), null, false, []); + this.collectHeadingsAndKeywordsInContent($(`#${CONTENT_WRAPPER_ID}`).html(), null, false, []); } /** @@ -434,10 +432,11 @@ class Page { const src = panel.attribs.src.split('#')[0]; const buildInnerDir = path.dirname(this.sourcePath); const resultInnerDir = path.dirname(this.resultPath); - const includeRelativeToBuildRootDirPath - = this.baseUrl ? path.relative(this.baseUrl, src) : src.substring(1); - const includeAbsoluteToBuildRootDirPath - = path.resolve(this.rootPath, includeRelativeToBuildRootDirPath); + const includeRelativeToBuildRootDirPath = this.baseUrl + ? path.relative(this.baseUrl, src) + : src.substring(1); + const includeAbsoluteToBuildRootDirPath = path.resolve(this.rootPath, + includeRelativeToBuildRootDirPath); const includeRelativeToInnerDirPath = path.relative(buildInnerDir, includeAbsoluteToBuildRootDirPath); const includePath = path.resolve(resultInnerDir, includeRelativeToInnerDirPath); @@ -449,55 +448,37 @@ class Page { } if (panel.attribs.fragment) { $ = cheerio.load(includeContent); - this.collectHeadingsAndKeywordsInContent( - $(`#${panel.attribs.fragment}`) - .html(), - closestHeading, - shouldExcludeHeadings, - childSourceTraversalStack); + this.collectHeadingsAndKeywordsInContent($(`#${panel.attribs.fragment}`).html(), closestHeading, + shouldExcludeHeadings, childSourceTraversalStack); } else { - this.collectHeadingsAndKeywordsInContent( - includeContent, - closestHeading, - shouldExcludeHeadings, - childSourceTraversalStack); + this.collectHeadingsAndKeywordsInContent(includeContent, closestHeading, shouldExcludeHeadings, + childSourceTraversalStack); } } else { - this.collectHeadingsAndKeywordsInContent( - $(panel) - .html(), - closestHeading, - shouldExcludeHeadings, - sourceTraversalStack); + this.collectHeadingsAndKeywordsInContent($(panel).html(), closestHeading, + shouldExcludeHeadings, sourceTraversalStack); } }); $ = cheerio.load(content); if (this.headingIndexingLevel > 0) { - $('modal') - .remove(); - $('panel') - .remove(); + $('modal').remove(); + $('panel').remove(); if (!excludeHeadings) { - $(headingsSelector) - .each((i, heading) => { - this.headings[$(heading) - .attr('id')] = $(heading) - .text(); - }); + $(headingsSelector).each((i, heading) => { + this.headings[$(heading).attr('id')] = $(heading).text(); + }); } - $('.keyword') - .each((i, keyword) => { - let closestHeading = Page.getClosestHeading($, headingsSelector, keyword); - if (excludeHeadings || !closestHeading) { - if (!lastHeading) { - logger.warn(`Missing heading for keyword: ${$(keyword) - .text()}`); - return; - } - closestHeading = lastHeading; + $('.keyword').each((i, keyword) => { + let closestHeading = Page.getClosestHeading($, headingsSelector, keyword); + if (excludeHeadings || !closestHeading) { + if (!lastHeading) { + logger.warn(`Missing heading for keyword: ${$(keyword).text()}`); + return; } - this.linkKeywordToHeading($, keyword, closestHeading); - }); + closestHeading = lastHeading; + } + this.linkKeywordToHeading($, keyword, closestHeading); + }); } } @@ -508,13 +489,11 @@ class Page { * @param heading to link */ linkKeywordToHeading($, keyword, heading) { - const headingId = $(heading) - .attr('id'); + const headingId = $(heading).attr('id'); if (!(headingId in this.keywords)) { this.keywords[headingId] = []; } - this.keywords[headingId].push($(keyword) - .text()); + this.keywords[headingId].push($(keyword).text()); } /** @@ -532,8 +511,7 @@ class Page { collectFrontMatter(includedPage) { const $ = cheerio.load(includedPage); const frontMatter = $('frontmatter'); - if (frontMatter.text() - .trim()) { + if (frontMatter.text().trim()) { // Retrieves the front matter from either the first frontmatter element // or from a frontmatter element that includes from another file // The latter case will result in the data being wrapped in a div @@ -598,8 +576,7 @@ class Page { const layoutFileConfig = { ...fileConfig, cwf: layoutPagePath, - additionalVariables: { - }, + additionalVariables: {}, }; layoutFileConfig.additionalVariables[LAYOUT_PAGE_BODY_VARIABLE] = `{{${LAYOUT_PAGE_BODY_VARIABLE}}}`; @@ -724,21 +701,14 @@ class Page { if (siteNavDataSelector('navigation').length > 1) { throw new Error(`More than one tag found in ${siteNavPath}`); } else if (siteNavDataSelector('navigation').length === 1) { - const siteNavHtml - = md.render(siteNavDataSelector('navigation') - .html() - .trim() - .replace(/\n\s*\n/g, '\n')); + const siteNavHtml = md.render( + siteNavDataSelector('navigation').html().trim().replace(/\n\s*\n/g, '\n')); // Add Bootstrap padding class to rendered unordered list const siteNavHtmlSelector = cheerio.load(siteNavHtml, { xmlMode: false }); - siteNavHtmlSelector('ul') - .first() - .addClass('px-0'); - siteNavHtmlSelector('ul ul') - .addClass('pl-3'); + siteNavHtmlSelector('ul').first().addClass('px-0'); + siteNavHtmlSelector('ul ul').addClass('pl-3'); const formattedSiteNav = Page.formatSiteNav(siteNavHtmlSelector.html(), this.src); - siteNavDataSelector('navigation') - .replaceWith(formattedSiteNav); + siteNavDataSelector('navigation').replaceWith(formattedSiteNav); } // Wrap sections const wrappedSiteNav = `