feat: integrate The Odin Project (#48617)

* 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>
This commit is contained in:
Sem Bauke
2023-01-19 13:55:26 +01:00
committed by GitHub
parent 5bc8c5d2d0
commit df53c7778c
47 changed files with 2506 additions and 50 deletions
@@ -2,6 +2,7 @@
exports[`challenge parser it should not parse directives we do not use 1`] = `
Object {
"assignments": Array [],
"description": "<section id=\\"description\\">
<p>:root appears, :import appears</p>
<p>the next paragraph should appear</p>
@@ -19,6 +20,7 @@ a container directive
exports[`challenge parser it should parse video questions 1`] = `
Object {
"assignments": Array [],
"description": "<section id=\\"description\\">
<p>Paragraph 1</p>
<pre><code class=\\"language-html\\">code example
@@ -48,6 +50,7 @@ Object {
exports[`challenge parser should import md from other files 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>
@@ -112,6 +115,7 @@ for (let index = 0; index < array.length; index++) {
exports[`challenge parser should not mix other YAML with the frontmatter 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>
@@ -176,6 +180,7 @@ Object {
exports[`challenge parser should parse a more realistic md file 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>
@@ -365,6 +370,7 @@ assert(
exports[`challenge parser should parse a simple md file 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>
@@ -465,6 +471,7 @@ if(let x of xs) {
exports[`challenge parser should parse frontmatter 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>
@@ -526,6 +533,7 @@ Object {
exports[`challenge parser should parse gfm strikethrough and frontmatter 1`] = `
Object {
"assignments": Array [],
"challengeFiles": Array [
Object {
"contents": "<html>