mirror of
				https://github.com/spring-projects/spring-security.git
				synced 2025-11-04 08:39:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// https://gitlab.com/antora/antora/-/issues/132#note_712132072
 | 
						|
'use strict'
 | 
						|
 | 
						|
const { posix: path } = require('path')
 | 
						|
 | 
						|
module.exports.register = (pipeline, { config }) => {
 | 
						|
    pipeline.on('contentClassified', ({ contentCatalog }) => {
 | 
						|
        const rootComponentName = config.rootComponentName || 'ROOT'
 | 
						|
        const rootComponentNameLength = rootComponentName.length
 | 
						|
        contentCatalog.findBy({ component: rootComponentName }).forEach((file) => {
 | 
						|
            if (file.out) {
 | 
						|
                file.out.dirname = file.out.dirname.substr(rootComponentNameLength)
 | 
						|
                file.out.path = file.out.path.substr(rootComponentNameLength + 1)
 | 
						|
                file.out.rootPath = fixPath(file.out.rootPath)
 | 
						|
            }
 | 
						|
            if (file.pub) {
 | 
						|
                file.pub.url = file.pub.url.substr(rootComponentNameLength + 1)
 | 
						|
                if (file.pub.rootPath) {
 | 
						|
                    file.pub.rootPath = fixPath(file.pub.rootPath)
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (file.rel) {
 | 
						|
                if (file.rel.pub) {
 | 
						|
                    file.rel.pub.url = file.rel.pub.url.substr(rootComponentNameLength + 1)
 | 
						|
                    file.rel.pub.rootPath = fixPath(file.rel.pub.rootPath);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        })
 | 
						|
        const rootComponent = contentCatalog.getComponent(rootComponentName)
 | 
						|
        rootComponent?.versions?.forEach((version) => {
 | 
						|
            version.url = version.url.substr(rootComponentName.length + 1)
 | 
						|
        })
 | 
						|
        // const siteStartPage = contentCatalog.getById({ component: '', version: '', module: '', family: 'alias', relative: 'index.adoc' })
 | 
						|
        // if (siteStartPage) delete siteStartPage.out
 | 
						|
    })
 | 
						|
 | 
						|
    function fixPath(path) {
 | 
						|
        return path.split('/').slice(1).join('/') || '.'
 | 
						|
    }
 | 
						|
} |