support full version name in link as well as plan
This commit is contained in:
@@ -2,7 +2,9 @@ const externalRedirects = Object.keys(require('./redirects/external-sites'))
|
||||
const pathUtils = require('./path-utils')
|
||||
const assert = require('assert')
|
||||
const nonEnterpriseDefaultVersion = require('./non-enterprise-default-version')
|
||||
const supportedPlans = Object.values(require('./all-versions')).map(v => v.plan)
|
||||
const allVersions = require('./all-versions')
|
||||
const supportedVersions = Object.keys(allVersions)
|
||||
const supportedPlans = Object.values(allVersions).map(v => v.plan)
|
||||
|
||||
// Content authors write links like `/some/article/path`, but they need to be
|
||||
// rewritten on the fly to match the current language and page version
|
||||
@@ -27,9 +29,13 @@ function getNewHref (link, languageCode, version) {
|
||||
|
||||
let newHref
|
||||
|
||||
// If the link has a hardcoded plan name in it (e.g., /enterprise-server/rest/reference/oauth-authorizations),
|
||||
// only rewrite it with a language code
|
||||
if (supportedPlans.includes(href.split('/')[1])) {
|
||||
// If the link has a hardcoded plan or version in it, do not update the version, just add the language code
|
||||
// Examples:
|
||||
// /enterprise-server@2.20/rest/reference/oauth-authorizations
|
||||
// /enterprise-server/rest/reference/oauth-authorizations (this redirects to the latest version)
|
||||
// /enterprise-server@latest/rest/reference/oauth-authorizations (this redirects to the latest version)
|
||||
const firstLinkSegment = href.split('/')[1]
|
||||
if (supportedPlans.includes(firstLinkSegment) || supportedVersions.includes(firstLinkSegment) || firstLinkSegment === 'enterprise-server@latest') {
|
||||
newHref = pathUtils.getPathWithLanguage(href, languageCode)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user