Fix correct linking when setting defaultVersionShown to non-latest version (#894)

This commit is contained in:
Endilie Yacop Sucipto 2018-08-11 13:49:52 +07:00 committed by Yangshun Tay
parent 3f896c8e18
commit 8f9f7a5602
3 changed files with 5 additions and 2 deletions

View file

@ -34,6 +34,7 @@ jest.mock('../env', () => ({
versioning: { versioning: {
enabled: true, enabled: true,
defaultVersion: '1.0.0', defaultVersion: '1.0.0',
latestVersion: '1.0.0',
}, },
})); }));

View file

@ -57,7 +57,7 @@ function mdToHtmlify(oldContent, mdToHtml, metadata) {
htmlLink = htmlLink.replace('/en/', `/${metadata.language}/`); htmlLink = htmlLink.replace('/en/', `/${metadata.language}/`);
htmlLink = htmlLink.replace( htmlLink = htmlLink.replace(
'/VERSION/', '/VERSION/',
metadata.version && metadata.version !== env.versioning.defaultVersion metadata.version && metadata.version !== env.versioning.latestVersion
? `/${metadata.version}/` ? `/${metadata.version}/`
: '/' : '/'
); );

View file

@ -45,6 +45,7 @@ class Translation {
class Versioning { class Versioning {
constructor() { constructor() {
this.enabled = false; this.enabled = false;
this.latestVersion = null;
this.defaultVersion = null; this.defaultVersion = null;
this.versions = []; this.versions = [];
this.missingVersionsPage = false; this.missingVersionsPage = false;
@ -64,9 +65,10 @@ class Versioning {
if (fs.existsSync(versionsJSONFile)) { if (fs.existsSync(versionsJSONFile)) {
this.enabled = true; this.enabled = true;
this.versions = JSON.parse(fs.readFileSync(versionsJSONFile, 'utf8')); this.versions = JSON.parse(fs.readFileSync(versionsJSONFile, 'utf8'));
this.latestVersion = this.versions[0];
this.defaultVersion = siteConfig.defaultVersionShown this.defaultVersion = siteConfig.defaultVersionShown
? siteConfig.defaultVersionShown ? siteConfig.defaultVersionShown
: this.versions[0]; // otherwise show the latest version (other than next/master) : this.latestVersion; // otherwise show the latest version (other than next/master)
} }
if (!fs.existsSync(versionsFile)) { if (!fs.existsSync(versionsFile)) {