Commit Graph
100 Commits
Author SHA1 Message Date
ee1e8abd87 feat(curriculum): restore seed + solution to Chinese (#40683)
* feat(tools): add seed/solution restore script

* chore(curriculum): remove empty sections' markers

* chore(curriculum): add seed + solution to Chinese

* chore: remove old formatter

* fix: update getChallenges

parse translated challenges separately, without reference to the source

* chore(curriculum): add dashedName to English

* chore(curriculum): add dashedName to Chinese

* refactor: remove unused challenge property 'name'

* fix: relax dashedName requirement

* fix: stray tag

Remove stray `pre` tag from challenge file.

Signed-off-by: nhcarrigan <nhcarrigan@gmail.com>

Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2021-01-12 19:31:00 -07:00
Oliver Eyton-WilliamsandGitHub eb8359c281 feat: add script to annotate challenges for translation (#40366)
* feat: add script to annotate challenges for translation

* fix: readdirp-walk -> readdirp

* fix: remove notranslate for frontmatter

* fix: don't output seed/solution

* feat: convert to function

Also puts in some missing 'async's to make it clearer what returns
promises.

* refactor: use meaningful names

* refactor: remove comments

* chore: update dependencies

* chore: move dir

* fix(crowdin): annotate individual answers
2020-12-23 12:04:56 -07:00
Oliver Eyton-WilliamsandGitHub 22fbc62f88 chore: format curriculum (#37912) 2020-12-15 21:22:02 +05:30
1f65b3b7eb fix: require project completion to claim certs (#40399)
Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>

Co-authored-by: Kristofer Koishigawa <scissorsneedfoodtoo@gmail.com>
2020-12-08 07:53:02 -08:00
Oliver Eyton-WilliamsandGitHub 4f4bbfbb6c chore(api): migrate from express-validator 5 to 6 (#40363) 2020-12-03 21:17:38 +05:30
Oliver Eyton-WilliamsandGitHub c1436445a7 chore(api): remove unused packages (#40271) 2020-11-28 12:41:33 +05:30
Oliver Eyton-WilliamsandGitHub e20c61b7f5 chore(curriculum): remove unused packages (#40273) 2020-11-28 12:40:05 +05:30
Oliver Eyton-WilliamsandGitHub 0bd52f8bd1 Feat: add new Markdown parser (#39800)
and change all the challenges to new `md` format.
2020-11-27 10:02:05 -08:00
Oliver Eyton-WilliamsandGitHub 24f57ca7c2 fix: ignore .env in pipelines (#40327) 2020-11-27 09:32:50 -06:00
Oliver Eyton-WilliamsandGitHub 25429b9f3f fix: update linter for new challenge format (#40317)
Also uses yaml for better vscode integration
2020-11-26 17:42:57 +05:30
Oliver Eyton-WilliamsandGitHub ebb4e0d5cc fix: default to .env (#40315) 2020-11-25 23:15:59 +05:30
Oliver Eyton-WilliamsandGitHub c0472890dd chore(learn): remove unused dependencies (#40270) 2020-11-21 23:41:10 +05:30
Oliver Eyton-WilliamsandGitHub aebe53312c chore: Cypress action v1 -> v2 (#40253) 2020-11-17 14:22:15 +03:00
Oliver Eyton-WilliamsandGitHub b2e2f33cf1 feat(api): allow redirects with a returnTo param (#40161) 2020-11-07 13:35:25 +05:30
Oliver Eyton-WilliamsandGitHub b0e3d7369b fix(learn): reload when challenge tests change (#39832) 2020-11-02 11:22:01 -06:00
a7eba00690 feat: allow user to redirect after signin (#40069)
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
2020-11-02 15:40:43 +05:30
e4a9b2988c feat: update Ask for help (#40114)
* feat: get helpCategory from frontmatter

* DEBUG: sets all the projects to JavaScript

This is just so the tests pass, it'll need to go.

* fix: updated helpCategoryMap categories

* fix: added Python to helpCategory frontmatter key

Co-authored-by: Randell Dawson <rdawson@onepathtech.com>
2020-10-30 14:10:34 -05:00
Oliver Eyton-WilliamsandMrugesh Mohapatra 0caa2fe782 fix: only test audited certificates 2020-10-22 03:18:16 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 92a60f8bce fix(tools): update translation parser
Since we're adding more validation we can simplify the parser and
make sure it does catch all the comments.  Rather than worry about a
load of edge cases that do not appear in our challenges.
2020-10-22 03:18:16 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 793fa8fb52 test: check replaced iff translatable comment
All translatable comments should be replaced, but nothing else.
2020-10-22 03:18:13 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra d2ecd03013 fix: recreate comment map 2020-10-22 02:51:46 +05:30
a39235be83 feat(learn): allow word breaks in tool panel (#39986)
This is motivated by a desire to remove <wbr>s from the test texts

Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

Co-authored-by: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>
2020-10-16 16:20:50 +05:30
Oliver Eyton-WilliamsandGitHub 35c4020f4d fix(curriculum): test typos (#39984) 2020-10-15 14:49:57 -04:00
Oliver Eyton-WilliamsandGitHub 89737e1406 refactor(learn): remove static prism css (#39981) 2020-10-15 18:13:51 +05:30
Oliver Eyton-WilliamsandGitHub a71150074d fix(learn): preserve whitespace in the tool panel (#39973) 2020-10-14 21:40:15 +05:30
Oliver Eyton-WilliamsandGitHub 3e00167ba4 chore(curriculum): replace validator with Joi (#39959)
We only used validator in one place and Joi could do the same job.
2020-10-13 17:25:24 +05:30
Oliver Eyton-WilliamsandGitHub 38323f858f fix(client): update nanoid (#39960) 2020-10-13 17:24:46 +05:30
Oliver Eyton-WilliamsandGitHub d94a240cf4 fix(cypress): update setting of env vars (#39962) 2020-10-13 17:22:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra ebebe1ed5e test(e2e): check issue date appears on cert 2020-10-13 16:26:17 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 35f43e8886 chore: update date-fns 2020-10-13 16:26:17 +05:30
Oliver Eyton-Williams 6da9d105e0 chore(client): update testing-library 2020-10-12 14:15:51 +02:00
Oliver Eyton-Williams b9db30f7a1 refactor(client): move jest-dom into setup file 2020-10-12 14:11:52 +02:00
Oliver Eyton-WilliamsandMrugesh Mohapatra 6241335380 chore(parser): remove jest 2020-10-12 15:23:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra aa7a357aed chore(parser): minor version bumps 2020-10-12 15:23:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 216b78f9eb chore(api): minor version bumps 2020-10-12 15:23:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 59e81824a6 chore(client): minor version bumps 2020-10-12 15:23:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra dec409a4bd fix: s/localeTitle/title/g 2020-10-06 23:10:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 4a74567986 fix: remove title from Chinese chals 2020-10-06 23:10:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra a9092776b5 fix(curriculum): update 3 Chinese challenges 2020-10-06 23:10:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 1b895e7809 fix: translate title and dashName correctly 2020-10-06 23:10:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra ed2840cb1c refactor: use dashedName over dasherize(title) 2020-10-06 23:10:08 +05:30
2b60d14b5c test(client): match any dates (linkedin button) (#39754)
Co-authored-by: Twaha Rahman <39026437+Twaha-Rahman@users.noreply.github.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
2020-10-01 19:40:00 +05:30
Oliver Eyton-Williams 41b7a33100 fix: replace .chinese.md extension with .md 2020-09-29 22:09:05 +02:00
Oliver Eyton-Williams 2b9e38a17b fix: replace .english.md extension with .md 2020-09-29 22:09:04 +02:00
Oliver Eyton-Williams 9718244431 fix: watch curriculum changes 2020-09-29 22:09:02 +02:00
Oliver Eyton-Williams df532099bc test: stop relying on curriculum dir structure
Also refactors path resolution a little
2020-09-29 22:09:02 +02:00
Oliver Eyton-Williams 9089ddca5c fix: use location for language, not extension
Rather than relying on .lang.md this expects to find the English source
challenge in /curriculum/challenges/english/<translationPath>
2020-09-29 22:09:01 +02:00
Oliver Eyton-Williams 34f2c4ae32 refactor: acceptedLanguage -> supported 2020-09-29 22:08:59 +02:00
Oliver Eyton-WilliamsandGitHub 61ba415717 fix: tighten up ensure-env and env.js (#39694) 2020-09-26 00:40:17 +05:30
Oliver Eyton-WilliamsandGitHub f5f2fca28c fix(client): use mongoids for challenge.id (#39676) 2020-09-24 23:49:40 +05:30
Oliver Eyton-WilliamsandGitHub 4f68cc3126 fix: update env validation and include newest var (#39661) 2020-09-24 20:04:27 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 0a4316b0ae fix(client): update eslint and fix issues
The eslint config now includes rules that have been added to Gatsby.
This uncovered some problems with missing labels that have been fixed.
2020-09-24 16:29:55 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 5528823151 fix(client): add polyfill explicitly
Previously it was only present because of a chain of dependencies
2020-09-24 16:29:55 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 410ab87c61 fix(client): use new Gatsby --inspect 2020-09-24 16:29:55 +05:30
4b14f9297b fix: source certificates into Gatsby (#39648)
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
Co-authored-by: Shaun Hamilton <51722130+Sky020@users.noreply.github.com>
2020-09-24 16:04:35 +05:30
Oliver Eyton-WilliamsandGitHub 4f0959df1d fix: use position: fixed to avoid forcing Cypress (#39605) 2020-09-23 20:45:21 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra dd7fba4558 fix(learn): ignore missing editable regions
They should never be missing, so that bug should be squashed.  However,
for now, this gracefully deals with their absence.
2020-09-22 14:15:00 +05:30
Oliver Eyton-WilliamsandGitHub aecbc28798 fix(tools): helper utils (#39603) 2020-09-17 18:22:55 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 39b4aff4f8 fix(client): return frame-runner err correctly 2020-09-16 11:54:15 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 79105af50d test(e2e): submission of unfinished challenge urls 2020-09-16 11:54:15 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra c16785f74e fix(client): do not build Intro for missing blocks
This creates an empty page, but ideally it should be a 404
2020-09-16 11:54:14 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 1ce354a179 fix(client): show editor for React challenges 2020-09-16 11:54:14 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 07cf7e3e72 fix(client): set custom schema
Necessary for the time being, as all the multi-file challenges are
upcoming (and thus hidden)
2020-09-16 11:54:14 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 078b06e462 fix(curriculum): isUpcomingChange: true for new projects 2020-09-16 11:54:14 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 7bed07ee8a fix(tools): update parser for multi-file editor 2020-09-16 11:54:13 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 3cfd80a806 fix: handle editable region covering editor's top 2020-09-16 11:54:12 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 9df098953d Feat: editable dom element (#39341)
* feat: __testEditable allows editable region tests

It's not entirely isolated, but it makes it possible to select only the
element with id 'editable-only' which is built solely from code inside
the editable region.

* fix(client): missing editableContents -> ''

Previously it was added as the string 'undefined'

* fix: more informative error messages

* fix: DRY, correct and test getLines
2020-09-16 11:54:11 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 9a137573a7 fix: only show description in target editor 2020-09-16 11:54:11 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 2abefc27a2 fix: handle missing ERB 2020-09-16 11:54:11 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 78c3b42770 fix: scroll to editable region on mount 2020-09-16 11:54:10 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra a4c836c6d4 feat: open target editor on mount 2020-09-16 11:54:10 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 02aff4d400 feat: multiple concurrent editors 2020-09-16 11:54:10 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 2e7a2424c1 refactor: DRY out DesktopLayout 2020-09-16 11:54:10 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 3ea251383f fix: use loadable MonacoEditor 2020-09-16 11:54:10 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra ad83a2e3f4 feat: show one hint at a time 2020-09-16 11:54:09 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 68b223322f feat: make editable code available in tests 2020-09-16 11:54:09 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 6e091a7cdb test: update parser tests and snapshots 2020-09-16 11:54:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 0f3f27287d fix: unify single and multifile testing 2020-09-16 11:54:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra d7dc1acb4a chore: update lang tags on code blocks 2020-09-16 11:54:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 120bb342e8 fix: keep the zones in the right places
The description zone needs fixing, but the hint zone should behave correctly.
2020-09-16 11:54:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra e34bdded7d fix: region expansion
Now the top region can expand up and the bottom region down.
2020-09-16 11:54:08 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra f7ce54a154 fix: prevent deletion of editable region at bottom
If the first line of the greyed out region is deleted it now springs
back. As does the second line - which needs fixing
2020-09-16 11:54:07 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 52cb6adf02 refactor: sortFiles -> toSortedArray 2020-09-16 11:54:07 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 1ee5e24d0f feat(multi): insert description into editor 2020-09-16 11:54:07 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 59c838e8ca feat(multi): add editor decoration
The warning region does not grow at the edges This makes it harder for
the user to get into an odd state.  It might be better to have let the
user expand the second region at the trailing edge.  I'm not sure, and
that's harder to implement.
2020-09-16 11:54:07 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra dfbf1ae9ae refactor(multi): DRY out view state changes 2020-09-16 11:54:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 1e1a0939ab feat: highlight currently selected editor tab 2020-09-16 11:54:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra ad059dc49c fix(a11y): improve tab navigation for Editor 2020-09-16 11:54:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 301212e194 feat: handle multi-file solutions 2020-09-16 11:54:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 54630cbfca fix: update editor on code reset 2020-09-16 11:54:06 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 3783ef118e fix(multi): validate challenges correctly 2020-09-16 11:54:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 754a33970e refactor(multi) move preparation into curriculum 2020-09-16 11:54:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 88de5bc602 refactor: sort-files -> common utils 2020-09-16 11:54:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 063145fe90 feat(parser): handle multi-file solutions 2020-09-16 11:54:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra a959d462e9 fix(client): update editor when code is reset 2020-09-16 11:54:05 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 10d2559fee feat(client): handle jsx in multi-file editor 2020-09-16 11:54:04 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 1a985f95f5 feat: initialise editor with 'first' file
Since sort-files exists, the challengeFiles have an order. The editor
now displays the first file on mount.
2020-09-16 11:54:04 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra f82886148c feat: add simple challengeFile sorter 2020-09-16 11:54:04 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra b0f18cacc7 fix: prevent unnecessary re-renders
The editor should handle its own rendering.  By including a key that
changes as the users changes tabs forces the editor to re-render.  This
gets triggered as the user types, resetting the cursor to the start of
the editor.

Now the key only changes if the theme changes.
2020-09-16 11:54:04 +05:30
Oliver Eyton-WilliamsandMrugesh Mohapatra 4de5c5fde3 fix: concat sources so that 'code' has them all 2020-09-16 11:54:03 +05:30