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: 5e7b9f060b6c005b0e76f05b
title: Build your own Functions
challengeType: 11
videoId: nLDychdBwUg
dashedName: build-your-own-functions
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06d
title: Comparing and Sorting Tuples
challengeType: 11
videoId: dZXzBXUxxCs
dashedName: comparing-and-sorting-tuples
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f058
title: Conditional Execution
challengeType: 11
videoId: gz_IfIsZQtc
dashedName: conditional-execution
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f6a0b6c005b0e76f097
title: 'Data Visualization: Mailing Lists'
challengeType: 11
videoId: RYdW660KkaQ
dashedName: data-visualization-mailing-lists
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f6a0b6c005b0e76f096
title: 'Data Visualization: Page Rank'
challengeType: 11
videoId: 6-w_qIUwaxU
dashedName: data-visualization-page-rank
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0a0b6c005b0e76f069
title: Dictionaries and Loops
challengeType: 11
videoId: EEmekKiKG70
dashedName: dictionaries-and-loops
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f068
title: 'Dictionaries: Common Applications'
challengeType: 11
videoId: f17xPfIXct0
dashedName: dictionaries-common-applications
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f063
title: Files as a Sequence
challengeType: 11
videoId: cIA0EokbaHE
dashedName: files-as-a-sequence
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f057
title: Intermediate Expressions
challengeType: 11
videoId: dKgUaIa5ATg
dashedName: intermediate-expressions
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f061
title: Intermediate Strings
challengeType: 11
videoId: KgT_fYLXnyk
dashedName: intermediate-strings
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e6a54c358d3af90110a60a3
title: 'Introduction: Elements of Python'
challengeType: 11
videoId: aRY_xjL35v0
dashedName: introduction-elements-of-python
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e6a54af58d3af90110a60a1
title: 'Introduction: Hardware Architecture'
challengeType: 11
videoId: H6qtjRTfSog
dashedName: introduction-hardware-architecture
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e6a54ba58d3af90110a60a2
title: 'Introduction: Python as a Language'
challengeType: 11
videoId: 0QeGbZNS_bY
dashedName: introduction-python-as-a-language
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e6a54a558d3af90110a60a0
title: 'Introduction: Why Program?'
challengeType: 11
videoId: 3muQV-Im3Z0
dashedName: introduction-why-program
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05d
title: 'Iterations: Definite Loops'
challengeType: 11
videoId: hiRTRAqNlpE
dashedName: iterations-definite-loops
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05e
title: 'Iterations: Loop Idioms'
challengeType: 11
videoId: AelGAcoMXbI
dashedName: iterations-loop-idioms
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f05f
title: 'Iterations: More Patterns'
challengeType: 11
videoId: 9Wtqo6vha1M
dashedName: iterations-more-patterns
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f05c
title: Loops and Iterations
challengeType: 11
videoId: dLA-szNRnUY
dashedName: loops-and-iterations
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f08b
title: Make a Relational Database
challengeType: 11
videoId: MQ5z4bdF92U
dashedName: make-a-relational-database
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f059
title: More Conditional Structures
challengeType: 11
videoId: HdL82tAZR20
dashedName: more-conditional-structures
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f072
title: Networking Protocol
challengeType: 11
videoId: c6vZGescaSc
dashedName: networking-protocol
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f074
title: 'Networking: Text Processing'
challengeType: 11
videoId: Pv_pJgVu8WI
dashedName: networking-text-processing
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0d0b6c005b0e76f075
title: 'Networking: Using urllib in Python'
challengeType: 11
videoId: 7lFM1T_CxBs
dashedName: networking-using-urllib-in-python
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0d0b6c005b0e76f076
title: 'Networking: Web Scraping with Python'
challengeType: 11
videoId: Uyioq2q4cEg
dashedName: networking-web-scraping-with-python
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f071
title: Networking with Python
challengeType: 11
videoId: _kJvneKVdNM
dashedName: networking-with-python
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0c0b6c005b0e76f073
title: 'Networking: Write a Web Browser'
challengeType: 11
videoId: zjyT9DaAjx4
dashedName: networking-write-a-web-browser
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f087
title: Object Lifecycle
challengeType: 11
videoId: p1r3h_AMMIM
dashedName: object-lifecycle
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f160b6c005b0e76f086
title: 'Objects: A Sample Class'
challengeType: 11
videoId: FiABKEuaSJ8
dashedName: objects-a-sample-class
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f088
title: 'Objects: Inheritance'
challengeType: 11
videoId: FBL3alYrxRM
dashedName: objects-inheritance
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f067
title: Python Dictionaries
challengeType: 11
videoId: dnzvfimrRMg
dashedName: python-dictionaries
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f060b6c005b0e76f05a
title: Python Functions
challengeType: 11
videoId: 3JGF-n3tDPU
dashedName: python-functions
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f064
title: Python Lists
challengeType: 11
videoId: Y0cvfDpYC_c
dashedName: python-lists
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f160b6c005b0e76f085
title: Python Objects
challengeType: 11
videoId: uJxGeTYy0us
dashedName: python-objects
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f080b6c005b0e76f062
title: Reading Files
challengeType: 11
videoId: Fo1tW09KIwo
dashedName: reading-files
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06f
title: 'Regular Expressions: Matching and Extracting Data'
challengeType: 11
videoId: LaCZnTbQGkE
dashedName: regular-expressions-matching-and-extracting-data
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f070
title: 'Regular Expressions: Practical Applications'
challengeType: 11
videoId: xCjFU9G6x48
dashedName: regular-expressions-practical-applications
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0b0b6c005b0e76f06e
title: Regular Expressions
challengeType: 11
videoId: Yud_COr6pZo
dashedName: regular-expressions
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08c
title: Relational Database Design
challengeType: 11
videoId: AqdfbrpkbHk
dashedName: relational-database-design
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f170b6c005b0e76f08a
title: Relational Databases and SQLite
challengeType: 11
videoId: QlNod5-kFpA
dashedName: relational-databases-and-sqlite
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08f
title: 'Relational Databases: Join Operation'
challengeType: 11
videoId: jvDw3D9GKac
dashedName: relational-databases-join-operation
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f190b6c005b0e76f090
title: 'Relational Databases: Many-to-many Relationships'
challengeType: 11
videoId: z-SBYcvEQOc
dashedName: relational-databases-many-to-many-relationships
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08e
title: 'Relational Databases: Relationship Building'
challengeType: 11
videoId: CSbqczsHVnc
dashedName: relational-databases-relationship-building
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f180b6c005b0e76f08d
title: Representing Relationships in a Relational Database
challengeType: 11
videoId: '-orenCNdC2Q'
dashedName: representing-relationships-in-a-relational-database
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f066
title: Strings and Lists
challengeType: 11
videoId: lxcFa7ldCi0
dashedName: strings-and-lists
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f070b6c005b0e76f060
title: Strings in Python
challengeType: 11
videoId: LYZj207fKpQ
dashedName: strings-in-python
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0a0b6c005b0e76f06c
title: The Tuples Collection
challengeType: 11
videoId: 3Lxpladfh2k
dashedName: the-tuples-collection
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07a
title: Using Web Services
challengeType: 11
videoId: oNl1OVDPGKE
dashedName: using-web-services
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f050b6c005b0e76f056
title: 'Variables, Expressions, and Statements'
challengeType: 11
videoId: nELR-uyyrok
dashedName: variables-expressions-and-statements
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f690b6c005b0e76f095
title: Visualizing Data with Python
challengeType: 11
videoId: e3lydkH0prw
dashedName: visualizing-data-with-python
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f150b6c005b0e76f080
title: 'Web Services: API Rate Limiting and Security'
challengeType: 11
videoId: pI-g0lI8ngs
dashedName: web-services-api-rate-limiting-and-security
---
# --description--

View File

@ -3,6 +3,7 @@ id: 5e7b9f150b6c005b0e76f07f
title: 'Web Services: APIs'
challengeType: 11
videoId: oUNn1psfBJg
dashedName: web-services-apis
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f140b6c005b0e76f07d
title: 'Web Services: JSON'
challengeType: 11
videoId: ZJE-U56BppM
dashedName: web-services-json
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f140b6c005b0e76f07e
title: 'Web Services: Service Oriented Approach'
challengeType: 11
videoId: muerlsCHExI
dashedName: web-services-service-oriented-approach
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07c
title: 'Web Services: XML Schema'
challengeType: 11
videoId: yWU9kTxW-nc
dashedName: web-services-xml-schema
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f0e0b6c005b0e76f07b
title: 'Web Services: XML'
challengeType: 11
videoId: _pZ0srbg7So
dashedName: web-services-xml
---
# --question--

View File

@ -3,6 +3,7 @@ id: 5e7b9f090b6c005b0e76f065
title: Working with Lists
challengeType: 11
videoId: lCnHfTHkhbE
dashedName: working-with-lists
---
# --question--

View File

@ -2,6 +2,7 @@
id: 5e44412c903586ffb414c94c
title: Arithmetic Formatter
challengeType: 10
dashedName: arithmetic-formatter
---
# --description--
@ -31,8 +32,6 @@ It should correctly format an arithmetic problem and pass all tests.
```
# --seed--
# --solutions--
```js

View File

@ -2,6 +2,7 @@
id: 5e44413e903586ffb414c94e
title: Budget App
challengeType: 10
dashedName: budget-app
---
# --description--
@ -31,8 +32,6 @@ It should create a Category class and pass all tests.
```
# --seed--
# --solutions--
```js

View File

@ -2,6 +2,7 @@
id: 5e444147903586ffb414c94f
title: Polygon Area Calculator
challengeType: 10
dashedName: polygon-area-calculator
---
# --description--
@ -31,8 +32,6 @@ It should create a Rectangle class and Square class and pass all tests.
```
# --seed--
# --solutions--
```js

View File

@ -2,6 +2,7 @@
id: 5e44414f903586ffb414c950
title: Probability Calculator
challengeType: 10
dashedName: probability-calculator
---
# --description--
@ -29,8 +30,6 @@ It should correctly calculate probabilities and pass all tests.
```
# --seed--
# --solutions--
```js

View File

@ -2,6 +2,7 @@
id: 5e444136903586ffb414c94d
title: Time Calculator
challengeType: 10
dashedName: time-calculator
---
# --description--
@ -29,8 +30,6 @@ It should correctly add times and pass all tests.
```
# --seed--
# --solutions--
```js