Skip to content

Commit 27e0537

Browse files
authored
Merge branch 'ArmDeveloperEcosystem:main' into main
2 parents 8bfd16e + 2c9c109 commit 27e0537

63 files changed

Lines changed: 2460 additions & 555 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
name: draft-learning-path
3+
description: "Toggle draft mode on a Learning Path _index.md. Use when: marking a learning path as draft, hiding a learning path from publication, adding draft: true to front matter, unpublishing or disabling a learning path, removing draft, publishing a learning path, taking a learning path out of draft."
4+
---
5+
6+
# Draft Learning Path
7+
8+
Sets `draft: true` and `cascade: draft: true` in the front matter of a Learning Path `_index.md` file so the page and all its child pages are excluded from the published site.
9+
10+
For new content intake where the goal is to prevent unreviewed content from publishing, use `.github/skills/intake-metadata-update/SKILL.md` instead.
11+
12+
## Draft block to insert
13+
14+
The following YAML must be added to the front matter, after the `title:` field. Leave a blank line between `title:` and the draft block for readability:
15+
16+
```yaml
17+
title: Your Learning Path Title
18+
19+
draft: true
20+
cascade:
21+
draft: true
22+
```
23+
24+
## Workflow
25+
26+
1. **Identify the target file**
27+
- If the user specifies a path, use that.
28+
- Otherwise, use the currently open or most recently edited `_index.md` file in the workspace.
29+
- Confirm the file is a Learning Path `_index.md` (contains Hugo front matter between `---` markers).
30+
31+
2. **Read the file**
32+
- Read the file to inspect the existing front matter.
33+
34+
3. **Apply the draft block**
35+
- If `draft: true` and `cascade:` with `draft: true` already exist, inform the user it is already in draft mode and stop.
36+
- If a `draft:` field exists but no `cascade:` block, replace the existing `draft:` line with the full draft block above.
37+
- If no `draft:` field exists, insert the draft block after the `title:` field, with a blank line between them.
38+
39+
4. **Confirm**
40+
- Report the file path and confirm the draft block has been set.
41+
- Remind the user that Hugo will exclude this file and all child pages from the built site until the draft block is removed.
42+
43+
## Undraft workflow
44+
45+
If the user asks to publish, undraft, or remove draft mode:
46+
47+
1. **Identify the target file** (same as above).
48+
2. **Read the file** to locate the draft block.
49+
3. **Remove the draft block**
50+
- Remove the `draft: true` line.
51+
- Remove the `cascade:` block (`cascade:` and its indented `draft: true` child line).
52+
- Remove any blank line that was added between `title:` and the draft block, restoring the original spacing.
53+
- If no draft block exists, inform the user the file is already published and stop.
54+
4. **Confirm**
55+
- Report the file path and confirm draft mode has been removed.
56+
- Remind the user the Learning Path will now appear on the published site.

.github/skills/frontmatter-audit/SKILL.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@ For a Learning Path directory:
2525
- Public pages should have unique `weight` values within the directory.
2626
- Every page except for `_next-steps.md` must include a description.
2727
- `_index.md` must include `description`.
28-
- Required `_index.md` fields include `title`, `description`, `weight`, `layout`, `minutes_to_complete`, `prerequisites`, `author`, `subjects`, `armips`, `tools_software_languages`, `skilllevels`, and `operatingsystems`.
28+
- Required `_index.md` fields include `title`, `description`, `weight`, `layout`, `minutes_to_complete`, `prerequisites`, `author`, `generate_summary_faq`, `rerun_summary`, `rerun_faqs`, `subjects`, `armips`, `tools_software_languages`, `skilllevels`, and `operatingsystems`.
2929
- `layout` is usually `learningpathall`.
3030
- `title` should be task-led and use an imperative structure: verb + technology/tool + outcome.
3131
- `skilllevels` values are only `Introductory` or `Advanced`.
3232
- `subjects` and `operatingsystems` must match the closed lists in `content/learning-paths/cross-platform/_example-learning-path/write-2-metadata/`.
3333
- `armips` should use Arm IP families such as Neoverse, Cortex-A, or Cortex-M, not specific CPU models or Arm architecture versions.
3434
- `author` can list multiple authors with YAML list syntax.
35+
- `generate_summary_faq`, `rerun_summary`, and `rerun_faqs` values are only `true` and `false`.
3536
- Skip `_next-steps.md` for description updates unless the user explicitly asks how to handle it.
3637

3738
## Install guide checks

.github/skills/writing-style-review/SKILL.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ Use this skill for granular prose, voice, readability, terminology, and style re
1818

1919
## Voice and tone
2020

21-
- Use second person: `you` and `your`.
22-
- Avoid first person: `I` and `we`.
21+
- Use second person: `you` and `your` for Learning Path summaries, Learning Path content, install guide content, answers to FAQs, and metadata descriptions. Avoid first person for these content types.
22+
- Use first person: `I` and `we` for FAQs.
2323
- Use active voice.
2424
- Use present tense for descriptions.
2525
- Use imperative mood for commands.
@@ -40,6 +40,7 @@ Use this skill for granular prose, voice, readability, terminology, and style re
4040
- Use plain English and avoid jargon overload.
4141
- Define acronyms on first use.
4242
- Use parallel structure in lists.
43+
- Avoid starting sentences with "In this Learning Path"/ "In this section"/"On this page" / "In this step".
4344
- Flag sections over 700 words and suggest natural split points.
4445
- Identify paragraphs with sentences averaging over 20 words.
4546
- Note sections that introduce more than two new concepts.
@@ -74,7 +75,7 @@ Use this skill for granular prose, voice, readability, terminology, and style re
7475
- Use `set up` as a verb and `setup` as a noun.
7576
- Use `avoid` instead of `try not to`.
7677
- Use `such as` instead of `like`.
77-
- Use `after` instead of `once`.
78+
- Use `after` or `when` instead of `once`.
7879

7980
## Tone cleanup
8081

@@ -111,7 +112,7 @@ Use this skill for granular prose, voice, readability, terminology, and style re
111112
- Use `arm64` or `aarch64` for CPU architecture based on tool, package, or OS convention.
112113
- Use `ARM64` only when referring to Windows on Arm or Microsoft documentation.
113114
- Capitalize `Learning Path`.
114-
- Use `Azure Cobalt`, `Google Axion`, and `AWS Graviton` as processor names, not VM names.
115+
- Use `Azure Cobalt`, `Google Axion`, and `AWS Graviton` as processor names, not VM names. `Graviton-based instances`, not `Graviton instances`, for example.
115116
- Do not use bold or italics for product names such as LiteRT, XNNPACK, KleidiAI, and SME2 unless they are headings or UI labels.
116117

117118
## Avoid AI-sounding prose

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ package-lock.json
88
.vscode
99
.env
1010
startup.sh
11-
data/
1211

1312
# macOS files
1413
*.DS_Store
@@ -26,4 +25,4 @@ z_local_saved/
2625
tags
2726

2827
# Generated spell check config
29-
.spellcheck-non-draft.yml
28+
.spellcheck-non-draft.yml

.wordlist.txt

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6324,4 +6324,35 @@ perfrunbook
63246324
pprof
63256325
prj
63266326
reflashing
6327-
unwinder
6327+
unwinder
6328+
AmazonECS
6329+
Anupras
6330+
Mohapatra
6331+
RCTL
6332+
Rafay
6333+
Rafay's
6334+
RafayEKSProvisioner
6335+
aeaed
6336+
aed
6337+
balancer's
6338+
cbd
6339+
cdk
6340+
dac
6341+
dbdad
6342+
dcf
6343+
defaultproject
6344+
deprovision
6345+
dfbc
6346+
ebdd
6347+
ece
6348+
edbfe
6349+
ede
6350+
fcdebd
6351+
rafay
6352+
rctl
6353+
Prims
6354+
bbe
6355+
boundedness
6356+
cbf
6357+
dda
6358+
efe

assets/contributors.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,4 @@ Sue Wu,Arm,,,,
127127
Sabika Tasneem,Memgraph,,,,
128128
Anupras Mohapatra,Arm,,,,
129129
Tomas Agustin Gonzalez Orlando,Arm,tgonzalezorlandoarm,tgorlando,,
130+
Steve Jordahl,Rafay,,,,

assets/css/content.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ img.content-uploaded-image.centered {
153153
/* have to style the span like a paragraph, required for nesting caption in default markdown configruation */
154154
display: block; /* or block, depending on the desired layout */
155155
font-style: italic;
156-
font-weight: 500;
156+
font-weight: 400;
157157
margin-top: 0px;
158158
font-size: 1rem;
159159
}

assets/css/cross-page.css

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,35 @@
1212

1313
/* UNIVERSAL FONTS */
1414
/****************************************************/
15-
/* Ignored for now, adding in head.html via google fonts. Can use this locally to optimize if needed */
16-
17-
18-
/* Lato font get from local fonts folder, not fonts.google.com as it loads facebook/youtube tracking data */
19-
/* Normal, Italic, Bold
20-
300, 400, 500 */
21-
22-
/*
15+
/* Lato font self-hosted from /fonts/ to avoid external requests and reduce CLS */
2316
@font-face {
2417
font-family: 'Lato';
2518
font-style: normal;
2619
font-weight: 300;
27-
src: url('../fonts/LatoLatin-Light.woff2') format('woff2'),
28-
url('../fonts/LatoLatin-Light.ttf') format('ttf');
29-
}
30-
31-
@font-face {
20+
font-display: swap;
21+
src: url('/fonts/LatoLatin-Light.woff2') format('woff2');
22+
}
23+
@font-face {
3224
font-family: 'Lato';
3325
font-style: normal;
3426
font-weight: 400;
35-
src: url('../fonts/LatoLatin-Regular.woff2') format('woff2'),
36-
url('../fonts/LatoLatin-Regular.ttf') format('ttf');
37-
}
38-
39-
@font-face {
40-
font-family: 'Lato';
41-
font-style: normal;
42-
font-weight: 500;
43-
src: url('../fonts/LatoLatin-Medium.woff2') format('woff2'),
44-
url('../fonts/LatoLatin-Medium.ttf') format('ttf');
45-
}
46-
27+
font-display: swap;
28+
src: url('/fonts/LatoLatin-Regular.woff2') format('woff2');
29+
}
4730
@font-face {
4831
font-family: 'Lato';
4932
font-style: italic;
5033
font-weight: 300;
51-
src: url('../fonts/LatoLatin-LightItalic.woff2') format('woff2'),
52-
url('../fonts/LatoLatin-LightItalic.ttf') format('ttf');
53-
}
54-
@font-face {
34+
font-display: swap;
35+
src: url('/fonts/LatoLatin-LightItalic.woff2') format('woff2');
36+
}
37+
@font-face {
5538
font-family: 'Lato';
5639
font-style: italic;
5740
font-weight: 400;
58-
src: url('../fonts/LatoLatin-Italic.woff2') format('woff2'),
59-
url('../fonts/LatoLatin-Italic.ttf') format('ttf');
60-
}
61-
@font-face {
62-
font-family: 'Lato';
63-
font-style: italic;
64-
font-weight: 500;
65-
src: url('../fonts/LatoLatin-MediumItalic.woff2') format('woff2'),
66-
url('../fonts/LatoLatin-MediumItalic.ttf') format('ttf');
67-
}
68-
*/
41+
font-display: swap;
42+
src: url('/fonts/LatoLatin-Italic.woff2') format('woff2');
43+
}
6944

7045

7146
/* UNIVERSAL */
@@ -183,17 +158,31 @@ table tbody td {
183158

184159

185160

161+
/* CLS fix: reserve space for nav before hydration */
162+
arm-top-navigation:not(:defined) {
163+
display: block;
164+
min-height: 80px;
165+
}
166+
@media (max-width: 1024px) {
167+
arm-top-navigation:not(:defined) {
168+
min-height: 60px;
169+
}
170+
}
171+
186172
/* Fix global nav height */
173+
/* The arm-global-web-components script renders a position:fixed nav (0 flow space)
174+
and may inject a 50px sub-navigation bar in flow */
187175
/*************************************/
188176
#global-nav-height-fixer {
189177
max-width: 100vw;
190-
min-height: 80px;
178+
height: 80px;
179+
overflow: hidden;
191180
position: relative;
192181
top: 0;
193182
}
194183
@media (max-width: 1024px) { /* smaller screens than LG */
195184
#global-nav-height-fixer {
196-
min-height: 60px;
185+
height: 60px;
197186
}
198187
}
199188
.nav-transparent {
@@ -453,3 +442,11 @@ html[theme='light'] body {
453442
ads-masthead { --ads-masthead-horizontal-padding: 5px; }
454443
}
455444

445+
/* CLS fix: reserve space for arm-footer before hydration */
446+
arm-footer-navigation:not(:defined) {
447+
display: block;
448+
min-height: 300px;
449+
}
450+
#arm-footer {
451+
contain: layout;
452+
}

assets/css/home.css

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,32 @@
11

22

33

4+
/* CLS fix: reserve space for web components before hydration */
5+
ads-search:not(:defined) {
6+
display: block;
7+
min-height: 45px;
8+
}
9+
ads-cta-button:not(:defined) {
10+
display: inline-block;
11+
min-height: 40px;
12+
min-width: 200px;
13+
}
14+
ads-breadcrumbs:not(:defined) {
15+
display: block;
16+
min-height: 32px;
17+
}
18+
19+
/* CLS fix: lock the breadcrumb masthead height so hydration doesn't shift content below */
20+
#only-breadcrumb-masthead {
21+
height: 40px;
22+
overflow: hidden;
23+
}
24+
25+
/* CLS fix: lock the description+button area height to prevent shift when ads-cta-button hydrates */
26+
.homepage-top-desc {
27+
min-height: 110px;
28+
}
29+
430
/*********************************************************************
531
632
Main Topic Cards

assets/css/list-pages.css

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@ Covers the following pages:
77

88

99

10+
/* CLS fix: reserve space for web components before hydration
11+
*******************************************************************/
12+
ads-card:not(:defined) {
13+
display: block;
14+
min-height: 180px;
15+
}
16+
ads-search:not(:defined) {
17+
display: block;
18+
min-height: 45px;
19+
}
20+
ads-expansion-panel:not(:defined) {
21+
display: block;
22+
min-height: 48px;
23+
}
24+
ads-masthead:not(:defined) {
25+
display: block;
26+
min-height: 100px;
27+
}
28+
1029
/* Search / Status bar for active filters, # displayed, and sorting
1130
*******************************************************************/
1231
#result-sort-div {
@@ -313,7 +332,7 @@ html[theme="light"] .learning-path-title, html[theme="light"] .basics-title {
313332
/*font-weight: bold;
314333
font-size:1.25rem;
315334
*/
316-
font-weight: 500;
335+
font-weight: 400;
317336

318337
margin-top: 0px;
319338
margin-bottom: 4px;

0 commit comments

Comments
 (0)