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: content/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -207,7 +207,7 @@ defaultPlatform: linux
207
207
- type: `String`. This should reference learning tracks' names defined in [`data/learning-tracks/*.yml`](../data/learning-tracks/README.md).
208
208
- Optional
209
209
210
-
**Note: the first learning track is by-default the featured track.*
210
+
**Note: the featured track is set by a specific property in the learning tracks YAML. See that [README](../data/learning-tracks/README.md) for details.*
211
211
212
212
### `includeGuides`
213
213
- Purpose: Render a list of articles, filterable by `type` and `topics`. Only applicable when used with `layout: product-sublanding`.
Learning tracks are a collection of articles that help you master a particular subject. Learning tracks are defined on a per-product basis.
3
+
Learning tracks are a collection of articles that help you master a particular subject. Learning tracks are defined on a per-product basis. For example, see https://docs.github.com/en/actions/guides.
4
+
5
+
Learning track data for a product is defined in two places:
6
+
7
+
1. A simple array of learning track names is defined in the product sublanding index page frontmatter.
8
+
9
+
For example, in `content/actions/guides/index.md`:
10
+
```
11
+
learningTracks:
12
+
- getting_started
13
+
- continuous_integration
14
+
- continuous_deployment
15
+
- deploy_to_the_cloud
16
+
- hosting_your_own_runners
17
+
- create_actions
18
+
```
19
+
20
+
2. Additional data for each track is defined in a YAML file named for the **product** in the `data` directory.
21
+
22
+
For example, in `data/learning-tracks/actions.yml`, each of the items from the content file's `learningTracks` array is represented with additional data such as `title`, `description`, and an array of `guides` links.
23
+
24
+
One learning track in this YAML **per version** must be designated as a "featured" learning track via `featured_track: true`, which will set it to appear at the top of the product sublanding page. A test will fail if this property is missing.
25
+
26
+
The `featured_track` property can be a simple boolean (i.e., `featured_track: true`) or it can be a string that includes versioning statements (e.g., `featured_track: '{% if currentVersion == "free-pro-team@latest" %}true{% else %}false{% endif %}'`). If you use versioning, you'll have multiple `featured_track`s per YML file, but make sure that only one will render in each currently supported version. A test will fail if there are more or less than one featured link for each version.
27
+
28
+
Versioning for learning tracks is processed at page render time. The code lives in [`lib/learning-tracks.js`](lib/learning-tracks.js), which is called by `page.render()`. The processed learning tracks are then rendered by `layouts/product-sublanding.html`.
29
+
30
+
The schema for validating the learning track YAML lives in [`tests/helpers/schemas/learning-tracks-schema.js`](tests/helpers/schemas/learning-tracks-schema.js) and is exercised by [`tests/content/lint-files.js`](tests/content/lint-files.js).
0 commit comments