You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: building/tracks/README.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,8 +20,13 @@ Tracks have two types of exercises:
20
20
- Concept exercises: they are designed to teach one or more concepts to a student. Check the [documentation](/docs/building/tracks/concept-exercises) for more information.
21
21
- Practice exercises: they are designed to practice learned concepts. Check the [documentation](/docs/building/tracks/practice-exercises) for more information.
22
22
23
-
Exercises can have approaches associated with them, which describe the different ways in which an exercise can be solved.
24
-
Check the [documentation](/docs/building/tracks/approaches) for more information.
23
+
### Dig deeper
24
+
25
+
Each exercise has an optional Dig Deeper section that can contain:
26
+
27
+
-[Approaches](/docs/building/tracks/approaches): different ways in which the exercise can be solved
28
+
-[Articles](/docs/building/tracks/articles): describe interesting aspects of the exercise
29
+
- Community videos: videos that showcase the exercise, usually by having someone solve the exercise from scratch
This file contains a small snippet that showcases the approach.
494
+
The snippet is shown on an exercise's dig deeper page.
495
+
496
+
Its number of lines must be <= 8.
497
+
498
+
Check the [documentation](/docs/building/tracks/approaches) for more information on what should go in this file.
499
+
500
+
#### Example
501
+
502
+
```csharp
503
+
Span<char>chars=stackallocchar[input.Length];
504
+
for (vari=0; i<input.Length; i++)
505
+
{
506
+
chars[input.Length-1-i] =input[i];
507
+
}
508
+
returnnewstring(chars);
509
+
```
510
+
511
+
---
512
+
513
+
### File: `.article/config.json`
514
+
515
+
**Purpose:** Metadata for the articles
516
+
517
+
**Presence:** Optional (required when an article exists)
518
+
519
+
This file contains meta information on the exercise's articles:
520
+
521
+
-`articles`: An array listing the detailed articles (optional)
522
+
-`uuid`: a V4 UUID that uniquely identifies the article. The UUID must be unique both within the track as well as across all tracks, and must never change
523
+
-`slug`: the article's slug, which is a lowercased, kebab-case string. The slug must be unique across all article slugs within the track. Its length must be <= 255.
524
+
-`title`: the article's title. Its length must be <= 255.
525
+
-`blurb`: A short description of this article. Its length must be <= 350. Markdown is _not_ supported (required)
526
+
-`authors`: The GitHub username(s) of the exercise article's author(s) (required)
527
+
- Including reviewers if their reviews substantially change the exercise article (to the extent where it feels like "you got there together")
528
+
-`contributors`: The GitHub username(s) of the exercise article's contributor(s) (optional)
529
+
- Including reviewers if their reviews are meaningful/actionable/actioned.
530
+
531
+
#### Example
532
+
533
+
```json
534
+
{
535
+
"articles": [
536
+
{
537
+
"uuid": "6db71962-62d5-448b-a980-c20ae41013ed",
435
538
"slug": "performance",
436
539
"title": "Optimizing performance",
437
540
"blurb": "Explore how to most efficiently reverse a string and what the trade-offs are.",
@@ -443,14 +546,14 @@ This file contains meta information on the exercise:
0 commit comments