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-Williams and GitHub
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-Williams and GitHub
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-Williams and GitHub
4f4bbfbb6c
chore(api): migrate from express-validator 5 to 6 ( #40363 )
2020-12-03 21:17:38 +05:30
Oliver Eyton-Williams and GitHub
c1436445a7
chore(api): remove unused packages ( #40271 )
2020-11-28 12:41:33 +05:30
Oliver Eyton-Williams and GitHub
e20c61b7f5
chore(curriculum): remove unused packages ( #40273 )
2020-11-28 12:40:05 +05:30
Oliver Eyton-Williams and GitHub
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-Williams and GitHub
24f57ca7c2
fix: ignore .env in pipelines ( #40327 )
2020-11-27 09:32:50 -06:00
Oliver Eyton-Williams and GitHub
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-Williams and GitHub
ebb4e0d5cc
fix: default to .env ( #40315 )
2020-11-25 23:15:59 +05:30
Oliver Eyton-Williams and GitHub
c0472890dd
chore(learn): remove unused dependencies ( #40270 )
2020-11-21 23:41:10 +05:30
Oliver Eyton-Williams and GitHub
aebe53312c
chore: Cypress action v1 -> v2 ( #40253 )
2020-11-17 14:22:15 +03:00
Oliver Eyton-Williams and GitHub
b2e2f33cf1
feat(api): allow redirects with a returnTo param ( #40161 )
2020-11-07 13:35:25 +05:30
Oliver Eyton-Williams and GitHub
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-Williams and Mrugesh Mohapatra
0caa2fe782
fix: only test audited certificates
2020-10-22 03:18:16 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and GitHub
35c4020f4d
fix(curriculum): test typos ( #39984 )
2020-10-15 14:49:57 -04:00
Oliver Eyton-Williams and GitHub
89737e1406
refactor(learn): remove static prism css ( #39981 )
2020-10-15 18:13:51 +05:30
Oliver Eyton-Williams and GitHub
a71150074d
fix(learn): preserve whitespace in the tool panel ( #39973 )
2020-10-14 21:40:15 +05:30
Oliver Eyton-Williams and GitHub
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-Williams and GitHub
38323f858f
fix(client): update nanoid ( #39960 )
2020-10-13 17:24:46 +05:30
Oliver Eyton-Williams and GitHub
d94a240cf4
fix(cypress): update setting of env vars ( #39962 )
2020-10-13 17:22:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
ebebe1ed5e
test(e2e): check issue date appears on cert
2020-10-13 16:26:17 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
6241335380
chore(parser): remove jest
2020-10-12 15:23:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
aa7a357aed
chore(parser): minor version bumps
2020-10-12 15:23:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
216b78f9eb
chore(api): minor version bumps
2020-10-12 15:23:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
59e81824a6
chore(client): minor version bumps
2020-10-12 15:23:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
dec409a4bd
fix: s/localeTitle/title/g
2020-10-06 23:10:08 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
4a74567986
fix: remove title from Chinese chals
2020-10-06 23:10:08 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
a9092776b5
fix(curriculum): update 3 Chinese challenges
2020-10-06 23:10:08 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
1b895e7809
fix: translate title and dashName correctly
2020-10-06 23:10:08 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and GitHub
61ba415717
fix: tighten up ensure-env and env.js ( #39694 )
2020-09-26 00:40:17 +05:30
Oliver Eyton-Williams and GitHub
f5f2fca28c
fix(client): use mongoids for challenge.id ( #39676 )
2020-09-24 23:49:40 +05:30
Oliver Eyton-Williams and GitHub
4f68cc3126
fix: update env validation and include newest var ( #39661 )
2020-09-24 20:04:27 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and GitHub
4f0959df1d
fix: use position: fixed to avoid forcing Cypress ( #39605 )
2020-09-23 20:45:21 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and GitHub
aecbc28798
fix(tools): helper utils ( #39603 )
2020-09-17 18:22:55 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
39b4aff4f8
fix(client): return frame-runner err correctly
2020-09-16 11:54:15 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
79105af50d
test(e2e): submission of unfinished challenge urls
2020-09-16 11:54:15 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
1ce354a179
fix(client): show editor for React challenges
2020-09-16 11:54:14 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
078b06e462
fix(curriculum): isUpcomingChange: true for new projects
2020-09-16 11:54:14 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
7bed07ee8a
fix(tools): update parser for multi-file editor
2020-09-16 11:54:13 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
3cfd80a806
fix: handle editable region covering editor's top
2020-09-16 11:54:12 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
9a137573a7
fix: only show description in target editor
2020-09-16 11:54:11 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
2abefc27a2
fix: handle missing ERB
2020-09-16 11:54:11 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
78c3b42770
fix: scroll to editable region on mount
2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
a4c836c6d4
feat: open target editor on mount
2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
02aff4d400
feat: multiple concurrent editors
2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
2e7a2424c1
refactor: DRY out DesktopLayout
2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
3ea251383f
fix: use loadable MonacoEditor
2020-09-16 11:54:10 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
ad83a2e3f4
feat: show one hint at a time
2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
68b223322f
feat: make editable code available in tests
2020-09-16 11:54:09 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
6e091a7cdb
test: update parser tests and snapshots
2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
0f3f27287d
fix: unify single and multifile testing
2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
d7dc1acb4a
chore: update lang tags on code blocks
2020-09-16 11:54:08 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
52cb6adf02
refactor: sortFiles -> toSortedArray
2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
1ee5e24d0f
feat(multi): insert description into editor
2020-09-16 11:54:07 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
dfbf1ae9ae
refactor(multi): DRY out view state changes
2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
1e1a0939ab
feat: highlight currently selected editor tab
2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
ad059dc49c
fix(a11y): improve tab navigation for Editor
2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
301212e194
feat: handle multi-file solutions
2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
54630cbfca
fix: update editor on code reset
2020-09-16 11:54:06 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
3783ef118e
fix(multi): validate challenges correctly
2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
754a33970e
refactor(multi) move preparation into curriculum
2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
88de5bc602
refactor: sort-files -> common utils
2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
063145fe90
feat(parser): handle multi-file solutions
2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
a959d462e9
fix(client): update editor when code is reset
2020-09-16 11:54:05 +05:30
Oliver Eyton-Williams and Mrugesh Mohapatra
10d2559fee
feat(client): handle jsx in multi-file editor
2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
f82886148c
feat: add simple challengeFile sorter
2020-09-16 11:54:04 +05:30
Oliver Eyton-Williams and Mrugesh 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-Williams and Mrugesh Mohapatra
4de5c5fde3
fix: concat sources so that 'code' has them all
2020-09-16 11:54:03 +05:30