Feat: add new Markdown parser (#39800)

and change all the challenges to new `md` format.
This commit is contained in:
Oliver Eyton-Williams
2020-11-27 19:02:05 +01:00
committed by GitHub
parent a07f84c8ec
commit 0bd52f8bd1
2580 changed files with 113436 additions and 111979 deletions

View File

@ -3,8 +3,14 @@ const crypto = require('crypto');
function createChallengeNode(challenge, reporter) {
// challengeType 11 is for video challenges (they only have instructions)
// challengeType 7 is for certificates (they only have tests)
// TODO: either handle empty descriptions inside Gatsby OR ensure that
// description defaults to '' when creating challenges.
// ditto for seeds and instructions.
// create-md should, then, not create empty seed, description or instruction
// sections.
if (
typeof challenge.description[0] !== 'string' &&
typeof challenge.description !== 'string' &&
(challenge.challengeType !== 11 && challenge.challengeType !== 7)
) {
reporter.warn(`

View File

@ -34,7 +34,7 @@ exports.sourceNodes = function sourceChallengesSourceNodes(
});
watcher.on('change', filePath =>
/\.md$/.test(filePath)
/\.md?$/.test(filePath)
? onSourceChange(filePath)
.then(challenge => {
reporter.info(
@ -61,13 +61,14 @@ File changed at ${filePath}, replacing challengeNode id ${challenge.id}
.then(challenges =>
challenges.map(challenge => createVisibleChallenge(challenge))
)
.catch(e =>
.catch(e => {
console.log(e);
reporter.panic(`fcc-source-challenges
${e.message}
`)
);
`);
});
}
function createVisibleChallenge(challenge) {