1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-09-08 09:33:51 +02:00

Include languages in index file (#2696)

This commit is contained in:
Agniva De Sarker 2019-01-10 13:52:44 +05:30 committed by GitHub
parent 11f109b466
commit d7f6df4ed7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -10,30 +10,39 @@ function parsePagename(pagefile) {
return pagefile.split(/\//)[2].replace(/\.md$/, ''); return pagefile.split(/\//)[2].replace(/\.md$/, '');
} }
function buildShortPagesIndex(files) { function parseLanguage(pagefile) {
var pagesFolder = pagefile.split(/\//)[0];
return pagesFolder == 'pages' ? 'en' : pagesFolder.replace(/^pages./, '');
}
function buildPagesIndex(files) {
var reducer = function (index, file) { var reducer = function (index, file) {
var os = parsePlatform(file); var os = parsePlatform(file);
var page = parsePagename(file); var page = parsePagename(file);
var language = parseLanguage(file);
if (index[page]) { if (index[page]) {
index[page].push(os); if (!index[page].platform.includes(os)) {
index[page].platform.push(os);
}
if (!index[page].language.includes(language)) {
index[page].language.push(language);
}
} else { } else {
index[page] = [os]; index[page] = {name: page, platform: [os], language: [language]};
} }
return index; return index;
}; };
return files.reduce(reducer, {}); var obj = files.reduce(reducer, {});
} return Object.keys(obj)
.sort()
function buildPagesIndex(shortIndex) { .map(function(page) {
return Object.keys(shortIndex) return {
.sort() name: page,
.map(function (page) { platform: obj[page]["platform"],
return { language: obj[page]["language"]
name: page, };
platform: shortIndex[page] });
};
});
} }
function saveIndex(index) { function saveIndex(index) {
@ -43,8 +52,7 @@ function saveIndex(index) {
console.log(JSON.stringify(indexFile)); console.log(JSON.stringify(indexFile));
} }
glob('pages/**/*.md', function (er, files) { glob('pages*/**/*.md', function (er, files) {
var shortIndex = buildShortPagesIndex(files); var index = buildPagesIndex(files);
var index = buildPagesIndex(shortIndex);
saveIndex(index); saveIndex(index);
}); });