feat(challenge-md): Parse solutions from md
This commit is contained in:
20
tools/challenge-md-parser/solution-to-data.js
Normal file
20
tools/challenge-md-parser/solution-to-data.js
Normal file
@ -0,0 +1,20 @@
|
||||
const visit = require('unist-util-visit');
|
||||
const { selectAll } = require('hast-util-select');
|
||||
|
||||
const { sectionFilter } = require('./utils');
|
||||
|
||||
function createPlugin() {
|
||||
return function transformer(tree, file) {
|
||||
function visitor(node) {
|
||||
if (sectionFilter(node, 'solution')) {
|
||||
const solutions = selectAll('code', node).map(
|
||||
element => element.children[0].value
|
||||
);
|
||||
file.data.solutions = solutions;
|
||||
}
|
||||
}
|
||||
visit(tree, 'element', visitor);
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = createPlugin;
|
Reference in New Issue
Block a user