Переглянути джерело

extract all lbac markdown files

Benoît Hubert 6 роки тому
батько
коміт
0b00f2189b
1 змінених файлів з 37 додано та 0 видалено
  1. 37 0
      react-tuto/tools/extractAll.js

+ 37 - 0
react-tuto/tools/extractAll.js

@@ -0,0 +1,37 @@
+const fs = require('fs');
+const path = require('path');
+const { promisify } = require('util');
+const extract = require('./extract');
+
+const readdirAsync = promisify(fs.readdir);
+const readFileAsync = promisify(fs.readFile);
+const writeFileAsync = promisify(fs.writeFile);
+
+if (!process.env.MD_PATH) {
+  console.log('process.env.MD_PATH must be defined');
+}
+const markdownPath = path.join(process.cwd(), process.env.MD_PATH);
+
+async function run(filterFunc) {
+  const allFiles = await readdirAsync(markdownPath);
+  const tutoFiles = allFiles.filter(filterFunc);
+  const promises = tutoFiles.map(async tuto => {
+    const tutoPath = path.join(markdownPath, tuto);
+    const buf = await readFileAsync(tutoPath);
+    const md = buf.toString();
+    console.log(md.substr(0, 10));
+    try {
+      return extract(md);
+    } catch (err) {
+      console.log(err.message);
+    }
+  });
+  const tutos = await Promise.all(promises);
+  const json = JSON.stringify(tutos);
+  await writeFileAsync('lbac.json', json);
+  process.exit();
+}
+
+const filterFunc = f => f.startsWith('tutor');
+
+run(filterFunc);