diff --git a/bin/add-practice-exercise b/bin/add-practice-exercise index 14a730e..dfe5dc1 100755 --- a/bin/add-practice-exercise +++ b/bin/add-practice-exercise @@ -69,8 +69,14 @@ fi ./bin/fetch-configlet ./bin/configlet create --practice-exercise "${slug}" --author "${author}" --difficulty "${difficulty}" -filter='.exercises.practice |= sort_by(.difficulty, (.name|ascii_upcase))' -jq "${filter}" config.json > config.sorted && mv config.sorted config.json +# sort by difficulty, then by name, but hello-world should always be first +jq ' + .exercises.practice |= ( + map(if .slug == "hello-world" then .difficulty = -1 else . end) + | sort_by(.difficulty, (.name|ascii_upcase)) + | .[0].difficulty = 1 + ) +' config.json > config.sorted && mv config.sorted config.json exercise_dir="exercises/practice/${slug}" files=$( diff --git a/config.json b/config.json index 2102592..6096b86 100644 --- a/config.json +++ b/config.json @@ -43,44 +43,36 @@ "difficulty": 1 }, { - "slug": "armstrong-numbers", - "name": "Armstrong Numbers", - "uuid": "a9cc7677-4151-4e3b-b08a-be547a56d705", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, - { - "slug": "atbash-cipher", - "name": "Atbash Cipher", - "uuid": "dc112a08-5969-490e-8108-833f6f927cb2", + "slug": "darts", + "name": "Darts", + "uuid": "4f75ff5d-f049-4053-8a96-86d45025b529", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 1 }, { - "slug": "collatz-conjecture", - "name": "Collatz Conjecture", - "uuid": "0c6713d7-d0d8-4724-8c41-cbec5202689f", + "slug": "leap", + "name": "Leap", + "uuid": "fe4c3a99-0d1e-4476-a9c6-73b676a7a427", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 1 }, { - "slug": "darts", - "name": "Darts", - "uuid": "4f75ff5d-f049-4053-8a96-86d45025b529", + "slug": "raindrops", + "name": "Raindrops", + "uuid": "9c6613c5-3df7-44a5-bb6e-4e7f0663b888", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 1 }, { - "slug": "difference-of-squares", - "name": "Difference of Squares", - "uuid": "fe0d1922-3f7e-4fe6-baba-c5a8a495a3c7", + "slug": "two-fer", + "name": "Two-Fer", + "uuid": "677295c3-9ee4-418d-89cb-f8f016228062", "practices": [], "prerequisites": [], - "difficulty": 2 + "difficulty": 1 }, { "slug": "eliuds-eggs", @@ -90,14 +82,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "etl", - "name": "ETL", - "uuid": "2c772f04-f65d-48f8-a19b-efaa84a5226d", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, { "slug": "grains", "name": "Grains", @@ -122,14 +106,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "leap", - "name": "Leap", - "uuid": "fe4c3a99-0d1e-4476-a9c6-73b676a7a427", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, { "slug": "line-up", "name": "Line Up", @@ -154,14 +130,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "raindrops", - "name": "Raindrops", - "uuid": "9c6613c5-3df7-44a5-bb6e-4e7f0663b888", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, { "slug": "resistor-color", "name": "Resistor Color", @@ -210,14 +178,6 @@ "prerequisites": [], "difficulty": 2 }, - { - "slug": "two-fer", - "name": "Two-Fer", - "uuid": "677295c3-9ee4-418d-89cb-f8f016228062", - "practices": [], - "prerequisites": [], - "difficulty": 2 - }, { "slug": "acronym", "name": "Acronym", @@ -242,6 +202,22 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "armstrong-numbers", + "name": "Armstrong Numbers", + "uuid": "a9cc7677-4151-4e3b-b08a-be547a56d705", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, + { + "slug": "atbash-cipher", + "name": "Atbash Cipher", + "uuid": "dc112a08-5969-490e-8108-833f6f927cb2", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "bank-account", "name": "Bank Account", @@ -274,6 +250,14 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "collatz-conjecture", + "name": "Collatz Conjecture", + "uuid": "0c6713d7-d0d8-4724-8c41-cbec5202689f", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "dnd-character", "name": "D&D Character", @@ -282,6 +266,22 @@ "prerequisites": [], "difficulty": 3 }, + { + "slug": "difference-of-squares", + "name": "Difference of Squares", + "uuid": "fe0d1922-3f7e-4fe6-baba-c5a8a495a3c7", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, + { + "slug": "etl", + "name": "ETL", + "uuid": "2c772f04-f65d-48f8-a19b-efaa84a5226d", + "practices": [], + "prerequisites": [], + "difficulty": 3 + }, { "slug": "high-scores", "name": "High Scores",