Revert "Fixing Issue 305 - broken links because of language (#316)"

This reverts commit 7dc6c6c2da.
This commit is contained in:
Joel Marcey 2017-12-19 09:23:41 -08:00
parent 7dc6c6c2da
commit 18c9a2ab31
7 changed files with 163 additions and 161 deletions

View file

@ -11,12 +11,25 @@ const path = require('path');
const fs = require('fs');
const glob = require('glob');
const chalk = require('chalk');
const env = require('./env');
const siteConfig = require(CWD + '/siteConfig.js');
const versionFallback = require('./versionFallback.js');
const escapeStringRegexp = require('escape-string-regexp');
const ENABLE_VERSIONING = fs.existsSync(CWD + '/versions.json');
let languages;
if (fs.existsSync(CWD + '/languages.js')) {
languages = require(CWD + '/languages.js');
} else {
languages = [
{
enabled: true,
name: 'English',
tag: 'en',
},
];
}
// Can have a custom docs path. Top level folder still needs to be in directory
// at the same level as `website`, not inside `website`.
// e.g., docs/whereDocsReallyExist
@ -116,8 +129,11 @@ function processMetadata(file) {
'/' + escapeStringRegexp(getDocsPath()) + '/(.*)/.*/'
);
let language = 'en';
const match = regexSubFolder.exec(file);
let language = match ? match[1] : 'en';
if (match) {
language = match[1];
}
const metadata = result.metadata;
const rawContent = result.rawContent;
@ -133,20 +149,28 @@ function processMetadata(file) {
metadata.title = metadata.id;
}
const langPart =
env.translation.enabled || siteConfig.useEnglishUrl ? language + '/' : '';
let versionPart = '';
if (env.versioning.enabled) {
metadata.version = 'next';
versionPart = 'next/';
if (languages.length === 1 && !siteConfig.useEnglishUrl) {
metadata.permalink = 'docs/' + metadata.id + '.html';
} else {
metadata.permalink = 'docs/' + language + '/' + metadata.id + '.html';
}
metadata.permalink = 'docs/' + langPart + versionPart + metadata.id + '.html';
if (ENABLE_VERSIONING) {
metadata.version = 'next';
if (languages.length === 1 && !siteConfig.useEnglishUrl) {
metadata.permalink = metadata.permalink.replace('docs/', 'docs/next/');
} else {
metadata.permalink = metadata.permalink.replace(
'docs/' + language + '/',
'docs/' + language + '/next/'
);
}
}
// change ids previous, next
metadata.localized_id = metadata.id;
metadata.id = (env.translation.enabled ? language + '-' : '') + metadata.id;
metadata.language = env.translation.enabled ? language : 'en';
metadata.id = language + '-' + metadata.id;
metadata.language = language;
const order = readSidebar();
const id = metadata.localized_id;
@ -157,13 +181,11 @@ function processMetadata(file) {
if (order[id].next) {
metadata.next_id = order[id].next;
metadata.next =
(env.translation.enabled ? language + '-' : '') + order[id].next;
metadata.next = language + '-' + order[id].next;
}
if (order[id].previous) {
metadata.previous_id = order[id].previous;
metadata.previous =
(env.translation.enabled ? language + '-' : '') + order[id].previous;
metadata.previous = language + '-' + order[id].previous;
}
}
@ -182,9 +204,10 @@ function generateMetadataDocs() {
const regexSubFolder = /translated_docs\/(.*)\/.*/;
const enabledLanguages = env.translation
.enabledLanguages()
.map(language => language.tag);
const enabledLanguages = [];
languages.filter(lang => lang.enabled).map(lang => {
enabledLanguages.push(lang.tag);
});
const metadatas = {};
const defaultMetadatas = {};