build-index: clean syntax
This commit is contained in:

committed by
Agniva De Sarker

parent
9f2b387cbe
commit
e5d84c429b
@@ -1,6 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var glob = require('glob');
|
const glob = require('glob');
|
||||||
|
|
||||||
function parsePlatform(pagefile) {
|
function parsePlatform(pagefile) {
|
||||||
return pagefile.split(/\//)[1];
|
return pagefile.split(/\//)[1];
|
||||||
@@ -11,29 +11,33 @@ function parsePagename(pagefile) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function parseLanguage(pagefile) {
|
function parseLanguage(pagefile) {
|
||||||
var pagesFolder = pagefile.split(/\//)[0];
|
let pagesFolder = pagefile.split(/\//)[0];
|
||||||
return pagesFolder == 'pages' ? 'en' : pagesFolder.replace(/^pages./, '');
|
return pagesFolder == 'pages' ? 'en' : pagesFolder.replace(/^pages./, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildPagesIndex(files) {
|
function buildPagesIndex(files) {
|
||||||
var reducer = function (index, file) {
|
let reducer = function (index, file) {
|
||||||
var os = parsePlatform(file);
|
let os = parsePlatform(file);
|
||||||
var page = parsePagename(file);
|
let page = parsePagename(file);
|
||||||
var language = parseLanguage(file);
|
let language = parseLanguage(file);
|
||||||
|
|
||||||
if (index[page]) {
|
if (index[page]) {
|
||||||
if (!index[page].platform.includes(os)) {
|
if (!index[page].platform.includes(os)) {
|
||||||
index[page].platform.push(os);
|
index[page].platform.push(os);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!index[page].language.includes(language)) {
|
if (!index[page].language.includes(language)) {
|
||||||
index[page].language.push(language);
|
index[page].language.push(language);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
index[page] = {name: page, platform: [os], language: [language]};
|
index[page] = {name: page, platform: [os], language: [language]};
|
||||||
}
|
}
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
};
|
};
|
||||||
|
|
||||||
var obj = files.reduce(reducer, {});
|
let obj = files.reduce(reducer, {});
|
||||||
|
|
||||||
return Object.keys(obj)
|
return Object.keys(obj)
|
||||||
.sort()
|
.sort()
|
||||||
.map(function(page) {
|
.map(function(page) {
|
||||||
@@ -46,13 +50,14 @@ function buildPagesIndex(files) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveIndex(index) {
|
function saveIndex(index) {
|
||||||
var indexFile = {
|
let indexFile = {
|
||||||
commands: index
|
commands: index
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(JSON.stringify(indexFile));
|
console.log(JSON.stringify(indexFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
glob('pages*/**/*.md', function (er, files) {
|
glob('pages*/**/*.md', function (er, files) {
|
||||||
var index = buildPagesIndex(files);
|
let index = buildPagesIndex(files);
|
||||||
saveIndex(index);
|
saveIndex(index);
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user