Support arbitrary keys in new featuredLinks frontmatter (#16239) · github/docs@174d853 · GitHub
Skip to content

Commit 174d853

Browse files
JasonEtcosarahs
andauthored
Support arbitrary keys in new featuredLinks frontmatter (#16239)
* Add featuredLinks to frontmatter * Parse them in featured-links.js * Remove old raw setup * Use them * Missed a couple * Update translation files * Fix frontmatter schema * Loop over the right object * Also update translations' usage * Update docs and tests * Better README comment Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com> * Return next() Co-authored-by: Sarah Schneider <sarahs@users.noreply.github.com>
1 parent 4704063 commit 174d853

39 files changed

Lines changed: 412 additions & 375 deletions

File tree

content/README.md

Lines changed: 14 additions & 4 deletions

content/actions/index.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ intro: 'Automate, customize, and execute your software development workflows rig
55
introLinks:
66
quickstart: /actions/quickstart
77
learn: /actions/learn-github-actions
8-
gettingStartedLinks:
9-
- /actions/managing-workflow-runs
10-
- /actions/hosting-your-own-runners
11-
guideLinks:
12-
- /actions/guides/setting-up-continuous-integration-using-workflow-templates
13-
- /actions/guides/about-packaging-with-github-actions
14-
popularLinks:
15-
- /actions/reference/workflow-syntax-for-github-actions
16-
- /actions/reference/events-that-trigger-workflows
8+
featuredLinks:
9+
gettingStarted:
10+
- /actions/managing-workflow-runs
11+
- /actions/hosting-your-own-runners
12+
guide:
13+
- /actions/guides/setting-up-continuous-integration-using-workflow-templates
14+
- /actions/guides/about-packaging-with-github-actions
15+
popular:
16+
- /actions/reference/workflow-syntax-for-github-actions
17+
- /actions/reference/events-that-trigger-workflows
1718
redirect_from:
1819
- /articles/automating-your-workflow-with-github-actions/
1920
- /articles/customizing-your-project-with-github-actions/
@@ -42,7 +43,7 @@ versions:
4243
<h3 class="f5 text-normal text-mono underline-dashed color-gray-5">{% data ui.toc.guides %}</h3>
4344
</div>
4445
<ul class="list-style-none">
45-
{% for link in guideLinks %}
46+
{% for link in featuredLinks.guide %}
4647
<li>{% include featured-link %}</li>
4748
{% endfor %}
4849
</ul>
@@ -53,7 +54,7 @@ versions:
5354
<h3 class="f5 text-normal text-mono underline-dashed color-gray-5">{% data ui.toc.popular_articles %}</h3>
5455
</div>
5556
<ul class="list-style-none">
56-
{% for link in popularLinks %}
57+
{% for link in featuredLinks.popular %}
5758
<li>{% include featured-link %}</li>
5859
{% endfor %}
5960
</ul>
@@ -64,7 +65,7 @@ versions:
6465
<h3 class="f5 text-normal text-mono underline-dashed color-gray-5">Manage workflows</h3>
6566
</div>
6667
<ul class="list-style-none">
67-
{% for link in gettingStartedLinks %}
68+
{% for link in featuredLinks.gettingStarted %}
6869
<li>{% include featured-link %}</li>
6970
{% endfor %}
7071
</ul>

content/index.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
---
22
title: '{% data variables.product.product_name %}{% if currentVersion == "free-pro-team@latest" %}.com{% endif %} Help Documentation'
3-
gettingStartedLinks:
4-
- /github/getting-started-with-github/set-up-git
5-
- /github/authenticating-to-github/connecting-to-github-with-ssh
6-
- /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github
7-
- /github/writing-on-github/basic-writing-and-formatting-syntax
8-
popularLinks:
9-
- /github/collaborating-with-issues-and-pull-requests/about-pull-requests
10-
- /github/authenticating-to-github
11-
- /github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line
12-
- /github/using-git/managing-remote-repositories
13-
- /github/working-with-github-pages
3+
featuredLinks:
4+
gettingStarted:
5+
- /github/getting-started-with-github/set-up-git
6+
- /github/authenticating-to-github/connecting-to-github-with-ssh
7+
- /github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github
8+
- /github/writing-on-github/basic-writing-and-formatting-syntax
9+
popular:
10+
- /github/collaborating-with-issues-and-pull-requests/about-pull-requests
11+
- /github/authenticating-to-github
12+
- /github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line
13+
- /github/using-git/managing-remote-repositories
14+
- /github/working-with-github-pages
1415
versions: '*'
1516
---
1617

content/insights/index.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
title: GitHub Insights Documentation
33
shortTitle: GitHub Insights
44
intro: 'Understand and improve your software delivery process through data with {% data variables.product.prodname_insights %}. You can view customized reports based on data from {% data variables.product.prodname_enterprise %}.'
5-
gettingStartedLinks:
6-
- /insights/installing-and-configuring-github-insights/about-github-insights
7-
- /insights/installing-and-configuring-github-insights/system-overview-for-github-insights
8-
- /insights/installing-and-configuring-github-insights/installing-github-insights
9-
- /insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports
10-
popularLinks:
11-
- /insights/installing-and-configuring-github-insights/about-data-in-github-insights
12-
- /insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights
5+
featuredLinks:
6+
gettingStarted:
7+
- /insights/installing-and-configuring-github-insights/about-github-insights
8+
- /insights/installing-and-configuring-github-insights/system-overview-for-github-insights
9+
- /insights/installing-and-configuring-github-insights/installing-github-insights
10+
- /insights/exploring-your-usage-of-github-enterprise/viewing-key-metrics-and-reports
11+
popular:
12+
- /insights/installing-and-configuring-github-insights/about-data-in-github-insights
13+
- /insights/exploring-your-usage-of-github-enterprise/metrics-available-with-github-insights
1314
redirect_from:
1415
- /github/installing-and-configuring-github-insights
1516
versions:

content/packages/index.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,19 @@
22
title: GitHub Packages Documentation
33
shortTitle: GitHub Packages
44
intro: 'Learn to safely publish and consume packages, store your packages alongside your code, and share your packages privately with your team or publicly with the open source community. You can also automate your packages with {% data variables.product.prodname_actions %}.'
5-
gettingStartedLinks:
6-
- /packages/publishing-and-managing-packages/about-github-packages
7-
- /packages/getting-started-with-github-container-registry/about-github-container-registry
8-
- /packages/getting-started-with-github-container-registry
9-
- /packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images
10-
- /packages/publishing-and-managing-packages/publishing-a-package
11-
- /packages/publishing-and-managing-packages/installing-a-package
12-
popularLinks:
13-
- /packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages
14-
- /packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages
15-
- /packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images
16-
- /packages/using-github-packages-with-your-projects-ecosystem/using-github-packages-with-github-actions
5+
featuredLinks:
6+
gettingStarted:
7+
- /packages/publishing-and-managing-packages/about-github-packages
8+
- /packages/getting-started-with-github-container-registry/about-github-container-registry
9+
- /packages/getting-started-with-github-container-registry
10+
- /packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images
11+
- /packages/publishing-and-managing-packages/publishing-a-package
12+
- /packages/publishing-and-managing-packages/installing-a-package
13+
popular:
14+
- /packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages
15+
- /packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages
16+
- /packages/managing-container-images-with-github-container-registry/pushing-and-pulling-docker-images
17+
- /packages/using-github-packages-with-your-projects-ecosystem/using-github-packages-with-github-actions
1718
redirect_from:
1819
- /github/managing-packages-with-github-packages
1920
- /categories/managing-packages-with-github-package-registry

includes/article.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ <h3 id="in-this-article" class="f5 mb-2"><a class="link-gray-dark" href="#in-thi
6363
</div>
6464
</div>
6565
<div id="article-contents" class="article-grid-body">
66-
{% if gettingStartedLinks and popularLinks %}
66+
{% if featuredLinks.gettingStarted and featuredLinks.popular %}
6767
{% include featured-links %}
6868
{% endif %}
6969
{{ renderedPage }}

includes/featured-links.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<h3 class="f5 text-normal text-mono underline-dashed color-gray-5">{% data ui.toc.getting_started %}</h3>
88
</div>
99

10-
{% for link in gettingStartedLinks %}
10+
{% for link in featuredLinks.gettingStarted %}
1111
{% include featured-link %}
1212
{% endfor %}
1313
</div>
@@ -18,7 +18,7 @@ <h3 class="f5 text-normal text-mono underline-dashed color-gray-5">{% data ui.to
1818
<h3 class="f5 text-normal text-mono underline-dashed color-gray-5">{% data ui.toc.popular_articles %}</h3>
1919
</div>
2020

21-
{% for link in popularLinks %}
21+
{% for link in featuredLinks.popular %}
2222
{% include featured-link %}
2323
{% endfor %}
2424
</div>

lib/frontmatter.js

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,6 @@ const schema = {
5252
redirect_from: {
5353
type: ['array', 'string']
5454
},
55-
gettingStartedLinks: {
56-
type: 'array'
57-
},
58-
popularLinks: {
59-
type: 'array'
60-
},
61-
guideLinks: {
62-
type: 'array'
63-
},
6455
allowTitleToDifferFromFilename: {
6556
type: 'boolean'
6657
},
@@ -70,6 +61,16 @@ const schema = {
7061
quickstart: { type: 'string' },
7162
learn: { type: 'string' }
7263
}
64+
},
65+
featuredLinks: {
66+
type: 'object',
67+
additionalProperties: false,
68+
patternProperties: {
69+
'^[a-zA-Z-_]+$': {
70+
type: 'array',
71+
items: { type: 'string' }
72+
}
73+
}
7374
}
7475
}
7576
}

lib/page.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,6 @@ class Page {
5959
this.rawProduct = this.product
6060
this.rawPermissions = this.permissions
6161

62-
// Store raw data so we can access/modify it later in middleware
63-
this.rawGettingStartedLinks = this.gettingStartedLinks
64-
this.rawPopularLinks = this.popularLinks
65-
this.rawGuideLinks = this.guideLinks
66-
// Do not need to keep the original props
67-
delete this.gettingStartedLinks
68-
delete this.popularLinks
69-
delete this.guideLinks
70-
7162
// a page should only be available in versions that its parent product is available in
7263
const versionsParentProductIsNotAvailableIn = getApplicableVersions(this.versions, this.fullPath)
7364
// only the homepage will not have this.parentProduct

middleware/featured-links.js

Lines changed: 6 additions & 3 deletions

0 commit comments

Comments
 (0)