mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-10 15:47:23 +02:00
Run Prettier
This commit is contained in:
parent
a7b5148e06
commit
fbae29b0ff
29 changed files with 1311 additions and 987 deletions
|
@ -7,34 +7,36 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
const CWD = process.cwd();
|
||||
const CWD = process.cwd();
|
||||
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const os = require('os');
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const os = require("os");
|
||||
let languages;
|
||||
if (fs.existsSync(CWD + '/languages.js')) {
|
||||
languages = require(CWD + '/languages.js');
|
||||
if (fs.existsSync(CWD + "/languages.js")) {
|
||||
languages = require(CWD + "/languages.js");
|
||||
} else {
|
||||
languages = [{
|
||||
enabled: true,
|
||||
name: 'English',
|
||||
tag: 'en',
|
||||
}];
|
||||
languages = [
|
||||
{
|
||||
enabled: true,
|
||||
name: "English",
|
||||
tag: "en"
|
||||
}
|
||||
];
|
||||
}
|
||||
const glob = require('glob');
|
||||
const glob = require("glob");
|
||||
|
||||
function splitHeader(content) {
|
||||
const lines = content.split(os.EOL);
|
||||
let i = 1;
|
||||
for (; i < lines.length - 1; ++i) {
|
||||
if (lines[i] === '---') {
|
||||
if (lines[i] === "---") {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return {
|
||||
header: lines.slice(1, i + 1).join('\n'),
|
||||
content: lines.slice(i + 1).join('\n'),
|
||||
header: lines.slice(1, i + 1).join("\n"),
|
||||
content: lines.slice(i + 1).join("\n")
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -42,26 +44,26 @@ function splitHeader(content) {
|
|||
function extractMetadata(content) {
|
||||
const metadata = {};
|
||||
const both = splitHeader(content);
|
||||
const lines = both.header.split('\n');
|
||||
const lines = both.header.split("\n");
|
||||
for (let i = 0; i < lines.length - 1; ++i) {
|
||||
const keyvalue = lines[i].split(':');
|
||||
const keyvalue = lines[i].split(":");
|
||||
const key = keyvalue[0].trim();
|
||||
let value = keyvalue.slice(1).join(':').trim();
|
||||
let value = keyvalue.slice(1).join(":").trim();
|
||||
// Handle the case where you have "Community #10"
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
} catch (e) {}
|
||||
metadata[key] = value;
|
||||
}
|
||||
return {metadata, rawContent: both.content};
|
||||
return { metadata, rawContent: both.content };
|
||||
}
|
||||
|
||||
function processMetadata(file) {
|
||||
const result = extractMetadata(fs.readFileSync(file, 'utf8'));
|
||||
const result = extractMetadata(fs.readFileSync(file, "utf8"));
|
||||
|
||||
const regexSubFolder = /docs\/(.*)\/.*/;
|
||||
|
||||
let language = 'en';
|
||||
let language = "en";
|
||||
const match = regexSubFolder.exec(file);
|
||||
if (match) {
|
||||
language = match[1];
|
||||
|
@ -74,26 +76,25 @@ function processMetadata(file) {
|
|||
// in permalink replace /en/ language with localized folder
|
||||
metadata.permalink = metadata.permalink.replace(
|
||||
/\/en\//g,
|
||||
'/' + language + '/'
|
||||
"/" + language + "/"
|
||||
);
|
||||
// change ids previous, next
|
||||
metadata.localized_id = metadata.id;
|
||||
metadata.id = language + '-' + metadata.id;
|
||||
metadata.id = language + "-" + metadata.id;
|
||||
if (metadata.previous) {
|
||||
metadata.previous_id = metadata.previous;
|
||||
metadata.previous = language + '-' + metadata.previous;
|
||||
metadata.previous = language + "-" + metadata.previous;
|
||||
}
|
||||
if (metadata.next) {
|
||||
metadata.next_id = metadata.next;
|
||||
metadata.next = language + '-' + metadata.next;
|
||||
metadata.next = language + "-" + metadata.next;
|
||||
}
|
||||
metadata.language = language;
|
||||
|
||||
return {metadata, rawContent: rawContent};
|
||||
return { metadata, rawContent: rawContent };
|
||||
}
|
||||
|
||||
function generateDocsMetadata() {
|
||||
|
||||
const regexSubFolder = /docs\/(.*)\/.*/;
|
||||
|
||||
const enabledLanguages = [];
|
||||
|
@ -103,9 +104,9 @@ function generateDocsMetadata() {
|
|||
|
||||
const metadatas = [];
|
||||
|
||||
const files = glob.sync(CWD + '/../docs/**');
|
||||
const files = glob.sync(CWD + "/../docs/**");
|
||||
files.forEach(file => {
|
||||
let language = 'en';
|
||||
let language = "en";
|
||||
const match = regexSubFolder.exec(file);
|
||||
if (match) {
|
||||
language = match[1];
|
||||
|
@ -117,29 +118,28 @@ function generateDocsMetadata() {
|
|||
|
||||
const extension = path.extname(file);
|
||||
|
||||
if (extension === '.md' || extension === '.markdown') {
|
||||
if (extension === ".md" || extension === ".markdown") {
|
||||
const res = processMetadata(file);
|
||||
const metadata = res.metadata;
|
||||
metadatas.push(metadata);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
fs.writeFileSync(
|
||||
__dirname + '/../core/metadata.js',
|
||||
'/**\n' +
|
||||
' * @generated\n' +
|
||||
' */\n' +
|
||||
'module.exports = ' +
|
||||
__dirname + "/../core/metadata.js",
|
||||
"/**\n" +
|
||||
" * @generated\n" +
|
||||
" */\n" +
|
||||
"module.exports = " +
|
||||
JSON.stringify(metadatas, null, 2) +
|
||||
';'
|
||||
";"
|
||||
);
|
||||
}
|
||||
|
||||
function generateBlogMetadata() {
|
||||
const metadatas = [];
|
||||
|
||||
let files = glob.sync(CWD + '/../blog/**/*.*');
|
||||
let files = glob.sync(CWD + "/../blog/**/*.*");
|
||||
files.sort().reverse().forEach(file => {
|
||||
// Transform
|
||||
// 2015-08-13-blog-post-name-0.5.md
|
||||
|
@ -147,17 +147,17 @@ function generateBlogMetadata() {
|
|||
// 2015/08/13/blog-post-name-0-5.html
|
||||
const filePath = path
|
||||
.basename(file)
|
||||
.replace('-', '/')
|
||||
.replace('-', '/')
|
||||
.replace('-', '/')
|
||||
.replace("-", "/")
|
||||
.replace("-", "/")
|
||||
.replace("-", "/")
|
||||
// react-middleware is broken with files that contains multiple .
|
||||
// like react-0.14.js
|
||||
.replace(/\./g, '-')
|
||||
.replace(/\-md$/, '.html');
|
||||
const result = extractMetadata(fs.readFileSync(file, {encoding: 'utf8'}));
|
||||
.replace(/\./g, "-")
|
||||
.replace(/\-md$/, ".html");
|
||||
const result = extractMetadata(fs.readFileSync(file, { encoding: "utf8" }));
|
||||
const rawContent = result.rawContent;
|
||||
const metadata = Object.assign(
|
||||
{path: filePath, content: rawContent},
|
||||
{ path: filePath, content: rawContent },
|
||||
result.metadata
|
||||
);
|
||||
metadata.id = metadata.title;
|
||||
|
@ -165,13 +165,13 @@ function generateBlogMetadata() {
|
|||
});
|
||||
|
||||
fs.writeFileSync(
|
||||
__dirname + '/../core/MetadataBlog.js',
|
||||
'/**\n' +
|
||||
' * @generated\n' +
|
||||
' */\n' +
|
||||
'module.exports = ' +
|
||||
__dirname + "/../core/MetadataBlog.js",
|
||||
"/**\n" +
|
||||
" * @generated\n" +
|
||||
" */\n" +
|
||||
"module.exports = " +
|
||||
JSON.stringify(metadatas, null, 2) +
|
||||
';'
|
||||
";"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue