-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcreateTutorials.js
45 lines (30 loc) · 1.14 KB
/
createTutorials.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const fs = require('fs');
const path = require('path');
var parser = require('./parser');
function main(tutorialsDir, outputFile, snippetLength) {
var tutorials = {};
let dirContent = fs.readdirSync(tutorialsDir);
dirContent.forEach(function (dirItem) {
item = `${tutorialsDir}/${dirItem}`;
fileStats = fs.lstatSync(item);
if (!fileStats.isFile()) {
var indexAsciidocPath = path.join("./", item, "index.asciidoc");
if (fs.existsSync(indexAsciidocPath)) {
var result = new parser.Parser().parse(indexAsciidocPath);
var title = result.title;
var subtitle =result.subtitle;
var description = result.description;
tutorials[dirItem] = {
title: title,
subtitle: subtitle,
description, description
}
}
}
});
console.log(tutorials);
fs.writeFileSync(path.join("./", outputFile), JSON.stringify(tutorials));
}
if (process.argv.length > 3) {
main(process.argv[2], process.argv[3], process.argv[4]);
}