瀏覽代碼

Use Antora name of security

Issue gh-13327
Rob Winch 2 年之前
父節點
當前提交
a69cd7d5d9
共有 2 個文件被更改,包括 26 次插入0 次删除
  1. 3 0
      antora-playbook.yml
  2. 23 0
      lib/antora/extensions/fix-component-name-display.js

+ 3 - 0
antora-playbook.yml

@@ -6,6 +6,7 @@ antora:
   - require: '@springio/antora-extensions/latest-version-extension'
   - require: '@springio/antora-extensions/inject-collector-cache-config-extension'
   - '@antora/collector-extension'
+  - ./lib/antora/extensions/fix-component-name-display.js
   - '@antora/atlas-extension'
   - require: '@springio/antora-extensions/tabs-migration-extension'
     # uncomment this option to save the migrated content to the worktree
@@ -14,6 +15,8 @@ antora:
   - require: '@springio/antora-extensions/publish-docsearch-config-extension'
     index_name: 'spring-security-docs'
     root_component_name: 'security'
+  - require: '@springio/antora-extensions/root-component-extension'
+    root_component_name: 'security'
 site:
   title: Spring Security
   url: https://docs.spring.io/spring-security/reference

+ 23 - 0
lib/antora/extensions/fix-component-name-display.js

@@ -0,0 +1,23 @@
+'use strict'
+
+/**
+ * The purpose of this extension is to fix invalid metadata saved to either antora.yml or gradle.properties in certain
+ * tags. This invalid metadata prevents Antora from classifying the component versions properly.
+ *
+ * This extension addresses with the following cases:
+ *
+ * . the boolean value on the prerelease key is incorrectly quoted
+ * . the prerelease tag is set to true for a GA version
+ * . the value of the name key is empty
+ * . the value of the displayVersion key doesn't match the actual version
+ * . the -SNAPSHOT suffix is appended to the value of the version key instead of the value of the prerelease key
+ *
+ * This extension should be listed directly after @antora/collector-extension.
+ */
+module.exports.register = function () {
+  this.once('contentAggregated', ({ contentAggregate }) => {
+    contentAggregate.forEach((componentVersionBucket) => {
+      Object.assign(componentVersionBucket, { name: 'security', display: 'Spring Security' })
+    })
+  })
+}