mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-30 21:03:58 -05:00
* feat: integrate the odin project * feat: add assignment to markdown parser * feat: add assignment logic * fix: doe not always show assignment block * fix: some other stuff * fix: introdiction to html and css questions * fix: remove assignments after first question * fix: update snapshots and tests * feat: create rest of HTML foundation course structure * feat: meta file * feat: add descriptions to 'html boiler plate' questions * feat: add description for 'working with text and list items' * fix: multiple logic issues * fix: make linter happy * feat: add description for 'links and images' questions * fix: add assignments to Joi schema * fix: tests * fix: schema * fix: add help category * fix: change to possessive wording * fix: set upcoming change to true in meta file * fix: spell unordered and ordered correctly * fix: switch order in meta * fix: spell boilerplate correctly * feat: add final project * chore: add more tests to the final project * fix: question spelling * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * Apply suggestions from code review Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> * fix: translation * Update client/i18n/locales/english/translations.json Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * fix: create new challenge type * fix: get the new challenge type working and remove ol css * fix: translation location * fix: add challenge type to epic * fix: set correct video * fix: max challengeType number * fix: spelling/grammar errors in project * fix: check if anchor tags is empty * Apply suggestions from code review Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * Update tools/challenge-parser/parser/plugins/add-video-question.js Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * chore: multiple suggestions * chore: separate assignments into different plugin * Apply suggestions from code review Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com> * fix: dubble answer header after review * fix: issue with Gatsby hopefully * fix: add assignments to Gatsby's Challenge schema * Update curriculum/schema/challengeSchema.js Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Naomi Carrigan <nhcarrigan@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
25 lines
679 B
JavaScript
25 lines
679 B
JavaScript
const getAllBetween = require('./utils/between-headings');
|
|
|
|
const mdastToHtml = require('./utils/mdast-to-html');
|
|
const { splitOnThematicBreak } = require('./utils/split-on-thematic-break');
|
|
|
|
function plugin() {
|
|
return transformer;
|
|
|
|
function transformer(tree, file) {
|
|
const assigmentNodes = getAllBetween(tree, '--assignment--');
|
|
|
|
const assignment = getAssignments(assigmentNodes).filter(a => a != '');
|
|
|
|
file.data.assignments = assignment;
|
|
}
|
|
|
|
function getAssignments(assignmentNodes) {
|
|
const assignmentGroups = splitOnThematicBreak(assignmentNodes);
|
|
|
|
return assignmentGroups.map(assignment => mdastToHtml(assignment));
|
|
}
|
|
}
|
|
|
|
module.exports = plugin;
|