1
0
mirror of synced 2025-12-23 21:07:12 -05:00

support full version name in link as well as plan

This commit is contained in:
Sarah Schneider
2020-12-09 15:05:46 -05:00
parent 6a3d326fcf
commit f6cc55389e

View File

@@ -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)
}