Skip to content

Commit 762d451

Browse files
committed
feat: add or refactor academy documentation content
Signed-off-by: Zihan Kuang <zihan_kuang@outlook.com>
1 parent dc89b36 commit 762d451

5 files changed

Lines changed: 198 additions & 168 deletions

File tree

147 KB
Loading
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
---
2+
title: Creating Your First Learning Path
3+
weight: 3
4+
description: >
5+
A hands-on tutorial that walks you through creating, structuring, and testing a custom learning path for the Layer5 Academy.
6+
categories: [Academy]
7+
tags: [Designer]
8+
---
9+
10+
This guide provides a step-by-step walkthrough for creating and organizing a new learning path in the Layer5 Academy. You'll learn how to set up your content repository, structure your courses, add assets, preview your work, and publish it for your organization.
11+
12+
### 1. Set Up Your Content Repository
13+
14+
Start by preparing a dedicated Git repository for your learning content. Using our official Layer5 template to help you get started quickly.
15+
16+
1. **Fork the academy-example Repository**
17+
18+
- Go to the [academy-example repository](https://github.com/layer5io/academy-example) on GitHub.
19+
- Click **Fork** to create a copy under your own GitHub account.
20+
21+
2. **Clone Your Fork Locally**
22+
23+
- Use the `git clone` command to download your forked repository.
24+
- Example:
25+
```bash
26+
# Replace `<your-username>` with your actual GitHub username
27+
git clone https://github.com/<your-username>/academy-example.git
28+
cd academy-example
29+
git checkout -b <your-feature-branch>
30+
```
31+
32+
3. **Update the Go Module Path**
33+
34+
1. Open the `go.mod` file located at the root of your `academy-example` project.
35+
2. The first line will be:
36+
```go
37+
module github.com/layer5io/academy-example
38+
```
39+
3. Change this line to match your fork's path:
40+
```go
41+
module github.com/<your-username>/academy-example
42+
```
43+
4. Save the file, then commit and push this change to your repository.
44+
45+
{{< alert type="info" title="Critical Step" >}}
46+
This step is essential. It updates your repository's "identity card" (`go.mod`) to match its new "address" (your GitHub URL). Without this change, the layer5 cloud build process will fail.
47+
{{< /alert >}}
48+
49+
### 2. Structure Your Learning Path
50+
51+
The Academy uses a specific directory layout to keep each organization's content separate and secure.
52+
53+
1. **Define Your Unique Identifier**
54+
55+
First, you'll need a unique identifier for your organization. This should be a simple, URL-friendly name.
56+
57+
{{< alert type="warning" title="Naming Standard" >}}
58+
Use only lowercase letters and separate words with hyphens (e.g., `my-company`, `acme-inc`).
59+
{{< /alert >}}
60+
61+
2. **Create the Core Directories**
62+
63+
Now, inside your `academy-example` project, you should see the following top-level folders.
64+
65+
1. `content/learning-paths/<your-identifier>/`
66+
This `content` directory is where all your written material lives. The folder hierarchy you create here directly defines the navigation and organization of your learning paths.
67+
2. `static/<your-identifier>/`
68+
This `static` directory is for all your assets, such as images, diagrams, and so on.
69+
3. `layouts/shortcodes/<your-identifier>/`
70+
This `layouts` directory is for advanced use. You can place custom **Hugo Shortcodes** here if you need special reusable components in your lessons.
71+
72+
3. **Build the Content Hierarchy**
73+
74+
With the main folders in place, you can now structure your first course inside the `content` directory. The content is organized in a clear hierarchy: **Learning PathCourseChapterLesson**.
75+
76+
A high-level view of the structure looks like this:
77+
78+
```text
79+
content/
80+
└── learning-paths/
81+
├── _index.md
82+
└── <your-identifier>/
83+
└── <your-learning-path>/
84+
├── _index.md
85+
└── <your-course-1>/
86+
└── <your-course-2>/
87+
├── _index.md
88+
└── content/
89+
└── your-lesson-1.md
90+
└── your-lesson-2.md
91+
```
92+
93+
Each folder represents a level in the hierarchy, and the `_index.md` file within a folder defines the metadata (like title and description) for that level. The final `.md` files are your individual lessons.
94+
95+
Let's look at the role of each level:
96+
97+
- **The Section (`learning-paths`)**
98+
This is the top-level category for your content. The `_index.md` file at this level defines the main landing page for all learning paths.
99+
100+
- **Your Organization Folder (`<your-identifier>`)**
101+
This is the most important folder for ensuring your content is properly scoped. All of your learning paths and challenges must reside inside a single folder named with your unique organization identifier.
102+
103+
- **The Learning Path (`<your-learning-path>`)**
104+
This folder represents a complete learning path. The `_index.md` file inside it contains the title, description, and other metadata that will be displayed on the learning path's summary card.
105+
106+
- **The Course or Chapter (`<your-course>`)**
107+
Within a learning path, each course or chapter gets its own folder. The `_index.md` file here defines the course's metadata and, most importantly, the `toc` (Table of Contents) that sets the order of your lessons.
108+
109+
- **The Lessons (`content/`)**
110+
Finally, inside each course folder, a `content` directory holds all your individual lesson files, written in standard Markdown.
111+
112+
### 3. Add Assets and Interactive Content
113+
114+
Enhance your course with images and other visual aids. To ensure compatibility with the multi-tenant Academy platform, **do not use standard Markdown image links**. Instead, use the `usestatic` shortcode, which generates the correct, tenant-aware path for your assets.
115+
116+
**How to Add an Image**
117+
118+
1. Place your image file (e.g., `hugo-logo.png`) in your scoped static directory:
119+
`static/<your-identifier>/images/hugo-logo.png`
120+
2. In your `lesson-1.md` file, embed the image using the `usestatic` shortcode. The `path` is relative to your scoped static folder: ![The Hugo Logo]({{</* usestatic path="images/hugo-logo.png" */>}})
121+
122+
Then the system will automatically convert this into the correct URL when building the site.
123+
124+
### 4. Build and Preview Locally
125+
126+
Before publishing, preview your content locally to check formatting and structure. Run the following command in your project directory:
127+
128+
```bash
129+
hugo server
130+
```
131+
132+
This will start a local server where you can view your content.
133+
134+
![Preview site](./images/preview-site.png)
135+
136+
> The local preview shows basic styles; the full Academy styling will appear after your content is uploaded to the cloud platform.
137+
138+
### 5. Going Live
139+
140+
After you have completed and tested your content locally, reach out to the Layer5 team to request integration of your learning path. You can [connect](https://layer5.io/company/contact) with us via Slack, email, or by opening a GitHub issue. Be sure to provide the URL of your course repository when making your request.
141+
142+
A Layer5 administrator will then integrate your repository into the main Academy platform by updating the central configuration to mount your repository as a Hugo Module. Once this process is complete, your learning paths will be visible on the official Layer5 Cloud site.
143+
144+
### Frequently Asked Questions
145+
146+
- **How do I handle updates or corrections after my content is live?**
147+
148+
All content updates and corrections are managed through your own Git repository. Simply commit and push your changes, and they will be automatically synchronized and published with the next Layer5 Cloud release.
149+
150+
- **How do I structure multiple courses under one learning path?**
151+
152+
The structure is defined by your folder hierarchy. A learning path is a directory, and each course is simply a sub-directory within that path. This folder structure in your `content` directory directly maps to the learning path structure presented to users.

content/en/cloud/academy/extending-academy.md

Lines changed: 0 additions & 168 deletions
This file was deleted.
410 KB
Loading
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: Extending the Academy
3+
weight: 2
4+
description: >
5+
A high-level guide to understanding the architecture, features, and workflow for creating custom content on the Layer5 Academy platform.
6+
categories: [Academy]
7+
tags: [Designer]
8+
---
9+
10+
The [Layer5 Cloud Academy](https://cloud.layer5.io/academy/overview) is a modular learning management system (LMS) designed for building **learning paths** and interactive, hands-on cloud-native challenges. It is deeply integrated into the Layer5 cloud ecosystem and **[Kanvas](https://kanvas.new/)** — a visual designer for cloud-native infrastructure. This integration allows you to embed live visualizations, interactive designs, and contextual experiences directly into your courses.
11+
12+
This approach transforms learning from passive reading into active, hands-on practice.
13+
14+
![Example of Academy](./images/overview.png)
15+
16+
### Who Can Create Content
17+
18+
The ability to create, manage, and publish private content is available to organizations on our **Enterprise Plan**. This plan includes full support for:
19+
20+
- **Multi-tenancy:** Your content, users, and data are securely isolated from all other organizations.
21+
- **White-labeling:** You can brand the Academy with your own logo and color scheme.
22+
- **Customization:** You have complete control over the learning paths and challenges you create.
23+
24+
> You can learn more about our subscription plans on the [Layer5 Pricing](https://layer5.io/pricing) page.
25+
26+
### Your Content, Your Control: A Git-Native Workflow
27+
28+
We believe you should always own your content. That’s why the Academy is designed around a Git-native workflow that avoids vendor lock-in.
29+
30+
Instead of using a restrictive web UI, you manage all your learning content within **your own Git repositories**. This gives you the full power of version control, collaboration through pull requests, and a workflow that your developers are already comfortable with.
31+
32+
The entire experience is powered by **[Hugo](https://gohugo.io/)**, a powerful static site engine, but we've abstracted away the complexity. You and your team only need to write in simple Markdown.
33+
34+
{{< alert type="info" title="No Web Development Skills Needed" >}}
35+
You don't need to be a web developer to create beautiful and effective learning content. The provided theme handles all the layouts, styling, and complex components, letting you focus solely on the quality of your material.
36+
{{< /alert >}}
37+
38+
### Organizing Your Learning Paths
39+
40+
Your content is structured hierarchically to create a clear and logical learning experience for your users.
41+
42+
At the highest level, you have a **Learning Path**, which serves as a container for a specific specialization or topic. Each Learning Path is made up of one or more **Courses**, and each Course is further broken down into logical **Chapters** and individual **Lessons**. This modular structure makes your content easy to navigate, manage, and update.
43+
44+
{{< alert type="warning" title="Content Scoping" >}}
45+
To ensure security and isolation, all of your content files must be placed within a directory named for your organization. You'll learn the specifics of how to do this in our [hands-on tutorial](/cloud/academy/creating-your-learning-path/).
46+
{{< /alert >}}

0 commit comments

Comments
 (0)