Use modern js.
This commit is contained in:
parent
8ccf997b7e
commit
a5bff28663
68
.github/manual_lint.js
vendored
68
.github/manual_lint.js
vendored
|
@ -1,27 +1,17 @@
|
|||
// fetch all .md files.
|
||||
// Check it's content.
|
||||
// Console.LogError for errors.
|
||||
const util = require("util");
|
||||
const glob = util.promisify(require('glob'));
|
||||
const fs = require("fs").promises;
|
||||
const path = require('path');
|
||||
|
||||
|
||||
const glob = require("glob");
|
||||
const fs = require("fs");
|
||||
var path = require('path');
|
||||
async function main() {
|
||||
var errors = [];
|
||||
var directories = await glob(__dirname + '../../dishes/**/*.md');
|
||||
|
||||
var errors = 0;
|
||||
for (var filePath of directories) {
|
||||
var data = await fs.readFile(filePath, 'utf8');
|
||||
|
||||
var getDirectories = function (src, callback) {
|
||||
glob(src + '../../dishes/**/*.md', callback);
|
||||
};
|
||||
|
||||
getDirectories(__dirname, function (err, res) {
|
||||
res.forEach(filePath => {
|
||||
// console.log("Linting file: " + filePath + " ...");
|
||||
|
||||
fs.readFile(filePath, 'utf8' , (err, data) => {
|
||||
data = data.replace('\r\n', '\n');
|
||||
data = data.replace('\r', '\n');
|
||||
|
||||
dataLines = data.split('\n');
|
||||
dataLines = data.split('\n').map(t => t.trim());
|
||||
var filename = path.parse(filePath).base.replace(".md","");
|
||||
|
||||
titles = dataLines.filter(t => t.startsWith('#'));
|
||||
|
@ -29,35 +19,35 @@ getDirectories(__dirname, function (err, res) {
|
|||
.filter(t => t.startsWith('## '));
|
||||
|
||||
if (titles[0].trim() != "# " + filename + "的做法") {
|
||||
console.error(`File ${filePath} is invalid! It's title should be: ${"# " + filename + "的做法"}! It was ${titles[0].trim()}!`);
|
||||
errors++;
|
||||
return;
|
||||
errors.push(`File ${filePath} is invalid! It's title should be: ${"# " + filename + "的做法"}! It was ${titles[0].trim()}!`);
|
||||
continue;
|
||||
}
|
||||
if (secondTitles.length != 4) {
|
||||
console.error(`File ${filePath} is invalid! It doesn't has 4 second titles!`);
|
||||
errors++;
|
||||
return;
|
||||
errors.push(`File ${filePath} is invalid! It doesn't has 4 second titles!`);
|
||||
continue;
|
||||
}
|
||||
if (secondTitles[0].trim() != "## 必备原料和工具") {
|
||||
console.error(`File ${filePath} is invalid! The first title is NOT 必备原料和工具! It was ${secondTitles[0]}!`);
|
||||
errors++;
|
||||
errors.push(`File ${filePath} is invalid! The first title is NOT 必备原料和工具! It was ${secondTitles[0]}!`);
|
||||
}
|
||||
if (secondTitles[1].trim() != "## 计算") {
|
||||
console.error(`File ${filePath} is invalid! The second title is NOT 计算!`);
|
||||
errors++;
|
||||
errors.push(`File ${filePath} is invalid! The second title is NOT 计算!`);
|
||||
}
|
||||
if (secondTitles[2].trim() != "## 操作") {
|
||||
console.error(`File ${filePath} is invalid! The thrid title is NOT 操作!`);
|
||||
errors++;
|
||||
errors.push(`File ${filePath} is invalid! The thrid title is NOT 操作!`);
|
||||
}
|
||||
if (secondTitles[3].trim() != "## 附加内容") {
|
||||
console.error(`File ${filePath} is invalid! The fourth title is NOT 附加内容!`);
|
||||
errors++;
|
||||
errors.push(`File ${filePath} is invalid! The fourth title is NOT 附加内容!`);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
if (errors > 0) {
|
||||
throw `Found ${errors} errors! Please fix!`;
|
||||
if (errors.length > 0) {
|
||||
for (var error of errors) {
|
||||
console.error(error + "\n");
|
||||
}
|
||||
|
||||
var message = `Found ${errors.length} errors! Please fix!`;
|
||||
throw new Error(message);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
|
@ -1,4 +1,4 @@
|
|||
# 吐司+果酱的做法
|
||||
# 吐司果酱的做法
|
||||
|
||||
饱腹感的懒人快速营养早餐,2min 搞定
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user