5 changed files with 5 additions and 106 deletions
@ -1,65 +0,0 @@
@@ -1,65 +0,0 @@
|
||||
{ |
||||
"index_name": "spring-security-docs", |
||||
"start_urls": [ |
||||
{{#each latestVersions}} |
||||
{ |
||||
"url": "{{{@root.site.url}}}/{{#if (eq ./activeVersionSegment '')}}(?:$|index.html$|[a-z].*){{else}}{{{./activeVersionSegment}}}/{{/if}}", |
||||
"extra_attributes": { |
||||
"component": "{{#if (eq ./name 'ROOT')}}security{{else}}{{{./name}}}{{/if}}", |
||||
"version": "{{{./version}}}", |
||||
"version_rank": {{#if (eq ./activeVersionSegment '')}}1{{else}}2{{/if}} |
||||
} |
||||
}{{#unless @last}},{{/unless}} |
||||
{{/each}} |
||||
], |
||||
"sitemap_urls": [ |
||||
"{{{site.url}}}/sitemap.xml" |
||||
], |
||||
"scrape_start_urls": true, |
||||
"stop_urls": [ |
||||
{{#each stopPages}} |
||||
"{{{@root.site.url}}}{{{./pub.url}}}"{{#unless @last}},{{/unless}} |
||||
{{/each}} |
||||
], |
||||
"selectors": { |
||||
"default": { |
||||
"lvl0": { |
||||
"global": true, |
||||
"selector": ".nav-panel-explore .context .title, .nav-panel-explore .context .version" |
||||
}, |
||||
"lvl1": ".doc > h1.page", |
||||
"lvl2": ".doc .sect1 > h2:first-child", |
||||
"lvl3": ".doc .sect2 > h3:first-child", |
||||
"lvl4": ".doc .sect3 > h4:first-child", |
||||
"text": ".doc p, .doc dt, .doc td.content, .doc th.tableblock" |
||||
} |
||||
}, |
||||
"selectors_exclude": [ |
||||
"#section-summary" |
||||
], |
||||
"min_indexed_level": 1, |
||||
"custom_settings": { |
||||
"advancedSyntax": true, |
||||
"attributesForFaceting": [ |
||||
"component", |
||||
"version" |
||||
], |
||||
"attributesToRetrieve": [ |
||||
"anchor", |
||||
"content", |
||||
"hierarchy", |
||||
"url", |
||||
"component", |
||||
"version" |
||||
], |
||||
"attributesToSnippet": [ |
||||
"content:25" |
||||
], |
||||
"customRanking": [ |
||||
"desc(weight.page_rank)", |
||||
"asc(version_rank)", |
||||
"desc(weight.level)", |
||||
"asc(weight.position)" |
||||
] |
||||
} |
||||
} |
||||
@ -1,37 +0,0 @@
@@ -1,37 +0,0 @@
|
||||
'use strict' |
||||
|
||||
const fsp = require('node:fs/promises') |
||||
const ospath = require('node:path') |
||||
|
||||
/** |
||||
* An Antora extension that generates a config file that controls the behavior of the docsearch scraper. |
||||
* |
||||
* This extension generates a docsearch config file by evaluating a Handlebars template (e.g., |
||||
* .github/actions/docsearch-config.json.hbs). It then publishes the output file to the root of the site |
||||
* (docsearch-config.json). The docsearch scraper will retrieve for the config file from the published site. |
||||
* |
||||
* This extension will only add entries for the latest version in each release line. Additionally, if the page-archived |
||||
* or page-noindex attribute is defined in the document header of the page, that page will be excluded from the index. |
||||
*/ |
||||
module.exports.register = function ({ config: { templatePath = './docsearch/config.json.hbs' } }) { |
||||
const expandPath = this.require('@antora/expand-path-helper') |
||||
const handlebars = this.require('handlebars').create() |
||||
handlebars.registerHelper('eq', (a, b) => a === b) |
||||
handlebars.registerHelper('and', (a, b) => a && b) |
||||
|
||||
this.on('beforePublish', async ({ playbook, contentCatalog, siteCatalog }) => { |
||||
templatePath = expandPath(templatePath, { dot: playbook.dir }) |
||||
const templateSrc = await fsp.readFile(templatePath, 'utf8') |
||||
const templateBasename = ospath.basename(templatePath) |
||||
const template = handlebars.compile(templateSrc, { noEscape: true, preventIndent: true, srcName: templateBasename }) |
||||
const latestVersions = contentCatalog.getComponentsSortedBy('name').reduce((accum, component) => { |
||||
component.versions.forEach((version) => version.versionSegment !== undefined && accum.push(version)) |
||||
return accum |
||||
}, []) |
||||
const stopPages = contentCatalog.getPages((page) => { |
||||
return page.out && ('page-archived' in page.asciidoc.attributes || 'page-noindex' in page.asciidoc.attributes) |
||||
}) |
||||
const compiled = template({ latestVersions, site: playbook.site, stopPages }) |
||||
siteCatalog.addFile({ contents: Buffer.from(compiled), out: { path: 'docsearch-config.json' } }) |
||||
}) |
||||
} |
||||
Loading…
Reference in new issue