mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-20 20:46:58 +02:00
chore(v2): fix code style (revert previous changes)
This commit is contained in:
parent
1480a7eb80
commit
1f00d15c74
143 changed files with 457 additions and 458 deletions
|
@ -145,7 +145,7 @@ describe('getFile', () => {
|
|||
'docs/doc1.md': 'Just another document',
|
||||
};
|
||||
fs.existsSync = jest.fn().mockReturnValue(true);
|
||||
fs.readFileSync = jest.fn().mockImplementation(file => {
|
||||
fs.readFileSync = jest.fn().mockImplementation((file) => {
|
||||
const fakePath = file.replace(
|
||||
process.cwd().replace(/website-1.x\/?$/, ''),
|
||||
'',
|
||||
|
|
|
@ -21,7 +21,7 @@ module.exports = function loadConfig(configPath, deleteCache = true) {
|
|||
customDocsPath: 'docs',
|
||||
docsUrl: 'docs',
|
||||
};
|
||||
Object.keys(defaultConfig).forEach(field => {
|
||||
Object.keys(defaultConfig).forEach((field) => {
|
||||
if (!(field in config)) {
|
||||
config[field] = defaultConfig[field];
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ function mdToHtmlify(oldContent, mdToHtml, metadata, siteConfig) {
|
|||
let content = oldContent;
|
||||
/* Replace internal markdown linking (except in fenced blocks) */
|
||||
let fencedBlock = false;
|
||||
const lines = content.split('\n').map(line => {
|
||||
const lines = content.split('\n').map((line) => {
|
||||
if (line.trim().startsWith('```')) {
|
||||
fencedBlock = !fencedBlock;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ class Translation {
|
|||
this.load();
|
||||
}
|
||||
|
||||
enabledLanguages = () => this.languages.filter(lang => lang.enabled);
|
||||
enabledLanguages = () => this.languages.filter((lang) => lang.enabled);
|
||||
|
||||
load() {
|
||||
if (fs.existsSync(languagesFile)) {
|
||||
|
|
|
@ -21,7 +21,7 @@ const utils = require('../core/utils');
|
|||
|
||||
const renderMarkdown = require('../core/renderMarkdown.js');
|
||||
|
||||
module.exports = function(type) {
|
||||
module.exports = function (type) {
|
||||
console.log('feed.js triggered...');
|
||||
|
||||
type = type || 'rss';
|
||||
|
@ -31,7 +31,7 @@ module.exports = function(type) {
|
|||
const MetadataPublicBlog =
|
||||
process.env.NODE_ENV === 'development'
|
||||
? MetadataBlog
|
||||
: MetadataBlog.filter(item => !item.unlisted);
|
||||
: MetadataBlog.filter((item) => !item.unlisted);
|
||||
|
||||
const feed = new Feed({
|
||||
title: `${siteConfig.title} Blog`,
|
||||
|
@ -43,7 +43,7 @@ module.exports = function(type) {
|
|||
updated: new Date(MetadataPublicBlog[0].date),
|
||||
});
|
||||
|
||||
MetadataPublicBlog.forEach(post => {
|
||||
MetadataPublicBlog.forEach((post) => {
|
||||
const url = `${blogRootURL}/${post.path}`;
|
||||
const description = utils.blogPostHasTruncateMarker(post.content)
|
||||
? renderMarkdown(utils.extractBlogPostBeforeTruncate(post.content))
|
||||
|
|
|
@ -72,7 +72,7 @@ async function execute() {
|
|||
|
||||
// create html files for all docs by going through all doc ids
|
||||
const mdToHtml = metadataUtils.mdToHtml(Metadata, siteConfig);
|
||||
Object.keys(Metadata).forEach(id => {
|
||||
Object.keys(Metadata).forEach((id) => {
|
||||
const metadata = Metadata[id];
|
||||
const file = docs.getFile(metadata);
|
||||
if (!file) {
|
||||
|
@ -118,7 +118,7 @@ async function execute() {
|
|||
files
|
||||
.sort()
|
||||
.reverse()
|
||||
.forEach(file => {
|
||||
.forEach((file) => {
|
||||
// Why normalize? In case we are on Windows.
|
||||
// Remember the nuance of glob: https://www.npmjs.com/package/glob#windows
|
||||
const normalizedFile = path.normalize(file);
|
||||
|
@ -137,7 +137,7 @@ async function execute() {
|
|||
|
||||
// create html files for all blog pages (collections of article previews)
|
||||
const blogPages = blog.getPagesMarkup(MetadataBlog.length, siteConfig);
|
||||
Object.keys(blogPages).forEach(pagePath => {
|
||||
Object.keys(blogPages).forEach((pagePath) => {
|
||||
const targetFile = join(buildDir, 'blog', pagePath);
|
||||
writeFileAndCreateFolder(targetFile, blogPages[pagePath]);
|
||||
});
|
||||
|
@ -168,7 +168,7 @@ async function execute() {
|
|||
// copy all static files from docusaurus
|
||||
const libStaticDir = join(__dirname, '..', 'static');
|
||||
files = glob.sync(join(libStaticDir, '**'));
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
// Why normalize? In case we are on Windows.
|
||||
// Remember the nuance of glob: https://www.npmjs.com/package/glob#windows
|
||||
const targetFile = path.normalize(file).replace(libStaticDir, buildDir);
|
||||
|
@ -188,15 +188,15 @@ async function execute() {
|
|||
);
|
||||
}
|
||||
|
||||
Object.keys(siteConfig.colors).forEach(key => {
|
||||
Object.keys(siteConfig.colors).forEach((key) => {
|
||||
const color = siteConfig.colors[key];
|
||||
cssContent = cssContent.replace(new RegExp(`\\$${key}`, 'g'), color);
|
||||
});
|
||||
|
||||
if (siteConfig.fonts) {
|
||||
Object.keys(siteConfig.fonts).forEach(key => {
|
||||
Object.keys(siteConfig.fonts).forEach((key) => {
|
||||
const fontString = siteConfig.fonts[key]
|
||||
.map(font => `"${font}"`)
|
||||
.map((font) => `"${font}"`)
|
||||
.join(', ');
|
||||
cssContent = cssContent.replace(
|
||||
new RegExp(`\\$${key}`, 'g'),
|
||||
|
@ -216,7 +216,7 @@ async function execute() {
|
|||
// Copy all static files from user.
|
||||
const userStaticDir = join(CWD, 'static');
|
||||
files = glob.sync(join(userStaticDir, '**'), {dot: true});
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
// Why normalize? In case we are on Windows.
|
||||
// Remember the nuance of glob: https://www.npmjs.com/package/glob#windows
|
||||
const normalizedFile = path.normalize(file);
|
||||
|
@ -229,15 +229,15 @@ async function execute() {
|
|||
let cssContent = fs.readFileSync(normalizedFile, 'utf8');
|
||||
cssContent = `${fs.readFileSync(mainCss, 'utf8')}\n${cssContent}`;
|
||||
|
||||
Object.keys(siteConfig.colors).forEach(key => {
|
||||
Object.keys(siteConfig.colors).forEach((key) => {
|
||||
const color = siteConfig.colors[key];
|
||||
cssContent = cssContent.replace(new RegExp(`\\$${key}`, 'g'), color);
|
||||
});
|
||||
|
||||
if (siteConfig.fonts) {
|
||||
Object.keys(siteConfig.fonts).forEach(key => {
|
||||
Object.keys(siteConfig.fonts).forEach((key) => {
|
||||
const fontString = siteConfig.fonts[key]
|
||||
.map(font => `"${font}"`)
|
||||
.map((font) => `"${font}"`)
|
||||
.join(', ');
|
||||
cssContent = cssContent.replace(
|
||||
new RegExp(`\\$${key}`, 'g'),
|
||||
|
@ -264,7 +264,7 @@ async function execute() {
|
|||
}),
|
||||
imageminGifsicle(),
|
||||
],
|
||||
}).catch(error => {
|
||||
}).catch((error) => {
|
||||
// if image compression fail, just copy it as it is
|
||||
console.error(error);
|
||||
fs.copySync(normalizedFile, targetFile);
|
||||
|
@ -287,10 +287,10 @@ async function execute() {
|
|||
// compile/copy pages from user
|
||||
const enabledLanguages = env.translation
|
||||
.enabledLanguages()
|
||||
.map(lang => lang.tag);
|
||||
.map((lang) => lang.tag);
|
||||
const userPagesDir = join(CWD, 'pages');
|
||||
files = glob.sync(join(userPagesDir, '**'));
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
// Why normalize? In case we are on Windows.
|
||||
// Remember the nuance of glob: https://www.npmjs.com/package/glob#windows
|
||||
const normalizedFile = path.normalize(file);
|
||||
|
|
|
@ -20,7 +20,7 @@ function start(port) {
|
|||
|
||||
gaze(
|
||||
[`../${readMetadata.getDocsPath()}/**/*`, '**/*', '!node_modules/**/*'],
|
||||
function() {
|
||||
function () {
|
||||
this.on('all', () => {
|
||||
server.notifyClients(['/']);
|
||||
});
|
||||
|
|
|
@ -49,10 +49,7 @@ function extractMetadata(content) {
|
|||
for (let i = 0; i < lines.length - 1; ++i) {
|
||||
const keyvalue = lines[i].split(':');
|
||||
const key = keyvalue[0].trim();
|
||||
let value = keyvalue
|
||||
.slice(1)
|
||||
.join(':')
|
||||
.trim();
|
||||
let value = keyvalue.slice(1).join(':').trim();
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
} catch (err) {
|
||||
|
@ -68,7 +65,7 @@ function extractMetadata(content) {
|
|||
function mdToHtml(Metadata, siteConfig) {
|
||||
const {baseUrl, docsUrl} = siteConfig;
|
||||
const result = {};
|
||||
Object.keys(Metadata).forEach(id => {
|
||||
Object.keys(Metadata).forEach((id) => {
|
||||
const metadata = Metadata[id];
|
||||
if (metadata.language !== 'en' || metadata.original_id) {
|
||||
return;
|
||||
|
|
|
@ -13,34 +13,34 @@ function readCategories(sidebar, allMetadata, languages) {
|
|||
|
||||
// Go through each language that might be defined.
|
||||
languages
|
||||
.filter(lang => lang.enabled)
|
||||
.map(lang => lang.tag)
|
||||
.forEach(language => {
|
||||
.filter((lang) => lang.enabled)
|
||||
.map((lang) => lang.tag)
|
||||
.forEach((language) => {
|
||||
// Get all related metadata for the current sidebar and specific to the language.
|
||||
const metadatas = Object.values(allMetadata)
|
||||
.filter(
|
||||
metadata =>
|
||||
(metadata) =>
|
||||
metadata.sidebar === sidebar && metadata.language === language,
|
||||
)
|
||||
.sort((a, b) => a.order - b.order);
|
||||
|
||||
// Define the correct order of categories.
|
||||
const sortedCategories = _.uniq(
|
||||
metadatas.map(metadata => metadata.category),
|
||||
metadatas.map((metadata) => metadata.category),
|
||||
);
|
||||
|
||||
const metadatasGroupedByCategory = _.chain(metadatas)
|
||||
.groupBy(metadata => metadata.category)
|
||||
.mapValues(categoryItems => {
|
||||
.groupBy((metadata) => metadata.category)
|
||||
.mapValues((categoryItems) => {
|
||||
// Process subcategories.
|
||||
const metadatasGroupedBySubcategory = _.groupBy(
|
||||
categoryItems,
|
||||
item => item.subcategory,
|
||||
(item) => item.subcategory,
|
||||
);
|
||||
const result = [];
|
||||
const seenSubcategories = new Set();
|
||||
// categoryItems can be links or subcategories. Handle separately.
|
||||
categoryItems.forEach(item => {
|
||||
categoryItems.forEach((item) => {
|
||||
// Has no subcategory.
|
||||
if (item.subcategory == null) {
|
||||
result.push({
|
||||
|
@ -59,7 +59,7 @@ function readCategories(sidebar, allMetadata, languages) {
|
|||
seenSubcategories.add(subcategory);
|
||||
const subcategoryLinks = metadatasGroupedBySubcategory[
|
||||
subcategory
|
||||
].map(subcategoryItem => ({
|
||||
].map((subcategoryItem) => ({
|
||||
type: 'LINK',
|
||||
item: subcategoryItem,
|
||||
}));
|
||||
|
@ -74,7 +74,7 @@ function readCategories(sidebar, allMetadata, languages) {
|
|||
})
|
||||
.value();
|
||||
|
||||
const categories = sortedCategories.map(category => ({
|
||||
const categories = sortedCategories.map((category) => ({
|
||||
type: 'CATEGORY',
|
||||
title: category,
|
||||
children: metadatasGroupedByCategory[category],
|
||||
|
|
|
@ -66,17 +66,17 @@ function readSidebar(sidebars = {}) {
|
|||
|
||||
const items = {};
|
||||
|
||||
Object.keys(sidebars).forEach(sidebar => {
|
||||
Object.keys(sidebars).forEach((sidebar) => {
|
||||
const categories = sidebars[sidebar];
|
||||
const sidebarItems = [];
|
||||
|
||||
Object.keys(categories).forEach(category => {
|
||||
Object.keys(categories).forEach((category) => {
|
||||
const categoryItems = categories[category];
|
||||
categoryItems.forEach(categoryItem => {
|
||||
categoryItems.forEach((categoryItem) => {
|
||||
if (typeof categoryItem === 'object') {
|
||||
switch (categoryItem.type) {
|
||||
case 'subcategory':
|
||||
categoryItem.ids.forEach(subcategoryItem => {
|
||||
categoryItem.ids.forEach((subcategoryItem) => {
|
||||
sidebarItems.push({
|
||||
id: subcategoryItem,
|
||||
category,
|
||||
|
@ -133,7 +133,7 @@ function processMetadata(file, refDir) {
|
|||
const language = utils.getLanguage(file, refDir) || 'en';
|
||||
|
||||
const metadata = {};
|
||||
Object.keys(result.metadata).forEach(fieldName => {
|
||||
Object.keys(result.metadata).forEach((fieldName) => {
|
||||
if (SupportedHeaderFields.has(fieldName)) {
|
||||
metadata[fieldName] = result.metadata[fieldName];
|
||||
} else {
|
||||
|
@ -219,7 +219,7 @@ function generateMetadataDocs() {
|
|||
|
||||
const enabledLanguages = env.translation
|
||||
.enabledLanguages()
|
||||
.map(language => language.tag);
|
||||
.map((language) => language.tag);
|
||||
|
||||
const metadatas = {};
|
||||
const defaultMetadatas = {};
|
||||
|
@ -228,7 +228,7 @@ function generateMetadataDocs() {
|
|||
// metadata for english files
|
||||
const docsDir = path.join(CWD, '../', getDocsPath());
|
||||
let files = glob.sync(`${docsDir}/**`);
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
const extension = path.extname(file);
|
||||
|
||||
if (extension === '.md' || extension === '.markdown') {
|
||||
|
@ -243,8 +243,8 @@ function generateMetadataDocs() {
|
|||
// create a default list of documents for each enabled language based on docs in English
|
||||
// these will get replaced if/when the localized file is downloaded from crowdin
|
||||
enabledLanguages
|
||||
.filter(currentLanguage => currentLanguage !== 'en')
|
||||
.forEach(currentLanguage => {
|
||||
.filter((currentLanguage) => currentLanguage !== 'en')
|
||||
.forEach((currentLanguage) => {
|
||||
const baseMetadata = Object.assign({}, metadata);
|
||||
baseMetadata.id = baseMetadata.id
|
||||
.toString()
|
||||
|
@ -277,7 +277,7 @@ function generateMetadataDocs() {
|
|||
// metadata for non-english docs
|
||||
const translatedDir = path.join(CWD, 'translated_docs');
|
||||
files = glob.sync(`${CWD}/translated_docs/**`);
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
if (!utils.getLanguage(file, translatedDir)) {
|
||||
return;
|
||||
}
|
||||
|
@ -297,7 +297,7 @@ function generateMetadataDocs() {
|
|||
|
||||
// metadata for versioned docs
|
||||
const versionData = versionFallback.docData();
|
||||
versionData.forEach(metadata => {
|
||||
versionData.forEach((metadata) => {
|
||||
const id = metadata.localized_id;
|
||||
if (order[id]) {
|
||||
metadata.sidebar = order[id].sidebar;
|
||||
|
@ -329,7 +329,7 @@ function generateMetadataDocs() {
|
|||
|
||||
// Get the titles of the previous and next ids so that we can use them in
|
||||
// navigation buttons in DocsLayout.js
|
||||
Object.keys(metadatas).forEach(metadata => {
|
||||
Object.keys(metadatas).forEach((metadata) => {
|
||||
if (metadatas[metadata].previous) {
|
||||
if (metadatas[metadatas[metadata].previous]) {
|
||||
metadatas[metadata].previous_title =
|
||||
|
@ -350,11 +350,13 @@ function generateMetadataDocs() {
|
|||
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, '/../core/metadata.js'),
|
||||
`${'/**\n' +
|
||||
' * @' +
|
||||
'generated\n' + // separate this out for Nuclide treating @generated as readonly
|
||||
`${
|
||||
'/**\n' +
|
||||
' * @' +
|
||||
'generated\n' + // separate this out for Nuclide treating @generated as readonly
|
||||
' */\n' +
|
||||
'module.exports = '}${JSON.stringify(metadatas, null, 2)};\n`,
|
||||
'module.exports = '
|
||||
}${JSON.stringify(metadatas, null, 2)};\n`,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -366,7 +368,7 @@ function generateMetadataBlog(config = siteConfig) {
|
|||
files
|
||||
.sort()
|
||||
.reverse()
|
||||
.forEach(file => {
|
||||
.forEach((file) => {
|
||||
const extension = path.extname(file);
|
||||
if (extension !== '.md' && extension !== '.markdown') {
|
||||
return;
|
||||
|
@ -389,11 +391,13 @@ function generateMetadataBlog(config = siteConfig) {
|
|||
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, '/../core/MetadataBlog.js'),
|
||||
`${'/**\n' +
|
||||
' * @' +
|
||||
'generated\n' + // separate this out for Nuclide treating @generated as readonly
|
||||
`${
|
||||
'/**\n' +
|
||||
' * @' +
|
||||
'generated\n' + // separate this out for Nuclide treating @generated as readonly
|
||||
' */\n' +
|
||||
'module.exports = '}${JSON.stringify(sortedMetadatas, null, 2)};\n`,
|
||||
'module.exports = '
|
||||
}${JSON.stringify(sortedMetadatas, null, 2)};\n`,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ function noExtension() {
|
|||
}
|
||||
|
||||
function page(siteConfig) {
|
||||
const gr = regex => regex.toString().replace(/(^\/|\/$)/gm, '');
|
||||
const gr = (regex) => regex.toString().replace(/(^\/|\/$)/gm, '');
|
||||
|
||||
if (siteConfig.docsUrl === '') {
|
||||
return new RegExp(
|
||||
|
|
|
@ -34,7 +34,7 @@ function execute(port, host) {
|
|||
|
||||
function removeModulePathFromCache(moduleName) {
|
||||
/* eslint-disable no-underscore-dangle */
|
||||
Object.keys(module.constructor._pathCache).forEach(cacheKey => {
|
||||
Object.keys(module.constructor._pathCache).forEach((cacheKey) => {
|
||||
if (cacheKey.indexOf(moduleName) > 0) {
|
||||
delete module.constructor._pathCache[cacheKey];
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ function execute(port, host) {
|
|||
function removeModuleAndChildrenFromCache(moduleName) {
|
||||
let mod = require.resolve(moduleName);
|
||||
if (mod && (mod = require.cache[mod])) {
|
||||
mod.children.forEach(child => {
|
||||
mod.children.forEach((child) => {
|
||||
delete require.cache[child.id];
|
||||
removeModulePathFromCache(mod.id);
|
||||
});
|
||||
|
@ -121,7 +121,7 @@ function execute(port, host) {
|
|||
app.get(routing.docs(siteConfig), (req, res, next) => {
|
||||
const url = decodeURI(req.path.toString().replace(siteConfig.baseUrl, ''));
|
||||
const metakey = Object.keys(Metadata).find(
|
||||
id => Metadata[id].permalink === url,
|
||||
(id) => Metadata[id].permalink === url,
|
||||
);
|
||||
|
||||
let metadata = Metadata[metakey];
|
||||
|
@ -137,7 +137,7 @@ function execute(port, host) {
|
|||
|
||||
// if any of the followings is changed, reload the metadata
|
||||
const reloadTriggers = ['sidebar_label', 'hide_title', 'title'];
|
||||
if (reloadTriggers.some(key => metadata[key] !== rawMetadata[key])) {
|
||||
if (reloadTriggers.some((key) => metadata[key] !== rawMetadata[key])) {
|
||||
reloadMetadata();
|
||||
extractTranslations();
|
||||
reloadTranslations();
|
||||
|
@ -163,10 +163,7 @@ function execute(port, host) {
|
|||
|
||||
app.get(routing.feed(siteConfig), (req, res, next) => {
|
||||
res.set('Content-Type', 'application/rss+xml');
|
||||
const file = req.path
|
||||
.toString()
|
||||
.split('blog/')[1]
|
||||
.toLowerCase();
|
||||
const file = req.path.toString().split('blog/')[1].toLowerCase();
|
||||
if (file === 'atom.xml') {
|
||||
res.send(feed('atom'));
|
||||
} else if (file === 'feed.xml') {
|
||||
|
@ -250,7 +247,7 @@ function execute(port, host) {
|
|||
const parts = match[1].split('/');
|
||||
const enabledLangTags = env.translation
|
||||
.enabledLanguages()
|
||||
.map(lang => lang.tag);
|
||||
.map((lang) => lang.tag);
|
||||
|
||||
for (let i = 0; i < parts.length; i++) {
|
||||
if (enabledLangTags.indexOf(parts[i]) !== -1) {
|
||||
|
@ -321,7 +318,7 @@ function execute(port, host) {
|
|||
|
||||
const files = glob.sync(join(CWD, 'static', '**', '*.css'));
|
||||
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
if (isSeparateCss(file, siteConfig.separateCss)) {
|
||||
return;
|
||||
}
|
||||
|
@ -342,15 +339,15 @@ function execute(port, host) {
|
|||
);
|
||||
}
|
||||
|
||||
Object.keys(siteConfig.colors).forEach(key => {
|
||||
Object.keys(siteConfig.colors).forEach((key) => {
|
||||
const color = siteConfig.colors[key];
|
||||
cssContent = cssContent.replace(new RegExp(`\\$${key}`, 'g'), color);
|
||||
});
|
||||
|
||||
if (siteConfig.fonts) {
|
||||
Object.keys(siteConfig.fonts).forEach(key => {
|
||||
Object.keys(siteConfig.fonts).forEach((key) => {
|
||||
const fontString = siteConfig.fonts[key]
|
||||
.map(font => `"${font}"`)
|
||||
.map((font) => `"${font}"`)
|
||||
.join(', ');
|
||||
cssContent = cssContent.replace(
|
||||
new RegExp(`\\$${key}`, 'g'),
|
||||
|
|
|
@ -26,7 +26,7 @@ const Metadata = require('../core/metadata.js');
|
|||
readMetadata.generateMetadataBlog(siteConfig);
|
||||
const MetadataBlog = require('../core/MetadataBlog.js');
|
||||
|
||||
module.exports = function(callback) {
|
||||
module.exports = function (callback) {
|
||||
console.log('sitemap.js triggered...');
|
||||
|
||||
const files = glob.sync(`${CWD}/pages/en/**/*.js`);
|
||||
|
@ -43,23 +43,23 @@ module.exports = function(callback) {
|
|||
// If we have a languages.js file, get all the enabled languages in there
|
||||
if (fs.existsSync(`${CWD}/languages.js`)) {
|
||||
const languages = require(`${CWD}/languages.js`);
|
||||
enabledLanguages = languages.filter(lang => lang.enabled);
|
||||
enabledLanguages = languages.filter((lang) => lang.enabled);
|
||||
}
|
||||
|
||||
// Create a url mapping to all the enabled languages files
|
||||
const urls = files.map(file => {
|
||||
const urls = files.map((file) => {
|
||||
let url = file.split('/pages/en')[1];
|
||||
url = siteConfig.cleanUrl
|
||||
? url.replace(/\.js$/, '')
|
||||
: url.replace(/\.js$/, '.html');
|
||||
const links = enabledLanguages.map(lang => {
|
||||
const links = enabledLanguages.map((lang) => {
|
||||
const langUrl = lang.tag + url;
|
||||
return {lang: lang.tag, url: langUrl};
|
||||
});
|
||||
return {url, changefreq: 'weekly', priority: 0.5, links};
|
||||
});
|
||||
|
||||
MetadataBlog.forEach(blog => {
|
||||
MetadataBlog.forEach((blog) => {
|
||||
urls.push({
|
||||
url: `/blog/${utils.getPath(blog.path, siteConfig.cleanUrl)}`,
|
||||
changefreq: 'weekly',
|
||||
|
@ -68,12 +68,12 @@ module.exports = function(callback) {
|
|||
});
|
||||
|
||||
Object.keys(Metadata)
|
||||
.filter(key => Metadata[key].language === 'en')
|
||||
.forEach(key => {
|
||||
.filter((key) => Metadata[key].language === 'en')
|
||||
.forEach((key) => {
|
||||
const doc = Metadata[key];
|
||||
const docUrl = utils.getPath(doc.permalink, siteConfig.cleanUrl);
|
||||
const docsPart = `${siteConfig.docsUrl ? `${siteConfig.docsUrl}/` : ''}`;
|
||||
const links = enabledLanguages.map(lang => {
|
||||
const links = enabledLanguages.map((lang) => {
|
||||
const langUrl = docUrl.replace(
|
||||
new RegExp(`^${docsPart}en/`),
|
||||
`${docsPart}${lang.tag}/`,
|
||||
|
|
|
@ -14,7 +14,7 @@ const server = require('./server.js');
|
|||
const CWD = process.cwd();
|
||||
|
||||
function startLiveReloadServer() {
|
||||
const promise = portFinder.getPortPromise({port: 35729}).then(port => {
|
||||
const promise = portFinder.getPortPromise({port: 35729}).then((port) => {
|
||||
liveReloadServer.start(port);
|
||||
});
|
||||
return promise;
|
||||
|
@ -26,7 +26,7 @@ function startServer() {
|
|||
const host = program.host || 'localhost';
|
||||
const promise = portFinder
|
||||
.getPortPromise({port: initialServerPort})
|
||||
.then(port => {
|
||||
.then((port) => {
|
||||
server(port, host);
|
||||
const {baseUrl} = require(`${CWD}/siteConfig.js`);
|
||||
const serverAddress = `http://${host}:${port}${baseUrl}`;
|
||||
|
@ -39,7 +39,7 @@ function startServer() {
|
|||
function startDocusaurus() {
|
||||
if (program.watch) {
|
||||
return startLiveReloadServer()
|
||||
.catch(ex => console.warn(`Failed to start live reload server: ${ex}`))
|
||||
.catch((ex) => console.warn(`Failed to start live reload server: ${ex}`))
|
||||
.then(() => startServer());
|
||||
}
|
||||
return startServer();
|
||||
|
|
|
@ -25,14 +25,14 @@ if (fs.existsSync(`${CWD}/languages.js`)) {
|
|||
];
|
||||
}
|
||||
|
||||
const enabledLanguages = languages.filter(lang => lang.enabled);
|
||||
const enabledLanguages = languages.filter((lang) => lang.enabled);
|
||||
|
||||
const translation = {languages: enabledLanguages};
|
||||
|
||||
const files = glob.sync(`${CWD}/i18n/**`);
|
||||
const langRegex = /\/i18n\/(.*)\.json$/;
|
||||
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
const extension = path.extname(file);
|
||||
if (extension === '.json') {
|
||||
const match = langRegex.exec(file);
|
||||
|
|
|
@ -28,7 +28,7 @@ function getLanguage(file, refDir) {
|
|||
if (match && env.translation.enabled) {
|
||||
const enabledLanguages = env.translation
|
||||
.enabledLanguages()
|
||||
.map(language => language.tag);
|
||||
.map((language) => language.tag);
|
||||
if (enabledLanguages.indexOf(match[1]) !== -1) {
|
||||
return match[1];
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ function minifyCss(cssContent) {
|
|||
zindex: false,
|
||||
from: undefined,
|
||||
})
|
||||
.then(result => result.css);
|
||||
.then((result) => result.css);
|
||||
}
|
||||
|
||||
function autoPrefixCss(cssContent) {
|
||||
|
@ -63,12 +63,12 @@ function autoPrefixCss(cssContent) {
|
|||
.process(cssContent, {
|
||||
from: undefined,
|
||||
})
|
||||
.then(result => result.css);
|
||||
.then((result) => result.css);
|
||||
}
|
||||
|
||||
function replaceAssetsLink(oldContent, location) {
|
||||
let fencedBlock = false;
|
||||
const lines = oldContent.split('\n').map(line => {
|
||||
const lines = oldContent.split('\n').map((line) => {
|
||||
if (line.trim().startsWith('```')) {
|
||||
fencedBlock = !fencedBlock;
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ const available = {};
|
|||
// given version/id of a document
|
||||
const versionFiles = {};
|
||||
const files = glob.sync(`${versionFolder}**`);
|
||||
files.forEach(file => {
|
||||
files.forEach((file) => {
|
||||
const ext = path.extname(file);
|
||||
if (ext !== '.md' && ext !== '.markdown') {
|
||||
return;
|
||||
|
@ -210,8 +210,8 @@ function processVersionMetadata(file, version, useVersion, language) {
|
|||
// return all metadata of versioned documents
|
||||
function docData() {
|
||||
const allIds = new Set();
|
||||
Object.keys(versionFiles).forEach(version => {
|
||||
Object.keys(versionFiles[version]).forEach(id => {
|
||||
Object.keys(versionFiles).forEach((version) => {
|
||||
Object.keys(versionFiles[version]).forEach((id) => {
|
||||
allIds.add(id);
|
||||
});
|
||||
});
|
||||
|
@ -219,10 +219,10 @@ function docData() {
|
|||
const metadatas = [];
|
||||
|
||||
languages
|
||||
.filter(language => language.enabled)
|
||||
.forEach(language => {
|
||||
versions.forEach(version => {
|
||||
allIds.forEach(id => {
|
||||
.filter((language) => language.enabled)
|
||||
.forEach((language) => {
|
||||
versions.forEach((version) => {
|
||||
allIds.forEach((id) => {
|
||||
let useVersion;
|
||||
try {
|
||||
useVersion = docVersion(id, version);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue