Update and housekeeping

This commit is contained in:
Angelos Chalaris
2019-08-21 13:00:53 +03:00
parent 255df75ad3
commit 58cf802828
40 changed files with 754 additions and 630 deletions

View File

@ -20,10 +20,7 @@ const getFilesInDir = (directoryPath, withPath, exclude = null) => {
if (withPath) {
// a hacky way to do conditional array.map
return directoryFilenames.reduce((fileNames, fileName) => {
if (
exclude == null ||
!exclude.some(toExclude => fileName === toExclude)
)
if (exclude == null || !exclude.some(toExclude => fileName === toExclude))
fileNames.push(`${directoryPath}/${fileName}`);
return fileNames;
}, []);
@ -52,25 +49,24 @@ const getCodeBlocks = str => {
results.push(match);
});
}
const replacer = new RegExp(
`\`\`\`${config.language}([\\s\\S]*?)\`\`\``,
'g',
const replacer = new RegExp(`\`\`\`${config.language}([\\s\\S]*?)\`\`\``, 'g');
const optionalReplacer = new RegExp(`\`\`\`${config.optionalLanguage}([\\s\\S]*?)\`\`\``, 'g');
results = results.map(v =>
v
.replace(replacer, '$1')
.replace(optionalReplacer, '$1')
.trim()
);
const optionalReplacer = new RegExp(
`\`\`\`${config.optionalLanguage}([\\s\\S]*?)\`\`\``,
'g',
);
results = results.map(v => v.replace(replacer, '$1').replace(optionalReplacer, '$1').trim());
if(results.length > 2)
if (results.length > 2)
return {
style: results[0],
code: results[1],
example: results[2],
example: results[2]
};
return {
style: '',
code: results[0],
example: results[1],
example: results[1]
};
};
// Gets the textual content for a snippet file.
@ -95,9 +91,7 @@ const readSnippets = snippetsPath => {
let snippets = {};
try {
for (let snippet of snippetFilenames) {
let data = frontmatter(
fs.readFileSync(path.join(snippetsPath, snippet), 'utf8'),
);
let data = frontmatter(fs.readFileSync(path.join(snippetsPath, snippet), 'utf8'));
snippets[snippet] = {
id: snippet.slice(0, -3),
title: data.attributes.title,
@ -106,11 +100,11 @@ const readSnippets = snippetsPath => {
fileName: snippet,
text: getTextualContent(data.body),
codeBlocks: getCodeBlocks(data.body),
tags: data.attributes.tags.split(',').map(t => t.trim()),
tags: data.attributes.tags.split(',').map(t => t.trim())
},
meta: {
hash: hashData(data.body),
},
hash: hashData(data.body)
}
};
}
} catch (err) {
@ -125,5 +119,5 @@ module.exports = {
hashData,
getCodeBlocks,
getTextualContent,
readSnippets,
readSnippets
};