* Convert backtick (`) admonition fences to tildes (~).
* Updated Grains Test file to Fix CI
[no important files changed]
---------
Co-authored-by: BethanyG <BethanyG@users.noreply.github.com>
* Synced exercise insructions with problem specifications.
* Delete exercises/practice/raindrops/.articles/Progression Revised.md
--> File added by mistake. Still needs additions and revisions before committing.
Most of the docs changes recently have been formatting-related,
though in a few exercises there have also been improvements to
the descriptions in an attempt to make the exercises easier to
understand.
Added array-stack.svg and linked-list-stack.svg files to .docs
Inserted linked-list-stack.svg and array-stack.svg into instructions append
Inserted linked-list-stack.svg into hints.md
For each Practice Exercise, we've looked at the commit history of its files to see which commits touched that Practice Exercise.
Each commit that we could associate with a Practice Exercise was used to determine authorship/contributorship.
### Authors
1. Find the Git commit author of the oldest commit linked to that Practice Exercise
2. Find the GitHub username for the Git commit author of that commit
3. Add the GitHub username of the Git commit author to the `authors` key in the `.meta/config.json` file
### Contributors
1. Find the Git commit authors and any co-authors of all but the oldest commit linked to that Practice Exercise. If there is only one commit, there won't be any contributors.
1. Exclude the Git commit author and any co-authors of the oldest commit from the list of Git commit authors (an author is _not_ also a contributor)
2. Find the GitHub usernames for the Git commit authors and any co-authors of those commits
3. Add the GitHub usernames of the Git commit authors and any co-authors to the `contributor` key in the `.meta/config.json` file
We used the GitHub GraphQL API to find the username of a commit author or any co-authors. In some cases though, a username cannot be found for a commit (e.g. due to the user account no longer existing), in which case the commit was skipped.
## Renames
There are a small number of Practice Exercises that might have been renamed at some point. You can ask Git to "follow" a file over its renames using `git log --follow <file>`, which will also return commits made before renames. Unfortunately, Git does not store renames, it just stores the contents of the renamed files and tries to guess if a file was renamed by looking at its contents. This _can_ (and will) lead to false positives, where Git will think a file has been renamed whereas it hasn't. As we don't want to have incorrect authors/contributors for exercises, we're ignoring renames. The only exception to this are known exercise renames:
- `bracket-push` was renamed to `matching-brackets`
- `retree` was renamed to `satellite`
- `resistor-colors` was renamed to `resistor-color-duo`
- `kindergarden-garden` was renamed to `kindergarten-garden`
## Exclusions
There are some commits that we skipped over, and which thus didn't influence the authors/contributors list:
- Commits authored by `dependabot[bot]`, `dependabot-preview[bot]` or `github-actions[bot]`
- Bulk update PRs made by `ErikSchierboom` or `kytrinx` to update the track
Each Practice Exercise will have to define a blurb, which is a short description of the exercise.
The blurb will be displayed on a track's exercises page (e.g. https://exercism.lol/tracks/csharp/exercises).
For Practice Exercises that are based on an exercise defined in the problem-specification repo, the blurb must match the contents of the problem-specifications exercises, which is defined in its `metadata.yml` file. In this commit, we'll do an initial syncing of the blurb. The new [configlet](https://github.com/exercism/configlet) version will add support for doing this syncing automatically.
If the Practice Exercise was _not_ based on a problems-specifications exercise, we've used the blurb from its `.meta/metadata.yml` file as the blurb in the .meta/config.json file.
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md#file-metaconfigjson) for more information.
Source information for Practice Exercises will be stored in their `.meta/config.json` file, in the (optional) `source` and/or `source_url` properties.
This commit adds the source information from the corresponding problem-specifications exercise to the `.meta/config.json` file.
The new [configlet](https://github.com/exercism/configlet) version will add support for doing this syncing automatically.
Exercism v3 will automatically include the source information in the README.md file that is sent via the CLI using the source properties in the `.meta/config.json` file.
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md) for more information.
Practice Exercises in Exercism v3 will be structured differently.
One such change is that there won't be a (generated) README.md file anymore.
This file will be replaced by `.docs/instructions.md` and optionally a `.docs/introduction.md` files.
These files are copies of the information defined for their corresponding problem-specifications exercise (if any).
The `.docs/instructions.md` file is a copy of the `instructions.md` file of the problem-specifications exercise, or if that does not exists, its `description.md` file.
The new [configlet](https://github.com/exercism/configlet) version will add support for doing this syncing automatically.
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md) for more information.
Practice Exercises in Exercism v3 will be structured differently.
One such change is that there won't be a (generated) README.md file anymore.
This file will be replaced by `.docs/instructions.md` and optionally a `.docs/introduction.md` files.
These files are copies of the information defined for their corresponding problem-specifications exercise (if any).
Exercism v3 will build the README.md file that is sent via the CLI from these files contents, along with some other files.
See [this document](https://github.com/exercism/docs/blob/main/anatomy/tracks/presentation.md) for more information.
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md) for more information.
Practice Exercises in Exercism v3 will be structured differently.
One such change is that there won't be a (generated) README.md file anymore.
This file will be replaced by `.docs/instructions.md` and optionally a `.docs/introduction.md` files.
These files are copies of the information defined for their corresponding problem-specifications exercise (if any).
Exercism v3 will build the README.md file that is sent via the CLI from these files contents, along with some other files.
See [this document](https://github.com/exercism/docs/blob/main/anatomy/tracks/presentation.md) for more information.
To add track-specific contents to the instructions and/or introduction, exercises can define the (optional) `introduction.append.md` and `instructions.append.md` files.
If present, the contents of these files will automatically be append to their corresponding file when generating the README.md
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md) for more information.
Practice Exercises in Exercism v3 will have a `.meta/config.json` file that contains exercise-specific information like the names of the solution, test and example file(s).
The `.meta/config.json` file will also contain any source information as defined for the corresponding problem-specifications exercise (if any).
See [the spec](https://github.com/exercism/docs/blob/main/anatomy/tracks/practice-exercises.md) for more information.