Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions bin/add-practice-exercise
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ fi

./bin/fetch-configlet
./bin/configlet create --practice-exercise "${slug}" --author "${author}" --difficulty "${difficulty}"
./bin/reorder-exercises

exercise_dir="exercises/practice/${slug}"
files=$(jq -r --arg dir "${exercise_dir}" '.files | to_entries | map({key: .key, value: (.value | map("'"'"'" + $dir + "/" + . + "'"'"'") | join(" and "))}) | from_entries' "${exercise_dir}/.meta/config.json")
Expand Down
13 changes: 13 additions & 0 deletions bin/reorder-exercises
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash

required_tool() {
command -v "${1}" >/dev/null 2>&1 ||
die "${1} is required but not installed. Please install it and make sure it's in your PATH."
}

required_tool jq

jq '.exercises.practice |= sort_by(.difficulty, .name)' config.json > tmp && mv tmp config.json

bin/fetch-configlet
bin/configlet fmt --update --yes
94 changes: 47 additions & 47 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,22 @@
},
"exercises": {
"practice": [
{
"slug": "difference-of-squares",
"name": "Difference of Squares",
"uuid": "04c17584-c55f-41a0-9c9b-1630110a34bc",
"practices": [],
"prerequisites": [],
"difficulty": 1
},
{
"slug": "hamming",
"name": "Hamming",
"uuid": "9a3ffc1a-3242-4caa-ab7e-5f7963463aab",
"practices": [],
"prerequisites": [],
"difficulty": 1
},
{
"slug": "hello-world",
"name": "Hello World",
Expand All @@ -58,12 +74,12 @@
"difficulty": 1
},
{
"slug": "roman-numerals",
"name": "Roman Numerals",
"uuid": "8dbb825b-af85-41d4-9847-f6fbe3997eb4",
"slug": "collatz-conjecture",
"name": "Collatz Conjecture",
"uuid": "72fb147c-1762-4075-9936-19316bf93d40",
"practices": [],
"prerequisites": [],
"difficulty": 3
"difficulty": 2
},
{
"slug": "eliuds-eggs",
Expand All @@ -74,41 +90,33 @@
"difficulty": 2
},
{
"slug": "difference-of-squares",
"name": "Difference of Squares",
"uuid": "04c17584-c55f-41a0-9c9b-1630110a34bc",
"practices": [],
"prerequisites": [],
"difficulty": 1
},
{
"slug": "collatz-conjecture",
"name": "Collatz Conjecture",
"uuid": "72fb147c-1762-4075-9936-19316bf93d40",
"slug": "scrabble-score",
"name": "Scrabble Score",
"uuid": "3439b4b4-9ecd-4ed8-b89e-01479a7d7521",
"practices": [],
"prerequisites": [],
"difficulty": 2
},
{
"slug": "reverse-string",
"name": "Reverse String",
"uuid": "46b62fe3-546b-4501-ba39-d554b40590d7",
"slug": "bob",
"name": "Bob",
"uuid": "69a59f74-137a-413d-84ee-4e21d50f3690",
"practices": [],
"prerequisites": [],
"difficulty": 3
},
{
"slug": "hamming",
"name": "Hamming",
"uuid": "9a3ffc1a-3242-4caa-ab7e-5f7963463aab",
"slug": "line-up",
"name": "Line Up",
"uuid": "a247496e-79a4-4249-9e78-9df3f626f5d1",
"practices": [],
"prerequisites": [],
"difficulty": 1
"difficulty": 3
},
{
"slug": "space-age",
"name": "Space Age",
"uuid": "fe7f9472-902a-4a27-b0bd-d85d45c44151",
"slug": "pangram",
"name": "Pangram",
"uuid": "66f28d46-b899-4c35-bf10-c30e3fe5db93",
"practices": [],
"prerequisites": [],
"difficulty": 3
Expand All @@ -122,33 +130,33 @@
"difficulty": 3
},
{
"slug": "scrabble-score",
"name": "Scrabble Score",
"uuid": "3439b4b4-9ecd-4ed8-b89e-01479a7d7521",
"slug": "reverse-string",
"name": "Reverse String",
"uuid": "46b62fe3-546b-4501-ba39-d554b40590d7",
"practices": [],
"prerequisites": [],
"difficulty": 2
"difficulty": 3
},
{
"slug": "line-up",
"name": "Line Up",
"uuid": "a247496e-79a4-4249-9e78-9df3f626f5d1",
"slug": "roman-numerals",
"name": "Roman Numerals",
"uuid": "8dbb825b-af85-41d4-9847-f6fbe3997eb4",
"practices": [],
"prerequisites": [],
"difficulty": 4
"difficulty": 3
},
{
"slug": "bob",
"name": "Bob",
"uuid": "69a59f74-137a-413d-84ee-4e21d50f3690",
"slug": "space-age",
"name": "Space Age",
"uuid": "fe7f9472-902a-4a27-b0bd-d85d45c44151",
"practices": [],
"prerequisites": [],
"difficulty": 3
},
{
"slug": "pangram",
"name": "Pangram",
"uuid": "66f28d46-b899-4c35-bf10-c30e3fe5db93",
"slug": "sum-of-multiples",
"name": "Sum of Multiples",
"uuid": "07179cb2-852f-4ffd-addb-9472e04243d8",
"practices": [],
"prerequisites": [],
"difficulty": 3
Expand All @@ -160,14 +168,6 @@
"practices": [],
"prerequisites": [],
"difficulty": 4
},
{
"slug": "sum-of-multiples",
"name": "Sum of Multiples",
"uuid": "07179cb2-852f-4ffd-addb-9472e04243d8",
"practices": [],
"prerequisites": [],
"difficulty": 3
}
]
},
Expand Down
Loading