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>
This commit is contained in:
Oliver Eyton-Williams
2021-01-13 03:31:00 +01:00
committed by GitHub
parent 0095583028
commit ee1e8abd87
4163 changed files with 57505 additions and 10540 deletions

View File

@@ -3,6 +3,7 @@ id: 5a8b073d06fa14fcfde687aa
title: Exercise Tracker
challengeType: 4
forumTopicId: 301505
dashedName: exercise-tracker
---
# --description--
@@ -243,8 +244,6 @@ async (getUserInput) => {
};
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: bd7158d8c443edefaeb5bd0f
title: File Metadata Microservice
challengeType: 4
forumTopicId: 301506
dashedName: file-metadata-microservice
---
# --description--
@@ -76,8 +77,6 @@ async (getUserInput) => {
};
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: bd7158d8c443edefaeb5bdff
title: Request Header Parser Microservice
challengeType: 4
forumTopicId: 301507
dashedName: request-header-parser-microservice
---
# --description--
@@ -65,8 +66,6 @@ A request to `/api/whoami` should return a JSON object with your software in the
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: bd7158d8c443edefaeb5bdef
title: Timestamp Microservice
challengeType: 4
forumTopicId: 301508
dashedName: timestamp-microservice
---
# --description--
@@ -142,8 +143,6 @@ An empty date parameter should return the current time in a JSON object with a `
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: bd7158d8c443edefaeb5bd0e
title: URL Shortener Microservice
challengeType: 4
forumTopicId: 301509
dashedName: url-shortener-microservice
---
# --description--
@@ -113,8 +114,6 @@ async (getUserInput) => {
};
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb1367417b2b2512bf4
title: Chain Middleware to Create a Time Server
challengeType: 2
forumTopicId: 301510
dashedName: chain-middleware-to-create-a-time-server
---
# --description--
@@ -67,8 +68,6 @@ The /now endpoint should return a time that is +/- 20 secs from now
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb2367417b2b2512bf8
title: Get Data from POST Requests
challengeType: 2
forumTopicId: 301511
dashedName: get-data-from-post-requests
---
# --description--
@@ -66,8 +67,6 @@ Test 2 : Your API endpoint should respond with the correct name
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb2367417b2b2512bf6
title: Get Query Parameter Input from the Client
challengeType: 2
forumTopicId: 301512
dashedName: get-query-parameter-input-from-the-client
---
# --description--
@@ -55,8 +56,6 @@ Test 2 : Your API endpoint should respond with the correct name
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb2367417b2b2512bf5
title: Get Route Parameter Input from the Client
challengeType: 2
forumTopicId: 301513
dashedName: get-route-parameter-input-from-the-client
---
# --description--
@@ -53,8 +54,6 @@ Test 2 : Your echo server should repeat words correctly
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb1367417b2b2512bf3
title: Implement a Root-Level Request Logger Middleware
challengeType: 2
forumTopicId: 301514
dashedName: implement-a-root-level-request-logger-middleware
---
# --description--
@@ -45,8 +46,6 @@ Root level logger middleware should be active
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb0367417b2b2512bed
title: Meet the Node console
challengeType: 2
forumTopicId: 301515
dashedName: meet-the-node-console
---
# --description--
@@ -35,8 +36,6 @@ Modify the `myApp.js` file to log "Hello World" to the console.
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb0367417b2b2512bef
title: Serve an HTML File
challengeType: 2
forumTopicId: 301516
dashedName: serve-an-html-file
---
# --description--
@@ -39,8 +40,6 @@ Your app should serve the file views/index.html
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb1367417b2b2512bf1
title: Serve JSON on a Specific Route
challengeType: 2
forumTopicId: 301517
dashedName: serve-json-on-a-specific-route
---
# --description--
@@ -35,8 +36,6 @@ The endpoint `/json` should serve the json object `{"message": "Hello json"}`
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb0367417b2b2512bf0
title: Serve Static Assets
challengeType: 2
forumTopicId: 301518
dashedName: serve-static-assets
---
# --description--
@@ -35,8 +36,6 @@ Your app should serve asset files from the `/public` directory
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb0367417b2b2512bee
title: Start a Working Express Server
challengeType: 2
forumTopicId: 301519
dashedName: start-a-working-express-server
---
# --description--
@@ -45,8 +46,6 @@ Your app should serve the string 'Hello Express'
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb2367417b2b2512bf7
title: Use body-parser to Parse POST Requests
challengeType: 2
forumTopicId: 301520
dashedName: use-body-parser-to-parse-post-requests
---
# --description--
@@ -48,8 +49,6 @@ The 'body-parser' middleware should be mounted
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb1367417b2b2512bf2
title: Use the .env File
challengeType: 2
forumTopicId: 301521
dashedName: use-the--env-file
---
# --description--
@@ -36,8 +37,6 @@ The response of the endpoint `/json` should change according to the environment
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb3367417b2b2512bfc
title: Add a Description to Your package.json
challengeType: 2
forumTopicId: 301522
dashedName: add-a-description-to-your-package-json
---
# --description--
@@ -40,8 +41,6 @@ package.json should have a valid "description" key
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb4367417b2b2512bfe
title: Add a License to Your package.json
challengeType: 2
forumTopicId: 301523
dashedName: add-a-license-to-your-package-json
---
# --description--
@@ -36,8 +37,6 @@ package.json should have a valid "license" key
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb4367417b2b2512bff
title: Add a Version to Your package.json
challengeType: 2
forumTopicId: 301525
dashedName: add-a-version-to-your-package-json
---
# --description--
@@ -34,8 +35,6 @@ package.json should have a valid "version" key
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb4367417b2b2512bfd
title: Add Keywords to Your package.json
challengeType: 2
forumTopicId: 301526
dashedName: add-keywords-to-your-package-json
---
# --description--
@@ -72,8 +73,6 @@ package.json should have a valid "keywords" key
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb4367417b2b2512c00
title: Expand Your Project with External Packages from npm
challengeType: 2
forumTopicId: 301527
dashedName: expand-your-project-with-external-packages-from-npm
---
# --description--
@@ -65,8 +66,6 @@ Add version "2.14.0" of the "moment" package to the `dependencies` field of your
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb3367417b2b2512bfb
title: 'How to Use package.json, the Core of Any Node.js Project or npm Package'
challengeType: 2
forumTopicId: 301528
dashedName: how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package
---
# --description--
@@ -40,8 +41,6 @@ package.json should have a valid "author" key
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb5367417b2b2512c01
title: Manage npm Dependencies By Understanding Semantic Versioning
challengeType: 2
forumTopicId: 301529
dashedName: manage-npm-dependencies-by-understanding-semantic-versioning
---
# --description--
@@ -61,8 +62,6 @@ In the dependencies section of your package.json file, change the `version` of m
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb5367417b2b2512c04
title: Remove a Package from Your Dependencies
challengeType: 2
forumTopicId: 301530
dashedName: remove-a-package-from-your-dependencies
---
# --description--
@@ -40,8 +41,6 @@ Remove the moment package from your dependencies.
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb5367417b2b2512c03
title: Use the Caret-Character to Use the Latest Minor Version of a Dependency
challengeType: 2
forumTopicId: 301531
dashedName: use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency
---
# --description--
@@ -63,8 +64,6 @@ Use the caret (`^`) to prefix the version of moment in your dependencies and all
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb5367417b2b2512c02
title: Use the Tilde-Character to Always Use the Latest Patch Version of a Dependency
challengeType: 2
forumTopicId: 301532
dashedName: use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency
---
# --description--
@@ -63,8 +64,6 @@ Use the tilde (`~`) character to prefix the version of moment in your dependenci
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb9367417b2b2512c12
title: Chain Search Query Helpers to Narrow Search Results
challengeType: 2
forumTopicId: 301533
dashedName: chain-search-query-helpers-to-narrow-search-results
---
# --description--
@@ -73,8 +74,6 @@ Chaining query helpers should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb6367417b2b2512c07
title: Create a Model
challengeType: 2
forumTopicId: 301535
dashedName: create-a-model
---
# --description--
@@ -76,8 +77,6 @@ Creating an instance from a mongoose schema should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb6367417b2b2512c09
title: Create and Save a Record of a Model
challengeType: 2
forumTopicId: 301536
dashedName: create-and-save-a-record-of-a-model
---
# --description--
@@ -44,8 +45,6 @@ Creating and saving a db item should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb7367417b2b2512c0a
title: Create Many Records with model.create()
challengeType: 2
forumTopicId: 301537
dashedName: create-many-records-with-model-create
---
# --description--
@@ -56,8 +57,6 @@ Creating many db items at once should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb8367417b2b2512c11
title: Delete Many Documents with model.remove()
challengeType: 2
forumTopicId: 301538
dashedName: delete-many-documents-with-model-remove
---
# --description--
@@ -45,8 +46,6 @@ Deleting many items at once should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb8367417b2b2512c10
title: Delete One Document Using model.findByIdAndRemove
challengeType: 2
forumTopicId: 301539
dashedName: delete-one-document-using-model-findbyidandremove
---
# --description--
@@ -41,8 +42,6 @@ Deleting an item should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb6367417b2b2512c06
title: Install and Set Up Mongoose
challengeType: 2
forumTopicId: 301540
dashedName: install-and-set-up-mongoose
---
# --description--
@@ -63,8 +64,6 @@ mongoose.connect(<Your URI>, { useNewUrlParser: true, useUnifiedTopology: true }
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb8367417b2b2512c0e
title: 'Perform Classic Updates by Running Find, Edit, then Save'
challengeType: 2
forumTopicId: 301541
dashedName: perform-classic-updates-by-running-find-edit-then-save
---
# --description--
@@ -42,8 +43,6 @@ Find-edit-update an item should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb8367417b2b2512c0f
title: Perform New Updates on a Document Using model.findOneAndUpdate()
challengeType: 2
forumTopicId: 301542
dashedName: perform-new-updates-on-a-document-using-model-findoneandupdate
---
# --description--
@@ -46,8 +47,6 @@ findOneAndUpdate an item should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb7367417b2b2512c0b
title: Use model.find() to Search Your Database
challengeType: 2
forumTopicId: 301543
dashedName: use-model-find-to-search-your-database
---
# --description--
@@ -41,8 +42,6 @@ Find all items corresponding to a criteria should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb7367417b2b2512c0d
title: Use model.findById() to Search Your Database By _id
challengeType: 2
forumTopicId: 301544
dashedName: use-model-findbyid-to-search-your-database-by-id
---
# --description--
@@ -36,8 +37,6 @@ Find an item by Id should succeed
);
```
# --seed--
# --solutions--
```js

View File

@@ -3,6 +3,7 @@ id: 587d7fb7367417b2b2512c0c
title: Use model.findOne() to Return a Single Matching Document from Your Database
challengeType: 2
forumTopicId: 301545
dashedName: use-model-findone-to-return-a-single-matching-document-from-your-database
---
# --description--
@@ -39,8 +40,6 @@ Find one item should succeed
);
```
# --seed--
# --solutions--
```js