Meshery Academy is the official content repository for the Meshery learning platform. It hosts Meshery-focused learning paths, challenges, and certifications, helping engineers learn how to manage cloud-native infrastructure with Meshery.
Role: Primary source of official Meshery learning content Features
- Structured, production-ready reference material
- Markdown-based authoring with live local preview
- Runs on the shared Layer5 Academy platform
- Supports learning paths, challenges, and certifications
- meshery/meshery β Meshery core project
- meshery-extensions/meshery-academy β this repo
- layer5io/academy-theme β provides styles, Hugo shortcodes, and layouts
- layer5io/academy-build β build pipeline that aggregates this and other academies for publishing
β οΈ Local preview is only needed while authoring content. The official site will be built and published through academy-build.
- Install prerequisites
- Go β₯ 1.20
- Hugo Extended β₯ 0.147
- Fetch and tidy dependencies
go mod tidy
- Run the local Hugo server
hugo server
The local preview uses academy-theme. In production, content is wrapped in the Layer5 Cloud UI so it may look slightly different.
Now you're ready to create your learning path. The structure is: Learning Path β Course β Chapter β Lesson.
A high-level view of the structure looks like this:
content/
βββ learning-paths/
βββ _index.md
βββ <organization-uid>/
βββ <learning-path>/
βββ _index.md
βββ <course-1>/
βββ <course-2>/
βββ _index.md
βββ content/
βββ lesson-1.md
βββ lesson-2.md
- Create your folder structure following the hierarchy.
- Add your lessons as Markdown (.md) files inside the content directory of a course.
- Each
_index.md
andlesson
file should begin with Hugo front-matter specifying title, description, and weight.
---
title: "Title of Section"
description: "One-liner summary"
weight: 10 # for menu order, lower numbers appear first
---
Enhance your courses with images and rich visual content using the Page Bundling method for optimal compatibility.
- Place your image files directly in the same directory as your markdown content (Page Bundling method):
content/learning-paths/1e2a8e46-937c-47ea-ab43-5716e3bcab2e/
βββ your-course/
βββ your-module/
βββ _index.md
βββ meshery-logo.png
In your markdown file, reference the image using standard Markdown syntax:
Embed videos in a visually distinct card using:
{{</* card title="Video: Example" />}} {{</ /card */>}}
-
Place Design Assets Put your design files (e.g.,
cdn.js
, design YAMLs) alongside your course or module content, ideally following the same directory conventions used for images. -
Embed Using the meshery-design-embed Shortcode In your markdown file, use:
{{< meshery-design-embed
id="embedded-design-0e3abb9c-39e7-4d09-b46f-26a0238c3c3d"
src="cdn.js"
>}}
- Replace
id
with the unique identifier for your design. - Replace
src
with the path to your JS asset responsible for rendering.
Always use these shortcodes for images, videos, and embedded designs. This keeps assets portable, ensures they resolve correctly for each organization, and integrates properly with the Academy platformβs build and deployment flow.
To preview your content locally, run:
hugo server
Once your learning path content is ready and tested locally, open a pull request in this repository.
A maintainer will review and merge your changes. The Meshery team will then integrate the content into the central Academy build so it appears on the public Academy site.
We welcome contributions to improve:
- Content accuracy and clarity
- Additional learning paths, challenges, or certifications
- Shortcodes, layouts, and formatting
- See CONTRIBUTING.md for details on branching, committing, and opening PRs.
- Please review our CODE_OF_CONDUCT.md and SECURITY.md before contributing.
- Academy Documentation: https://docs.layer5.io/cloud/academy
- Content Creation Guide: https://docs.layer5.io/cloud/academy/creating-content
- Community Slack: https://slack.meshery.io/
Happy Learning!