|
1 |
| -# Exercism Representer Template |
| 1 | +# Exercism PHP Representer |
2 | 2 |
|
3 |
| -This repository is a [template repository](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-template-repository) for creating [representers][representers] for [Exercism][exercism] tracks. |
4 |
| - |
5 |
| -## Using the Representer Template |
6 |
| - |
7 |
| -1. Ensure that your track has not already implemented a representer. If there is, there will be a `https://github.com/exercism/<track>-representer` repository (i.e. if your track's slug is `python`, the representer repo would be `https://github.com/exercism/python-representer`) |
8 |
| -2. Follow [GitHub's documentation](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template) for creating a repository from a template repository |
9 |
| - - Name your new repository based on your language track's slug (i.e. if your track is for Python, your representer repo name is `python-representer`) |
10 |
| -3. Remove this [Exercism Representer Template](#exercism-representer-template) section from the `README.md` file |
11 |
| -4. Replace `TRACK_NAME_HERE` with your track's name in the `README.md` file |
12 |
| -5. Build the representer, conforming to the [Representer interface specification](https://github.com/exercism/docs/blob/main/building/tooling/representers/interface.md). |
13 |
| - - Update the files to match your track's needs. At the very least, you'll need to update `bin/run.sh`, `Dockerfile` and the test solutions in the `tests` directory |
14 |
| - - Tip: look for `TODO:` comments to point you towards code that need updating |
15 |
| - - Tip: look for `OPTIONAL:` comments to point you towards code that _could_ be useful |
16 |
| - |
17 |
| -Once you're happy with your representer, [open an issue on the exercism/exercism repo](https://github.com/exercism/exercism/issues/new?title=%5BTRACK%5D+Request+Representer+Repository) to request an official representer repository for your track. |
18 |
| - |
19 |
| -## Default Implementation |
20 |
| - |
21 |
| -The default implementation works as follows: |
22 |
| - |
23 |
| -- The `representation.txt` contains the concatenated solution files |
24 |
| - - Solution files are separated by an empty line |
25 |
| - - Solution files are identified via the the `.files.solution[]` property in the `.meta/config.json` file |
26 |
| -- The `mapping.json` contains an empty JSON object (`{}`) |
27 |
| - |
28 |
| -### Normalizations |
29 |
| - |
30 |
| -- Blank files in the solution files are removed in the `representation.txt` |
31 |
| -- Line-based trailing whitespace in the solution files is removed in the `representation.txt` |
32 |
| - |
33 |
| -# Exercism TRACK_NAME_HERE Representer |
34 |
| - |
35 |
| -The Docker image to automatically create a representation for TRACK_NAME_HERE solutions submitted to [Exercism]. |
| 3 | +The Docker image to automatically create a representation for PHP solutions submitted to [Exercism]. |
36 | 4 |
|
37 | 5 | ## Run the representer
|
38 | 6 |
|
|
0 commit comments