Skip to content

meshery-extensions/digitalocean-academy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

139 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Meshery Academy

Meshery-Logo

DigitalOcean Academy

DigitalOcean Academy is the official learning-content repository for DigitalOcean on the Meshery Academy platform. It hosts structured learning paths, challenges, certifications, and Meshery infrastructure designs β€” helping engineers learn how to manage cloud-native infrastructure with Meshery on DigitalOcean.

πŸ”— Live site: https://digitalocean.layer5.io/academy


πŸ“š Overview

Purpose Primary source of DigitalOcean-specific Meshery learning content
Platform Runs on the shared Layer5 Academy platform
Authoring Markdown-based content with live local preview via Hugo
Content types Learning paths Β· Challenges Β· Certifications Β· Infrastructure designs
Org ID 3e2f9c82-1a4c-4781-adf9-99ec22cd994e

πŸ› οΈ Prerequisites

Before you begin, ensure you have the following installed:

Tool Version Link
Hugo (extended) β‰₯ 0.156.0 Install Hugo
Go β‰₯ 1.24 Install Go
Node.js / npm LTS Install Node.js
Git Latest Install Git

πŸš€ Getting Started

1. Fork & Clone

# Fork this repository on GitHub, then clone your fork
git clone https://github.com/<your-username>/digitalocean-academy.git
cd digitalocean-academy

2. Install Dependencies

npm install

3. Run the Site Locally

Start the Hugo development server with drafts and future content enabled:

hugo server -D

Or use the Makefile target (includes draft and future content):

make site

The site will be available at http://localhost:1313/academy/ (or the port shown in your terminal).

Note: The local preview uses basic styling. Full Academy branding is applied after content is integrated into the cloud platform.

4. Other Useful Commands

Command Description
make setup Install npm dependencies
make build Build the site for production
make clean Clear build cache and restart the dev server
make theme-update Update the academy-theme Hugo module to the latest version

πŸ“ Repository Structure

digitalocean-academy/
β”œβ”€β”€ .github/                  # GitHub workflows, issue templates, PR templates
β”‚   β”œβ”€β”€ build/                # Makefile includes
β”‚   β”œβ”€β”€ readme/images/        # README assets
β”‚   β”œβ”€β”€ workflows/            # CI/CD pipelines
β”‚   └── PULL_REQUEST_TEMPLATE.md
β”œβ”€β”€ assets/json/              # JSON data assets
β”œβ”€β”€ content/                  # πŸ“ All learning content lives here
β”‚   β”œβ”€β”€ _index.md             # Site root page
β”‚   β”œβ”€β”€ learning-paths/       # Learning paths scoped by org ID
β”‚   β”œβ”€β”€ certifications/       # Certification content
β”‚   └── challenges/           # Challenge content
β”œβ”€β”€ designs/                  # Meshery infrastructure designs (YAML)
β”œβ”€β”€ layouts/                  # Hugo layout overrides & shortcodes
β”‚   β”œβ”€β”€ _partials/            # Partial templates
β”‚   └── shortcodes/           # Custom Hugo shortcodes
β”œβ”€β”€ public/                   # Generated site output (git-ignored)
β”œβ”€β”€ resources/                # Hugo resource cache
β”œβ”€β”€ go.mod / go.sum           # Go module (pulls academy-theme)
β”œβ”€β”€ hugo.yaml                 # Hugo configuration
β”œβ”€β”€ Makefile                  # Build & dev targets
β”œβ”€β”€ package.json              # Node.js dependencies
└── README.md                 # ← You are here

✍️ Content Authoring

Content Hierarchy

The Academy content follows this structure: Learning Path β†’ Course β†’ Chapter β†’ Lesson.

content/
└── learning-paths/
    β”œβ”€β”€ _index.md
    └── 3e2f9c82-1a4c-4781-adf9-99ec22cd994e/   # DigitalOcean org UID
        └── <your-learning-path>/
            β”œβ”€β”€ _index.md
            └── <your-course>/
                β”œβ”€β”€ _index.md
                └── content/
                    β”œβ”€β”€ lesson-1.md
                    └── lesson-2.md

Adding Images

Use the usestatic shortcode (not standard Markdown image links) for tenant-aware asset paths:

  1. Place your image in static/3e2f9c82-1a4c-4781-adf9-99ec22cd994e/images/
  2. Reference it in your lesson:
    ![Alt text]({{< usestatic path="images/your-image.png" >}})
    

Adding Videos

{{< card title="Video: Example" >}}
<video width="100%" height="100%" controls>
    <source src="https://example.com/video.mp4" type="video/mp4">
    Your browser does not support the video tag.
</video>
{{< /card >}}

Adding Assessments

Assessment files use the Academy test layout. Question and option IDs must be unique within their scope.

---
title: "Assessment Example"
id: "assessment-example"
type: "test"
layout: "test"
passPercentage: 70
maxAttempts: 3
timeLimit: 30
numberOfQuestions: 1
questions:
  - id: "q1"
    text: "DigitalOcean Academy content is authored in Markdown."
    type: "true-false"
    marks: 1
    options:
      - id: "true"
        text: "True"
        isCorrect: true
      - id: "false"
        text: "False"
---

🀝 Contribution Workflow

We welcome contributions! Please follow the fork β†’ branch β†’ commit β†’ push β†’ pull request workflow:

Step-by-Step

  1. Fork this repository on GitHub.
  2. Clone your fork locally:
    git clone https://github.com/<your-username>/digitalocean-academy.git
    cd digitalocean-academy
  3. Create a branch for your changes:
    git checkout -b feature/<your-username>/<issue-number>
  4. Make your changes β€” add or edit content in content/, fix bugs, improve docs.
  5. Preview locally to verify:
    hugo server -D
  6. Commit with a sign-off (required by DCO):
    git commit -s -m "docs: describe your change"
  7. Push to your fork:
    git push origin feature/<your-username>/<issue-number>
  8. Open a Pull Request against the master branch of this repository.

For a detailed guide on the fork-and-pull workflow, see CONTRIBUTING-gitflow.md.

Important Guidelines


πŸ”— Related Repositories

Repository Description
meshery/meshery Meshery core project
meshery-extensions/meshery-academy Meshery Academy content
meshery-extensions/digitalocean-academy This repository (upstream)
layer5io/academy-theme Academy Hugo theme β€” styles, shortcodes, layouts
layer5io/academy-build Build pipeline that aggregates academies for publishing

πŸ“„ License

This repository is available as open source under the terms of the Apache 2.0 License.

About

Meshery Academy for DigitalOcean

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Generated from layer5io/academy-example