Skip to content

Commit 4efccf4

Browse files
ErikSchierboomiHiDkotpSaschaMann
authored
[Docs] Add docs/reference split (exercism#795)
* [Docs] Move implementing-a-concept-exercise.md to reference folder * [Docs] Move reference documents to docs folder * [Docs] Update to student-facing docs * [Docs] Add new issue template Co-Authored-By: Jeremy Walker <[email protected]> Co-Authored-By: Victor Goff <[email protected]> Co-authored-by: Sascha Mann <[email protected]>
1 parent aa3492e commit 4efccf4

File tree

62 files changed

+143
-165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+143
-165
lines changed

.github/ISSUE_TEMPLATE/new-reference-doc.md

+13-21
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,34 @@
11
---
2-
name: "[MAINTAINERS] Add new reference document"
3-
about: FOR MAINTAINERS ONLY - Use this template to create an issue to add a new reference
4-
document
5-
title: "[<LANG>] Add new reference document: <DOC>"
6-
labels: status/help-wanted, type/new-reference
7-
assignees: ''
82

3+
name: "[MAINTAINERS] Add new reference document"
4+
about:
5+
FOR MAINTAINERS ONLY - Use this template to create an issue to add a new reference
6+
document
7+
title: "[Docs] Add new reference document: <DOC>"
8+
labels: status/help-wanted, type/new-reference-doc
9+
assignees: ""
910
---
1011

11-
[Use this issue template to describe how to add a new reference doc. Only suggest adding a new reference doc when no appropriate online resource can be found. Please fill in the issue template, and remove any sections wrapped in square brackets (such as this section!).]
12+
[Use this issue template to describe how to add a new reference doc. Only suggest adding a new reference doc when no existing reference document has been written. Please fill in the issue template, and remove any sections wrapped in square brackets (such as this section!).]
1213

13-
This issue describes how to add a new <LANG> reference document: <DOC>.
14+
This issue describes how to add a new reference document: <DOC>.
1415

1516
## Description
1617

17-
[A clear description of what information the reference document aims to teach. It should be clear how this document can help a student.
18-
19-
For example:
20-
21-
There are multiple uses of feature `X` in language `Y`. While...]
22-
23-
## Resources to refer to
24-
25-
[List additional rescources to link to from the document.
18+
[A clear description of what information the reference document should contain. This document should help other maintainers developing and building context exercises.
2619

2720
For example:
2821

29-
- [Other in-depth resource exploring `X`][http://test.com]
30-
- ...]
22+
Concept `X` is used to do `Y`]
3123

3224
### Contributing
3325

3426
[Describe the exact steps the contributor has to take to add the document.
3527

3628
For example:
3729

38-
- Create the document using ../new/master?filename=languages/&lt;lang&gt;/reference/&lt;doc&gt;.md.
39-
- Add a link to the reference document in the reference README at ../tree/master/languages/&lt;lang&gt;/reference/readme.md.
30+
- Create the document in the appropriate location in the `reference` folder.
31+
- Check to see if there are other documents that can refer to the new document.
4032

4133
## Help
4234

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
3+
name: "[MAINTAINERS] Add new student-facing document"
4+
about: FOR MAINTAINERS ONLY - Use this template to create an issue to add a new student-facing document
5+
title: "[<LANG>] Add new student-facing document: <DOC>"
6+
labels: status/help-wanted, type/new-student-facing-doc
7+
assignees: ""
8+
---[Use this issue template to describe how to add a new student-facing document. Only suggest adding a new student-facing document when no appropriate online resource can be found. Please fill in the issue template, and remove any sections wrapped in square brackets (such as this section!).]
9+
10+
This issue describes how to add a new <LANG> student-facing document: <DOC>.
11+
12+
## Description
13+
14+
[A clear description of what information the student-facing document should contain. It should be clear how this document can help a student.
15+
16+
For example:
17+
18+
There are multiple uses of feature `X` in language `Y`. While...]
19+
20+
## Resources to refer to
21+
22+
[List additional rescources to link to from the document.
23+
24+
For example:
25+
26+
- [Other in-depth resource exploring `X`][http://test.com]
27+
- ...]
28+
29+
### Contributing
30+
31+
[Describe the exact steps the contributor has to take to add the document.
32+
33+
For example:
34+
35+
- Create the document using ../new/master?filename=languages/&lt;lang&gt;/docs/&lt;doc&gt;.md.
36+
- Add a link to the student-facing document in the documentation README at ../tree/master/languages/&lt;lang&gt;/docs/readme.md.
37+
38+
## Help
39+
40+
If you have any questions while adding the student-facing document, please post the questions as comments in this issue.

docs/maintainers/faqs.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ Do you have more questions or feel that something is missing? Please let us know
142142
[concept-exercises]: ../concept-exercises.md
143143
[determining-concepts]: ./determining-concepts.md
144144
[how-to-implement-a-concept-exercise]: ./generic-how-to-implement-a-concept-exercise.md
145-
[how-to-implement-a-concept-exercise-csharp]: ../../languages/csharp/docs/implementing-a-concept-exercise.md
145+
[how-to-implement-a-concept-exercise-csharp]: ../../languages/csharp/reference/implementing-a-concept-exercise.md
146146
[writing-a-concept-exercise-github-issue]: ./writing-a-concept-exercise-github-issue.md
147147
[concept-to-exercise-mapping]: https://exercism-team.slack.com/archives/CC5DGSAG6/p1579722161067300
148148
[practice-exercises]: ../rationale-for-v3.md#practice-exercises

docs/maintainers/repository-structure.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ The following labels are used to categorize [issues in the v3 repository][github
4040
- [type/new-exercise][github-issues-type-new-exercise]: Add a new exercise
4141
- [type/improve-exercise][github-issues-type-improve-exercise]: Improve an existing exercise
4242
- [type/suggested-exercise][github-issues-type-suggested-exercise]: Suggest a new (Concept) exercise
43-
- [type/new-reference][github-issues-type-new-reference]: Add a new reference
44-
- [type/improve-reference][github-issues-type-improve-reference]: Improve an existing reference
43+
- [type/new-reference-doc][github-issues-type-new-reference-doc]: Add a new reference document
44+
- [type/improve-reference-doc][github-issues-type-improve-reference-doc]: Improve an existing reference document
45+
- [type/new-student-facing-doc][github-issues-type-new-student-facing-doc]: Add a new student-facing document
46+
- [type/improve-student-facing-doc][github-issues-type-improve-student-facing-doc]: Improve an existing student-facing document
4547
- [status/help-wanted][github-issues-status-help-wanted]: Extra attention is needed
4648
- [status/in-progress][github-issues-status-in-progress]: This issue is being worked on
4749
- [status/draft][github-issues-status-draft]: This issue or pull request is a draft, and not ready for review/merge.
@@ -88,8 +90,10 @@ You can combine labels to find the issues you'd like, e.g. to [list all the issu
8890
[github-issues-type-new-exercise]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fnew-exercise
8991
[github-issues-type-improve-exercise]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fimprove-exercise
9092
[github-issues-type-suggested-exercise]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fsuggested-exercise
91-
[github-issues-type-new-reference]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fnew-reference
92-
[github-issues-type-improve-reference]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fimprove-reference
93+
[github-issues-type-new-reference-doc]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fnew-reference-doc
94+
[github-issues-type-improve-reference-doc]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fimprove-reference-doc
95+
[github-issues-type-new-student-facing-doc]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fnew-student-facing-doc
96+
[github-issues-type-improve-student-facing-doc]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fimprove-student-facing-doc
9397
[github-issues-status-help-wanted]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Astatus%2Fhelp-wanted
9498
[github-issues-status-in-progress]: https://github.com/exercism/v3/issues?q=is%3Aopen+is%3Aissue+label%3Astatus%2Fin-progress
9599
[github-issues-status-draft]: https://github.com/exercism/v3/issues?q=is%3Aopen+is%3Aissue+label%3Astatus%2Fdraft

docs/maintainers/writing-a-concept-exercise-github-issue.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ The GitHub issues we create for Concept Exercises need to contain quite a lot of
44

55
We have provided an [Issue Template](https://github.com/iHiD/v3/issues/new?assignees=&labels=type%2Fnew-exercise%2C+status%2Fhelp-wanted&template=implement-concept-exercise.md&title=%5B%3CLANG%3E%5D+Implement+new+concept+exercise%3A+%3CSLUG%3E) that needs to be filled in for each exercise. Part of that template requires an guide on how to implement the Concept Exercise for the specific track.
66

7-
To help with that, each track should create a standard "Implementation Guide", which can be copy+pasted into the new issue. That file should be stored in `languages/$SLUG/docs/implementing-a-concept-exercise.md`
7+
To help with that, each track should create a standard "Implementation Guide", which can be copy+pasted into the new issue. That file should be stored in `languages/$SLUG/reference/implementing-a-concept-exercise.md`
88

99
To make this as straightforward as possible for you, we have provided:
1010

11-
- [A sample C# issue](../../languages/csharp/docs/examples/new-concept-exercise-arrays.md) to give you an idea of how a finished issue should look.
12-
- [The C# implementation file](../../languages/csharp/docs/implementing-a-concept-exercise.md) to be clear on how this specific section should look
11+
- [A sample C# issue](../../languages/csharp/reference/examples/new-concept-exercise-arrays.md) to give you an idea of how a finished issue should look.
12+
- [The C# implementation file](../../languages/csharp/reference/implementing-a-concept-exercise.md) to be clear on how this specific section should look
1313
- [A base file](./generic-how-to-implement-a-concept-exercise.md) for you to work from.

languages/bash/docs/implementing-a-concept-exercise.md languages/bash/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Bash track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/c/docs/implementing-a-concept-exercise.md languages/c/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the C track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/clojure/docs/README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
# Clojure specific docs
22

3-
## General
4-
5-
- [How to implement a Concept Exercise](./implementing-a-concept-exercise.md)
3+
None yet

languages/coffeescript/docs/implementing-a-concept-exercise.md languages/coffeescript/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the CoffeeScript track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/cpp/docs/README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
# C++ specific docs
22

3-
## General
4-
- [How to implement a Concept Exercise](./implementing-a-concept-exercise.md)
5-
3+
None yet

languages/cpp/reference/README.md

-10
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,6 @@ The concept exercises use the following concepts:
124124

125125
This also indicates that for example `strings-basic` does **not** teach using custom formatting strings and that `numbers-basic` does **not** teach about integer undefined-behavior.
126126

127-
## Reference docs
128-
129-
Reference docs are written to help explain a particular C++ concept to a student when no appropriate online document can be found. They will be used when creating exercises and as references in exercise documentation.
130-
131-
The following reference docs have been written:
132-
133-
## TODO
134-
135-
Add more concepts for exercises
136-
137127
[issues-improve-reference]: https://github.com/exercism/v3/issues?q=is%3Aissue+is%3Aopen+label%3Atrack%2Fcpp+label%3Atype%2Fimprove-reference+label%3Astatus%2Fhelp-wanted
138128
[issues-new-reference]: https://github.com/exercism/v3/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Atrack%2Fcpp+label%3Atype%2Fnew-reference+label%3Astatus%2Fhelp-wanted+
139129
[bool]: ../../../reference/types/boolean.md

languages/csharp/docs/README.md

+17-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
# C# specific docs
22

3-
## General
4-
- [How to implement a Concept Exercise](./implementing-a-concept-exercise.md)
3+
## Student-facing docs
54

6-
## Examples
7-
- [New concept exercise (Arrays)](examples/new-concept-exercise-arrays.md)
8-
- [New reference doc (readonly vs const)](examples/new-reference-doc-readonly-vs-const.md)
5+
Student-facing documents are written to help explain a particular C# concept to a student when no appropriate online document can be found. They will be used when creating exercises and as references in exercise documentation.
6+
7+
The following student-facing documents have been written:
8+
9+
- [Assemblies][assemblies]
10+
- [Code style][code_style]
11+
- [Memory allocation][memory_allocation]
12+
13+
The following student-facing documents should be written:
14+
15+
- Difference between `static readonly` and `const`
16+
- Naming conventions
17+
18+
[assemblies]: ../../../reference/tooling/dotnet-assemblies.md
19+
[code_style]: ./code_style.md
20+
[memory_allocation]: ./memory_allocation.md
File renamed without changes.

languages/csharp/reference/README.md

-18
Original file line numberDiff line numberDiff line change
@@ -180,29 +180,12 @@ The concept exercises use the following concepts:
180180

181181
This also indicates that for example `strings-basic` does **not** teach using custom formatting strings and that `numbers-basic` does **not** teach about checked/unchecked arithmetic.
182182

183-
## Reference docs
184-
185-
Reference docs are written to help explain a particular C# concept to a student when no appropriate online document can be found. They will be used when creating exercises and as references in exercise documentation.
186-
187-
The following reference docs have been written:
188-
189-
- [Assemblies][assemblies]
190-
- [Code style][code_style]
191-
- [Memory allocation][memory_allocation]
192-
193-
The following reference docs should be written:
194-
195-
- Reference doc on difference between `static readonly` and `const`
196-
- Naming conventions
197-
198183
[anonymous_functions]: ../../../reference/concepts/anonymous_functions.md
199184
[array]: ../../../reference/types/array.md
200-
[assemblies]: ../../../reference/tooling/dotnet-assemblies.md
201185
[bool]: ../../../reference/types/boolean.md
202186
[char]: ../../../reference/types/char.md
203187
[class]: ../../../reference/types/class.md
204188
[classes]: ../../../reference/concepts/classes.md
205-
[code_style]: ./code_style.md
206189
[composition]: ../../../reference/concepts/composition.md
207190
[conditionals]: ../../../reference/concepts/conditionals.md
208191
[encapsulation]: ../../../reference/concepts/encapsulation.md
@@ -220,7 +203,6 @@ The following reference docs should be written:
220203
[list]: ../../../reference/types/list.md
221204
[local_functions]: ../../../reference/concepts/nested_functions.md
222205
[map]: ../../../reference/types/map.md
223-
[memory_allocation]: ./memory_allocation.md
224206
[methods]: ../../../reference/concepts/methods.md
225207
[mutation]: ../../../reference/concepts/mutation.md
226208
[null]: ../../../reference/types/null.md
+12-8
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,40 @@
11
# Topics Falling Outside of the Scope of Exercism's C# Track
22

33
This document provides examples of material that falls outside of
4-
Exercism's scope. It indicates the limits of what can be
4+
Exercism's scope. It indicates the limits of what can be
55
directly taught by the exercises.
66

7-
The document should answer the question
8-
"Is topic or skill x covered by Exercism?".
7+
The document should answer the question
8+
"Is topic or skill x covered by Exercism?".
99

10-
The material should be capable of being communicated to an enquiring
10+
The material should be capable of being communicated to an enquiring
1111
student as and when required.
1212

13-
Where material is covered under "What not to teach" in _design.md_
13+
Where material is covered under "What not to teach" in _design.md_
1414
for a particular exercise it should not be repeated here
1515
unless it is felt that the topic otherwise has insufficient prominence.
1616

1717
### 3rd Party and Microsoft Libraries
18+
1819
- JSON.net
1920
- NodaTime
2021
- .NET Forms
2122
- WPF
2223

23-
### Frameworks
24+
### Frameworks
25+
2426
- .NET Framework
2527
- ASP.NET (Core)
2628
- Unity
2729

28-
### Platform
30+
### Platform
31+
2932
- .NET interop (e.g. with Visual Basic or F#)
3033
- NuGet
3134
- Project/solution files
3235

3336
### Other
37+
3438
- File handling
3539
- Networking
36-
- Compiler directives
40+
- Compiler directives

languages/dart/docs/implementing-a-concept-exercise.md languages/dart/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Dart track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/delphi/docs/implementing-a-concept-exercise.md languages/delphi/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Delphi track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/elixir/docs/implementing-a-concept-exercise.md languages/elixir/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Elixir track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/elm/docs/implementing-a-concept-exercise.md languages/elm/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Elm track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/emacs-lisp/docs/implementing-a-concept-exercise.md languages/emacs-lisp/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Emacs Lisp track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/erlang/docs/implementing-a-concept-exercise.md languages/erlang/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Erlang track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/factor/docs/implementing-a-concept-exercise.md languages/factor/reference/implementing-a-concept-exercise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
TODO: describe how to implement a concept exercise for the Factor track. For inspiration, check out the [C# version of this file][csharp-implementing].
44

5-
[csharp-implementing]: ../../csharp/docs/implementing-a-concept-exercise.md
5+
[csharp-implementing]: ../../csharp/reference/implementing-a-concept-exercise.md

languages/fsharp/docs/README.md

+14-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# F# specific docs
22

3-
## General
3+
## Student-facing docs
44

5-
- [How to implement a Concept Exercise](./implementing-a-concept-exercise.md)
5+
Student-facing documents are written to help explain a particular F# concept to a student when no appropriate online document can be found. They will be used when creating exercises and as references in exercise documentation.
6+
7+
The following student-facing documents have been written:
8+
9+
- [Assemblies][assemblies]
10+
11+
The following student-facing documents should be written:
12+
13+
- Naming conventions
14+
- Code style
15+
- Memory allocation
16+
17+
[assemblies]: ../../../reference/tooling/dotnet-assemblies.md

0 commit comments

Comments
 (0)