Clean up `topics` vs `practices` in `config.json`
Author: coriolinusCreated Nov 29, 2021Updated Dec 15, 2023
Labelsx:action/improvex:knowledge/elementaryx:module/practice-exercisex:size/medium
Per the current docs, the track-level config.json's per-exercise topics key isn't used for anything. This has the advantage that the items there aren't constrained by cross-checks, but the disadvantage that we're not fully exposing to the website the information we have about each exercise.
The general procedure we want to follow goes like this:
- Collect the list of all current concept exercises. Currently:
$ jq -r '.concepts[] | .slug' config.json | sort -u booleans box char collect destructuring entry-api enums floating-point-numbers fold functions hashmap integers loops match-basics mutability option references strings string-slices string-vs-str structs tuples vec-macro vec-stack - For each exercise among the practice exercises:
- For each item in
topics- If the topic is a current concept, move it from
topicstopractices
- If the topic is a current concept, move it from
- For each item in
This process needs to be repeated periodically as we add concepts, so PRs addressing this issue should not close it.
Source: exercism/rust