🤖 Add .meta/config.json file for concepts#1222
Conversation
…`config.json` file containing: - A `blurb` key, which value is copied from the `config.json` file and removed from the `config.json` file - An `authors` key, the value of which is an empty array - A `contributors` key, the value of which is an empty array
1d14dad to
ea18450
Compare
|
Following a suggestion that was made, we've updated the PR to pre-populate the authors/contributors with the authors/contributors of the exercise that teaches the concept (if any). This gives us a nice starting point, as the concept documents used to be exercise documents. You, the maintainers, should check to see if the authors/contributors are correct and add missing authors/contributors. |
I adapted our `format_exercises` script into:
```bash
set -e
RUST_TRACK_REPO_PATH=$(cd "$(dirname "$0")/.." && pwd)
patch_dir() {
EXERCISES_PATH="${RUST_TRACK_REPO_PATH}/$1"
for exercise_dir in "${EXERCISES_PATH}"/*; do
(
cd "$exercise_dir"
if ! [ -f "$2" ]; then
echo '# TODO' > "$2"
exit 0
fi
)
done
}
patch_dir "concepts" "about.md"
patch_dir "concepts" "introduction.md"
```
Added that into `./bin/fix-lint.sh` and executed.
I initially ran a single invocation of the `patch_dir` function with
`echo '[]' > "$2"` to populate the links.json.
|
I'm inclined to approve and address corrections in follow-up pull requests. Quantifying each and every historical contribution requires time-intensive work. I am entering a professional time-period where I will have a lot less time for exercism maintenance. So I am unable to do an in-depth manual review now. I appreciate @petertseng and @coriolinus's comments here and here to shed insight on this problem and how Rust maintainers should handle it. |
|
Thanks @efx! |
TL;DR; Add authors/contributors to a new
concepts/<slug>/.meta/config.jsonto Concepts in the same way you have for Concept Exercises.To properly attribute authorship/contributorship for an individual concept, each concept will have its own
.meta/config.jsonfile withauthorsandcontributorskeys like those for concept and practice exercises. We're also moving the concept's blurb from the track'sconfig.jsonto the.meta/config.jsonfile, also similar to concept and practice exercises.See https://github.com/exercism/docs/pull/96/files for the update to the specification.
This PR adds a
.meta/config.jsonfile for all concepts found in the track'sconfig.jsonfile containing:blurbkey, which value is copied from theconfig.jsonfile and subsequently removed from theconfig.jsonfileauthorskey, the value of which is copied from the exercise teaching the concept (if any)contributorskey, the value of which is copied from the exercise teaching the concept (if any)For ease, the concept's authors/contributors are pre-populated with the authors/contributors of the exercise that teaches the concept (if any).
Maintainers TODO list
These are the things you, the maintainers, should do:
For clarity, authors should be the people who originally created the concept documents on this track. Contributors should be people who have substantially contributed to the concept documents. PRs for typos or multiple-concept PRs do not automatically mean someone should be considered a contributor to that concept. Those non-concept-specific contributions will get recognition through Exercism's reputation system in v3.
You can either update this PR by pushing a new commit to this PR, or merge this and do a follow-up PR later. The former has the disadvantage that once we've added linting rules to
configletfor the concept.meta/config.jsonfile, the configlet CI check will start failing.Tracking
exercism/v3-launch#27