parent
cca087f04f
commit
26827157f9
|
@ -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)"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,8 +10,9 @@ antora:
|
||||||
# uncomment this option to save the migrated content to the worktree
|
# uncomment this option to save the migrated content to the worktree
|
||||||
#save_result: true
|
#save_result: true
|
||||||
unwrap_example_block: always
|
unwrap_example_block: always
|
||||||
- require: ./lib/antora/extensions/publish-docsearch-config
|
- require: '@springio/antora-extensions/publish-docsearch-config-extension'
|
||||||
template_path: ./.github/actions/docsearch-config.json.hbs
|
index_name: 'spring-security-docs'
|
||||||
|
root_component_name: 'security'
|
||||||
site:
|
site:
|
||||||
title: Spring Security
|
title: Spring Security
|
||||||
url: https://docs.spring.io/spring-security/reference
|
url: https://docs.spring.io/spring-security/reference
|
||||||
|
|
|
@ -17,7 +17,7 @@ antora {
|
||||||
'@antora/collector-extension': '1.0.0-alpha.3',
|
'@antora/collector-extension': '1.0.0-alpha.3',
|
||||||
'@asciidoctor/tabs': '1.0.0-beta.3',
|
'@asciidoctor/tabs': '1.0.0-beta.3',
|
||||||
'@opendevise/antora-release-line-extension': '1.0.0',
|
'@opendevise/antora-release-line-extension': '1.0.0',
|
||||||
'@springio/antora-extensions': '1.0.0',
|
'@springio/antora-extensions': '1.1.0',
|
||||||
'@springio/asciidoctor-extensions': '1.0.0-alpha.8',
|
'@springio/asciidoctor-extensions': '1.0.0-alpha.8',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -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' } })
|
|
||||||
})
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
# PACKAGES antora@3.2.0-alpha.2 @antora/atlas-extension:1.0.0-alpha.1 @antora/collector-extension@1.0.0-alpha.3 @springio/antora-extensions@1.0.0 @asciidoctor/tabs@1.0.0-beta.3 @opendevise/antora-release-line-extension@1.0.0
|
# PACKAGES antora@3.2.0-alpha.2 @antora/atlas-extension:1.0.0-alpha.1 @antora/collector-extension@1.0.0-alpha.3 @springio/antora-extensions@1.1.0 @asciidoctor/tabs@1.0.0-beta.3 @opendevise/antora-release-line-extension@1.0.0
|
||||||
#
|
#
|
||||||
# The purpose of this Antora playbook is to build the docs in the current branch.
|
# The purpose of this Antora playbook is to build the docs in the current branch.
|
||||||
antora:
|
antora:
|
||||||
|
|
Loading…
Reference in New Issue