diff --git a/CHANGELOG.md b/CHANGELOG.md index 67bbf63..0f675fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Clarify which courses / challenges are supported and display a nice error when it is not supported (#21) + ## [1.1.1] - 2023-12-18 ### Fixed diff --git a/README.md b/README.md index c67eac2..cb12420 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,11 @@ docker run --rm -it -v $(pwd)/output:/output ghcr.io/openzim/freecodecamp:latest ## Course Options and Limitations -Currently this scraper only supports Javascript challenges. A list of courses is passed to the scraper as a comma seperated list of 'course slugs'. +Currently this scraper only supports challenge types 1, 4 and 5 (challenge types can be found in the markdown file describing the challenge). This means courses from `javascript-algorithms-and-data-structures`, `project-euler`, `rosetta-code` and most of `coding-interview-prep` curriculum (frontend projects are type 3 and are not working). + +A list of courses is passed to the scraper as a comma seperated list of 'course slugs'. + +When you pass a course with an unsupported challenge to the scraper, the ZIM will still create but an error message will be displayed instead of the challenge with wrong type. You can find a list of course slugs in the [freeCodeCamp curriculum folder](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/02-javascript-algorithms-and-data-structures) diff --git a/zimui/src/assets/dead_kiwix.png b/zimui/src/assets/dead_kiwix.png new file mode 100644 index 0000000..fc0beeb Binary files /dev/null and b/zimui/src/assets/dead_kiwix.png differ diff --git a/zimui/src/pages/ChallengePage.vue b/zimui/src/pages/ChallengePage.vue index b51c696..b794d67 100644 --- a/zimui/src/pages/ChallengePage.vue +++ b/zimui/src/pages/ChallengePage.vue @@ -6,6 +6,9 @@ import ChallengeInstructions from '../components/challenge/ChallengeInstructions import ChallengeRunner from '../components/challenge/ChallengeRunner.vue' import { parseChallenge } from '@/utils/parseChallenge' import ConsoleLogger from '@/components/challenge/ConsoleLogger.vue' +import errimageData from '../assets/dead_kiwix.png' + +const errimage = ref(errimageData) export type ChallengeJSON = { title: string; slug: string } export type ChallengesJSON = { @@ -72,7 +75,7 @@ await updateChallenge(params.value)