Extending the Academy
Categories:
The Layer5 Cloud Academy is a modular learning management system (LMS) designed for building learning paths and interactive, hands-on challenges. It is deeply integrated into the Layer5 cloud ecosystem and Kanvas β a visual designer for cloud native infrastructure. This integration allows you to embed live visualizations, interactive designs, and contextual experiences directly into your courses.
This approach transforms learning from passive reading into active, hands-on practice.

Who Can Create Content π
The ability to create, manage, and publish content is available to organizations on our Enterprise Plan. This plan includes full support for:
- Multi-tenancy: Your content, users, and data are securely isolated from all other organizations.
- White-labeling: You can brand the Academy with your own logo and color scheme.
- Customization: You choose the learning paths, challenges, and certifications you publish. You cannot replace the theme’s layouts, archetypes, or site-wide styles from a content repository. You can customize shortcodes only. Request theme changes through the theme’s issue tracker.
You can learn more about our subscription plans on the Layer5 Pricing page.
Content Creation Process π
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.
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.
The entire experience is powered by Hugo, a powerful static site engine, but we’ve abstracted away the complexity. You and your team only need to write in simple Markdown.
No Web Development Skills Needed
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.Organizing Your Learning Paths π
Your content is structured hierarchically to create a clear and logical learning experience for your users.
At the highest level, you have a Learning Path, which contains one or more Courses. Each Course is broken down into Modules, and each Module consists of individual learning activities like Pages (for text) and Labs (for hands-on practice). In addition, Tests can be integrated at various levels of this hierarchy. This modular structure makes your content easy to navigate, manage, and update.
For example, a Learning Path named “Mastering Kubernetes” might contain:
- A Course on “Core Concepts”, which is broken down into multiple modules:
- Module 1: “Workload Fundamentals”, containing a Page on the “Anatomy of a Pod” and a hands-on Lab for “Scaling Deployments”.
- Module 2: “Networking Principles”, containing a Page that covers “Services and Ingress” and a Tests on networking concepts.
Content Isolation
To ensure security and isolation, all of your content files must be placed within a directory named for your organization UUID. You’ll learn the specifics of how to do this in our hands-on tutorial.Advanced Content Features π
Create custom Hugo shortcodes, mix HTML with Markdown, and add custom CSS styling to enhance your Academy content.
Content Format Support π
The Academy platform supports Markdown + HTML mixing and custom CSS styling.
HTML + Markdown Integration π
Combine Markdown syntax with HTML elements in the same file. Leave a blank line between a raw HTML block and the Markdown that follows it. Without the blank line, Hugo does not parse the next Markdown element and it renders as literal text. Markdown inside an HTML element is parsed only when blank lines separate it from the tags, so write short content inside HTML elements in HTML.
## Markdown Heading
This is **bold** text in markdown.
<div style="background: #000000ff; padding: 20px;">
<h3>HTML Section</h3>
<p>This is HTML. Write the wording inside the tags as HTML.</p>
</div>
More **Markdown** follows the blank line after the div.
Custom CSS Support π
The platform supports CSS through multiple methods:
- Inline CSS (as shown above)
- CSS in shortcodes (demonstrated below)
- CSS classes in HTML elements
When properly rendered, you will see:
- Markdown after the HTML block, once a blank line separates them. Markdown jammed against a tag, or left inside a tag with no blank lines, stays literal text.
- Custom CSS styles applied (colors, spacing, borders)
- Seamless integration without layout conflicts
- Responsive behavior across different screen sizes
Creating Custom Shortcodes π
Custom shortcodes are reusable components that enhance Academy content. They function as templates that accept parameters and generate HTML output.
Basic Shortcode π
Step 1: Create the shortcode file in your organization’s directory:
layouts/shortcodes/<your-organization-uuid>/custom-org-shortcode.html
Step 2: Define the shortcode template:
{{ $names := .Get "names" }}
<div class="custom shortcode">
{{ $names }}
Hey! This is a custom shortcode
</div>
Step 3: Use the shortcode in your content:
Alex, Bob, Charely
Hey! This is a custom shortcode
How it works:
{{ .Get "names" }}retrieves the “names” parameter- The shortcode outputs: “Alex, Bob, Charely Hey! This is a custom shortcode”
- You can reuse this shortcode throughout your Academy content
Shortcode with CSS π
Add CSS styling to make shortcodes visually appealing.
Example: layouts/shortcodes/<your-org-uuid>/styled-callout.html
<style>
.custom-callout {
padding: 1rem;
margin: 1rem 0;
border-radius: 4px;
border-left: 4px solid #007bff;
background: #f8f9fa;
}
</style>
<div class="custom-callout">
<strong>{{ .Get "title" | default "Note" }}:</strong> {{ .Inner }}
</div>
Usage:
{{< styled-callout title="Custom CSS Example" >}}
This is a styled callout with custom CSS.
{{< /styled-callout >}}
Result:
How CSS works in shortcodes:
<style>tags define the visual appearance.custom-calloutcreates a CSS class for styling- The shortcode applies padding, margins, colors, and borders
{{ .Inner }}displays the content between opening and closing shortcode tags
Advanced Hugo Features π
Email Customization
The Layer5 Academy platform supports all Hugo shortcode features. For more advanced functionality, see the Hugo documentation.Branded Email Communications π
When a learner earns a badge or a certificate, Layer5 Cloud sends an email on behalf of your organization. Both messages take their logo, colors, and contact links from your organization settings. See White-label Layer5 Cloud. There is no separate template for challenge registration mail. Anonymous users never receive a badge email.
Below is an example email template showing how badge award notifications appear when white-labeling is enabled. The parts enclosed in {{}} are automatically replaced with your organization’s specific information:
Email Template Structure:
From: no-reply@{{OrganizationDomain}} β Your custom domain
Subject: New badge(s) awarded by {{OrganizationName}} β Your organization name
Congratulations, {{Awardee}}! β Student's name
You have earned the following badges:
{{Badges}} β Cicable badge with name and description
[Go to Profile Button{{PublicProfileLink}}] β Direct link to profile
Share your achievements with the world:
X | LinkedIn | Facebook
---
{{OrganizationName}} Academy | Powered by Layer5 Cloud
Here is a real-world example of the email:

When users click the badge, they will go to the details in the Academy:

Email Customization
The messages use your organization’s logo, colors, and contact links from Layer5 Cloud Organization Settings. They are not a custom template you upload. If those settings cannot be read when the email is sent, the email still goes out with default branding. A failure to send the certificate email is logged and does not undo the completion or the certificate.| Badge email | Certificate email | |
|---|---|---|
| Sent when | A badge is awarded | The learner passes the final assessment of content that defines a certificate |
| Recipient | The learner | The learner, addressed by first and last name |
| Learner can turn it off | Yes, through the badge assignment and updates notification preference | No |
| Links | The learner’s public profile | The certificate’s public page |
The certificate link points to your organization’s custom domain when one is set. Otherwise it points to the deployment’s base address.
The Academy also renders a live Kanvas design inside a lesson with the meshery-design-embed shortcode. The publishing diagram on Creating Content for the Academy is a working embed. Choose shortcode names that do not match a shortcode the theme already provides.