Skip to content

Commit 5f9e962

Browse files
Merge branch 'main' into woa
2 parents a4d06c6 + 2f3c546 commit 5f9e962

File tree

169 files changed

+6924
-2317
lines changed

Some content is hidden

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

169 files changed

+6924
-2317
lines changed

.github/copilot-instructions.md

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
# Project Overview
2+
3+
This project is a static website created using Hugo and markdown files. The purpose of the content is to explain how-to topics to software developers targeting various Arm platforms.
4+
5+
Assume the audience is made up of Arm software developers. Bias information toward Arm platforms. For Linux, assume systems are aarch64 architecture and not x86. Readers also use macOS and Windows on Arm systems, and assume Arm architecture where relevant.
6+
7+
## Project structure
8+
9+
The key directories are:
10+
11+
### Top Level Structure
12+
13+
/content - The main directory containing all Learning Paths and install guides as markdown files
14+
/themes - HTML templates and styling elements that render the content into the final website
15+
/tools - Python scripts for automated website integrity checking
16+
config.toml - High-level Hugo configuration settings
17+
18+
### Content Organization:
19+
20+
The /content directory is organized into:
21+
22+
- learning-paths/ Core learning content organized by categories:
23+
-- embedded-and-microcontrollers/ MCU, IoT, and embedded development topics
24+
-- servers-and-cloud-computing/ Server, cloud, and enterprise computing topics
25+
-- mobile-graphics-and-gaming/ Mobile app development, graphics, and gaming
26+
-- cross-platform/ Cross-platform development and general programming topics, these appear in multiple categories on the website
27+
-- laptops-and-desktops/ Desktop application development, primarily Windows on Arm and macOS
28+
-- automotive/ Automotive and ADAS development
29+
-- iot/ IoT-specific Learning Paths
30+
31+
- install-guides/ - Tool installation guides with supporting subdirectories organized by tool categories like docker/, gcc/, license/, browsers/, plus an _images/ directory for screenshots and diagrams
32+
33+
These are special directories and not used for regular content creation:
34+
migration/ Migration guides and resources, this maps to https://learn.arm.com/migration
35+
lists/ Content listing and organization files, this maps to https://learn.arm.com/lists
36+
stats/ Website statistics and analytics, this maps to https://learn.arm.com/stats
37+
38+
The /content directory is the primary workspace where contributors add new Learning Paths as markdown files, organized into category-specific subdirectories that correspond to the different learning path topics available on the site at https://learn.arm.com/.
39+
40+
## Content requirements
41+
42+
Read the files in the directory `content/learning-paths/cross-platform/_example-learning-path` for information about how Learning Path content should be created. Some additional help is listed below.
43+
44+
### Content structure
45+
46+
Each Learning Path must have an _index.md file and a _next-steps.md file. The _index.md file contains the main content of the Learning Path. The _next-steps.md file contains links to related content and is included at the end of the Learning Path.
47+
48+
Additional resources and 'next steps' content should be placed in the `further_reading` section of `_index.md`, NOT in `_next-steps.md`. The `_next-steps.md` file should remain minimal and unmodified as indicated by "FIXED, DO NOT MODIFY" comments in the template.
49+
50+
The _index.md file should contain the following front matter and content sections:
51+
52+
Front Matter (YAML format):
53+
- `title`: Imperative heading following the [verb] + [technology] + [outcome] format
54+
- `weight`: Numerical ordering for display sequence, weight is 1 for _index.md and each page is ordered by weight, no markdown files should have the same weight in a directory
55+
- `layout`: Template type (usually "learningpathall")
56+
- `minutes_to_complete`: Realistic time estimate for completion
57+
- `prerequisites`: List of required knowledge, tools, or prior learning paths
58+
- `author_primary`: Main contributor's name, multiple authors can be listed separated using - on new lines
59+
- `subjects`: Technology categories for filtering and search, this is a closed list and must match one of the subjects listed on https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/write-2-metadata/
60+
- `armips`: Relevant Arm IP, stick to Neoverse, Cortex-A, Cortex-M, etc. Don't list specific CPU models or Arm architecture versions
61+
- `tools_software_languages`: Open category listing Programming languages, frameworks, and development tools used
62+
- `skilllevels`: Skill levels allowed are only Introductory and Advanced
63+
- `operatingsystems`: Operating systems used, must match the closed list on https://learn.arm.com/learning-paths/cross-platform/_example-learning-path/write-2-metadata/
64+
65+
### Further Reading Curation
66+
67+
Limit further_reading resources to 4-6 essential links. Prioritize:
68+
- Direct relevance to the topic
69+
- Arm-specific Learning Paths over generic external resources
70+
- Foundation knowledge for target audience
71+
- Required tools (install guides)
72+
- Logical progression from basic to advanced
73+
74+
Avoid overwhelming readers with too many links, which can cause them to leave the platform.
75+
76+
All Learning Paths should generally include:
77+
Title: [Imperative verb] + [technology/tool] + [outcome]
78+
Introduction paragraph: Context + user goal + value proposition
79+
Prerequisites section with explicit requirements and links
80+
Learning objectives: 3-4 bulleted, measurable outcomes with action verbs
81+
Step-by-step sections with logical progression
82+
Clear next steps/conclusion
83+
84+
For title formatting:
85+
- MUST use imperative voice ("Deploy", "Configure", "Build", "Create")
86+
- MUST include SEO keywords (technology names, tools)
87+
- Examples: "Deploy applications on Arm servers", "Configure Arm processors for optimal performance"
88+
89+
Learning Path should always be capitalized.
90+
91+
### Writing style
92+
93+
Voice and Tone:
94+
- Second person ("you", "your") - NEVER first person ("I", "we")
95+
- Active voice - AVOID passive constructions
96+
- Present tense for descriptions
97+
- Imperative mood for commands
98+
- Confident and developer-friendly tone
99+
- Encouraging language for complex tasks
100+
101+
Sentence Structure:
102+
- Average 15-20 words per sentence
103+
- Split complex sentences for scalability
104+
- Plain English - avoid jargon overload
105+
- US spellings required (organize/optimize/realize, not organise/optimise/realise)
106+
- "Arm" capitalization required (Arm processors/Neoverse, never ARM or arm; exceptions: "arm64" and "aarch64" are permitted in code, commands, and outputs)
107+
- Define acronyms on first use
108+
- Parallel structure in all lists
109+
110+
### Arm naming and architecture terms
111+
112+
- Use Arm for the brand in prose (for example, "Arm processors", "Arm servers").
113+
- Use arm64 or aarch64 for the CPU architecture; these are acceptable and interchangeable labels. Prefer whichever term a tool, package, or OS uses natively.
114+
- Do not use ARM in any context.
115+
- ARM64 is used by Windows on Arm and Microsoft documentation, so it is acceptable to use ARM64 when specifically referring to Windows on Arm.
116+
- In code blocks, CLI flags, package names, file paths, and outputs, keep the exact casing used by the tool (for example, --arch arm64, uname -m → aarch64).
117+
118+
### Heading guidelines
119+
120+
HEADING TYPES:
121+
- Conceptual headings: When explaining technology/motivation ("What is containerization?")
122+
- Imperative headings: When user takes action ("Configure the database")
123+
- Interrogative headings: For FAQ content ("How does Arm differ from x86?")
124+
- ALL headings: Use sentence case (first word capitalized, rest lowercase except proper nouns)
125+
126+
HIERARCHY:
127+
H1: Page title (imperative + technology + outcome)
128+
H2: Major workflow steps or conceptual sections
129+
H3: Sub-procedures or detailed explanations
130+
H4: Specific technical details or troubleshooting
131+
132+
### Code samples and formatting
133+
134+
CONTEXT-BEFORE-CODE RULE:
135+
- ALWAYS provide explanation before code blocks
136+
- Format: [What it does][Code][Expected outcome][Key parameters]
137+
138+
CODE FORMATTING:
139+
140+
Use markdown tags for programming languages like bash, python, yaml, json, etc.
141+
142+
Use console or bash for general commands. Try to use the same one throughout a Learning Path.
143+
144+
Correct format:
145+
146+
Use the following command to install required packages:
147+
148+
```bash
149+
sudo apt-get update && sudo apt-get install -y python3 nodejs
150+
```
151+
152+
Use the output tag to show expected command output.
153+
154+
```output
155+
Reading package lists... Done
156+
Building dependency tree... Done
157+
```
158+
159+
FORMATTING STANDARDS:
160+
- **Bold text**: UI elements (buttons, menu items, field names)
161+
- **Italic text**: Emphasis and new terms
162+
- **Code formatting**: Use for file names, commands, code elements
163+
164+
Use shortcodes for common pitfalls, warnings, important notes
165+
166+
{{% notice Note %}}
167+
An example note to pay attention to.
168+
{{% /notice %}}
169+
170+
{{% notice Warning %}}
171+
A warning about a common pitfall.
172+
{{% /notice %}}
173+
174+
## Avoid looking like AI-generated content
175+
176+
### Bullet List Management
177+
WARNING SIGNS OF OVER-BULLETING:
178+
- More than 3 consecutive sections using bullet lists
179+
- Bullet points that could be combined into narrative paragraphs
180+
- Lists where items don't have parallel structure
181+
- Bullet points that are actually full sentences better suited for paragraphs
182+
183+
CONVERSION STRATEGY:
184+
185+
Use flowing narrative instead of excessive bullets.
186+
187+
For example, use this format instead of the list below it.
188+
189+
Arm processors deliver improved performance while enhancing security through hardware-level protections. This architecture provides enhanced scalability for cloud workloads and reduces operational costs through energy efficiency.
190+
191+
Key benefits include:
192+
• Improved performance
193+
• Better security
194+
• Enhanced scalability
195+
• Reduced costs
196+
197+
### Natural Writing Patterns
198+
199+
HUMAN-LIKE TECHNIQUES:
200+
- Vary sentence length: Mix short, medium, and complex sentences
201+
- Use transitional phrases: "Additionally", "However", "As a result", "Furthermore"
202+
- Include contextual explanations: Why something matters, not just what to do
203+
- Add relevant examples: Real-world scenarios that illustrate concepts
204+
- Connect ideas logically: Show relationships between concepts and steps
205+
206+
CONVERSATIONAL ELEMENTS:
207+
208+
Instead of: "Execute the following command:"
209+
Use: "Now that you've configured the environment, run the following command to start the service:"
210+
211+
Instead of: "This provides benefits:"
212+
Use: "You'll notice several advantages with this approach, particularly when working with..."
213+
214+
## Hyperlink guidelines
215+
216+
Some links are useful in content, but too many links can be distracting and readers will leave the platform following them. Try to put only necessary links in the content and put other links in the "Next Steps" section at the end of the content. Flag any page with too many links for review.
217+
218+
### Internal links
219+
220+
Use the full path format for internal links: `/learning-paths/category/path-name/` (e.g., `/learning-paths/cross-platform/docker/`). Do NOT use relative paths like `../path-name/`.
221+
222+
Examples:
223+
- /learning-paths/servers-and-cloud-computing/csp/ (Arm-based instance)
224+
- /learning-paths/cross-platform/docker/ (Docker learning path)
225+
226+
### External links
227+
228+
Use the full URL for external links that are not on learn.arm.com, these open in a new tab.
229+
230+
### Link Verification Process
231+
232+
When creating Learning Path content:
233+
- Verify internal links exist before adding them
234+
- Use semantic search or website browsing to confirm Learning Path availability
235+
- Prefer verified external authoritative sources over speculative internal links
236+
- Test link formats against existing Learning Path examples
237+
- Never assume Learning Paths exist without verification
238+
239+
This instruction set enables high-quality Arm Learning Paths content while maintaining consistency and technical accuracy.

.gitpod.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)