Skip to content

Commit 5165ea2

Browse files
authored
Merge pull request #304 from layer5io/leecalcote/maintainence
maintenance
2 parents e900930 + 09bbb98 commit 5165ea2

File tree

7 files changed

+98
-44
lines changed

7 files changed

+98
-44
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ public/
2222
resources/
2323
node_modules/
2424
.hugo_build.lock
25+
.DS_Store

CONTRIBUTING-gitflow.md

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,53 @@
11
# Working by Forking
2+
23
Just head over to the GitHub page and click the "Fork" button. It's just that simple. Once you've done that, you can use your favorite git client to clone your repo or just head straight to the command line:
34

45
## Clone your fork to your local machine
5-
```
6+
7+
```shell
68
git clone git@github.com:USERNAME/FORKED-PROJECT.git
79
```
10+
811
Keeping Your Fork Up to Date
912
While this isn't an absolutely necessary step, if you plan on doing anything more than just a tiny quick fix, you'll want to make sure you keep your fork up to date by tracking the original "upstream" repo that you forked. To do this, you'll need to add a remote:
1013

1114
## Add 'upstream' repo to list of remotes
12-
```
15+
16+
```shell
1317
git remote add upstream https://github.com/layer5io/meshery.git
14-
```
18+
```
19+
1520
("meshery" is used as the example repo. Be sure to reference the _actual_ repo you're contributing to e.g. "meshery-linkerd").
1621

1722
## Verify the new remote named 'upstream'
18-
```
23+
24+
```shell
1925
git remote -v
2026
```
27+
2128
Whenever you want to update your fork with the latest upstream changes, you'll need to first fetch the upstream repo's branches and latest commits to bring them into your repository:
2229

2330
## Fetch from upstream remote
24-
```
31+
32+
```shell
2533
git fetch upstream
2634
```
2735

2836
## View all branches, including those from upstream
29-
```
37+
38+
```shell
3039
git branch -va
3140
```
41+
3242
Now, checkout your own master branch and merge the upstream repo's master branch:
3343

3444
## Checkout your master branch and merge upstream
35-
```
45+
46+
```shell
3647
git checkout master
3748
git merge upstream/master
3849
```
50+
3951
If there are no unique commits on the local master branch, git will simply perform a fast-forward. However, if you have been making changes on master (in the vast majority of cases you probably shouldn't be - see the next section, you may have to deal with conflicts. When doing so, be careful to respect the changes made upstream.
4052

4153
Now, your local master branch is up-to-date with everything modified upstream.
@@ -46,50 +58,61 @@ Whenever you begin work on a new feature or bugfix, it's important that you crea
4658
To create a new branch and start working on it, peform the following flow.
4759

4860
## Checkout the master branch - you want your new branch to come from master
49-
```
61+
62+
```shell
5063
git checkout master
5164
```
5265

5366
## Create a new branch (give your branch its own simple informative name)
67+
5468
For enhancements use `feature/your_username/issue#` or `feature/your_username/name_of_feature`
5569

5670
For bugs use `bug/your_username/issue#` or `bug/your_username/name_of_bug`
5771

58-
```
72+
```shell
5973
git branch feature/jdoe/567
6074
```
6175

6276
## Switch to your new branch
63-
```
77+
78+
```shell
6479
git checkout feature/jdoe/567
6580
```
81+
6682
Now, go to town hacking away and making whatever changes you want to.
6783

6884
## Submitting your changes (a Pull Request)
85+
6986
Prior to submitting your pull request, you might want to do a few things to clean up your branch and make it as simple as possible for the original repo's maintainer to test, accept, and merge your work.
7087

7188
In the time that you've been working on your changes, if any commits have been made to the upstream master branch, you will need to rebase your development branch so that merging it will be a simple fast-forward that won't require any conflict resolution work.
7289

7390
## Fetch upstream master and merge with your repo's master branch
74-
```
91+
92+
```shell
7593
git fetch upstream
7694
git checkout master
7795
git merge upstream/master
7896
```
7997

8098
## If there were any new commits, rebase your development branch
81-
```
99+
100+
```shell
82101
git checkout feature/jdoe/567
83102
git rebase master
84103
```
104+
85105
Now, it may be desirable to squash some of your smaller commits down into a small number of larger more cohesive commits. You can do this with an interactive rebase:
86106

87107
## Rebase all commits on your development branch
88-
```
108+
109+
```shell
89110
git checkout
90111
git rebase -i master
91112
```
113+
92114
This will open up a text editor where you can specify which commits to squash.
93115

94116
## Submitting
117+
95118
Once you've committed and pushed all of your changes to GitHub, go to the page for your fork on GitHub, select your development branch, and click the pull request button. If you need to make any adjustments to your pull request, just push the updates to GitHub. Your pull request will automatically track the changes on your development branch and update.

CONTRIBUTING.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
# <a name="contributing">Contributing Overview</a>
2+
23
Please do! Thanks for your help improving the project! :balloon:
34

45
All contributors are welcome. Please see the [newcomers welcome guide](https://layer5.io/community/newcomers) for how, where and why to contribute. This project is community-built and welcomes collaboration. Contributors are expected to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md).
56

67
Not sure where to start? First, see the [newcomers welcome guide](https://layer5.io/community/newcomers). Grab an open issue with the [help-wanted label](../../labels/help%20wanted) and jump in. Join the [Slack account](http://slack.layer5.io) and engage in conversation. Create a [new issue](/../../issues/new/choose) if needed. All [pull requests](/../../pulls) should reference an open [issue](/../../issues). Include keywords in your pull request descriptions, as well as commit messages, to [automatically close issues in GitHub](https://help.github.com/en/github/managing-your-work-on-github/closing-issues-using-keywords).
78

89
**Sections**
10+
911
- <a name="contributing">General Contribution Flow</a>
1012
- <a href="#commit-signing">Developer Certificate of Origin</a>
1113

@@ -15,8 +17,8 @@ Relevant coding style guidelines are the Go Code Review Comments and the Formatt
1517

1618
This repository serves as the **official content repository** for Layer5's Academy learning platform, hosting all official learning paths, challenges, and certifications.
1719

18-
1920
### Detailed Guide
21+
2022
For a complete, step-by-step guide on how to create, structure, and publish a new learning path, please refer to our official documentation:
2123

2224
➡️ [Academy](https://docs.layer5.io/cloud/academy/)
@@ -43,24 +45,28 @@ Signed-off-by: Jane Smith <jane.smith@example.com>
4345
In most cases, you can add this signoff to your commit automatically with the
4446
`-s` or `--signoff` flag to `git commit`. You must use your real name and a reachable email
4547
address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:
46-
```
47-
$ commit -s -m “my commit message w/signoff”
48+
49+
```shell
50+
commit -s -m “my commit message w/signoff”
4851
```
4952

5053
To ensure all your commits are signed, you may choose to add this alias to your global ```.gitconfig```:
5154

5255
*~/.gitconfig*
53-
```
56+
57+
```shell
5458
[alias]
5559
amend = commit -s --amend
5660
cm = commit -s -m
5761
commit = commit -s
5862
```
63+
5964
Or you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you:
6065

6166
<a href="https://user-images.githubusercontent.com/7570704/64490167-98906400-d25a-11e9-8b8a-5f465b854d49.png" ><img src="https://user-images.githubusercontent.com/7570704/64490167-98906400-d25a-11e9-8b8a-5f465b854d49.png" width="50%"><a>
6267

6368
## <a name="contributing-docs">Academy Content Contribution Flow</a>
69+
6470
Please contribute! Exoscale Academy uses Hugo and GitHub Pages to host the learning platform. Learn more about [Layer5's Academy platform development](https://docs.layer5.io/cloud/academy/platform-development/). The process of contributing follows this flow:
6571

6672
1. Create a fork, if you have not already, by following the steps described [here](./CONTRIBUTING-gitflow.md)
@@ -76,12 +82,13 @@ Please contribute! Exoscale Academy uses Hugo and GitHub Pages to host the learn
7682
`git push origin <my-changes>`
7783
1. Open a pull request (in your web browser) against the repo.
7884

79-
8085
#### Tests
86+
8187
Users can now test their local development setup using the provided Makefile commands.
8288

8389
To test your local Academy setup, run the following commands:
84-
```
90+
91+
```shell
8592
# Install dependencies
8693
make setup
8794

@@ -90,7 +97,9 @@ make site
9097
```
9198

9299
#### Building the Site
100+
93101
To build the Academy site for production, ensure you have `Hugo` and `Go` installed. Now, run the following command to build the site:
102+
94103
```sh
95104
make build
96105
```
@@ -100,10 +109,12 @@ make build
100109
Exoscale Academy follows specific content and formatting guidelines for consistency across all learning materials.
101110

102111
# <a name="maintaining"> Reviews</a>
112+
103113
All contributors are invited to review pull requests. See this short video on [how to review a pull request](https://www.youtube.com/watch?v=isLfo7jfE6g&feature=youtu.be).
104114

105115
# New to Git?
106-
Resources: https://lab.github.com and https://try.github.com/
116+
117+
Resources: <https://lab.github.com> and <https://try.github.com/>
107118

108119
### License
109120

@@ -115,4 +126,4 @@ This repository and site are available as open source under the terms of the [Ap
115126
<p>The <a href="https://layer5.io/community">Layer5 community</a> represents the largest collection of service mesh projects and their maintainers in the world.</p>
116127

117128
**Open Source First**
118-
<p>At Layer5, we champion developer-defined infrastructure, giving engineers the power to reshape application delivery. We empower operators in reimagining how they manage modern infrastructure: collaboratively.</p>
129+
<p>At Layer5, we champion developer-defined infrastructure, giving engineers the power to reshape application delivery. We empower operators in reimagining how they manage modern infrastructure: collaboratively.</p>

Makefile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,16 @@ clean:
3939
hugo --cleanDestinationDir
4040
make site
4141

42-
42+
## Fix Markdown linting issues
43+
lint-fix:
44+
@echo "Checking for markdownlint-cli2..."
45+
@command -v markdownlint-cli2 > /dev/null || { \
46+
echo "markdownlint-cli2 not found. Attempting to install globally..."; \
47+
command -v npm > /dev/null || { echo "npm is not installed. Please install Node.js/npm and re-run 'make lint-fix'."; exit 1; }; \
48+
npm install -g markdownlint-cli2; \
49+
}
50+
@echo "Running markdownlint-cli2 --fix..."
51+
@markdownlint-cli2 --fix "**/*.md" "#node_modules" "#public" "#resources"
4352

4453
## ------------------------------------------------------------
4554
----MAINTENANCE: Show help for available targets

README.md

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Exoscale Academy
1+
# Exoscale Academy
22

33
Welcome to **Exoscale Academy**, the dedicated cloud education and training platform powered by Layer5. This repository provides a comprehensive framework for creating, organizing, and publishing structured learning paths, challenges and certifications tailored for Exoscale users and cloud practitioners.
44

@@ -10,9 +10,10 @@ To help you create professional and visually consistent content, this academy pr
1010
1111
### How to Use the Icons
1212

13-
1. **Import the Model:** Navigate to your **[Registry Settings in Meshery](https://kanvas.new/settings?settingsCategory=Registry&tab=Models)**.
14-
2. Select "Import from URL".
15-
3. Paste the following URL to import the icon set:
13+
1. **Import the Model:** Navigate to your **[Registry Settings in Meshery](https://kanvas.new/settings?settingsCategory=Registry&tab=Models)**.
14+
2. Select "Import from URL".
15+
3. Paste the following URL to import the icon set:
16+
1617
```
1718
https://meshery.io/assets/modelsFiles/exoscale-icons.tar
1819
```
@@ -21,16 +22,23 @@ Once imported, the individual Exoscale icons will be available in the Designer's
2122
2223
## Table of Contents
2324
24-
- [Prerequisites](#prerequisites)
25-
- [Getting Started](#getting-started)
26-
- [Repository Structure](#repository-structure)
27-
- [Content Authoring Workflow](#content-authoring-workflow)
28-
- [Managing Assets: Images, Videos, and Embedded Designs](#managing-assets-images-videos-and-embedded-designs)
29-
- [Local Development](#local-development)
30-
- [Deploying & Going Live](#deploying--going-live)
31-
- [Contributing](#contributing)
32-
- [Site Framework](#site-framework)
33-
- [License](#license)
25+
- [Exoscale Academy](#exoscale-academy)
26+
- [Design Resources](#design-resources)
27+
- [How to Use the Icons](#how-to-use-the-icons)
28+
- [Table of Contents](#table-of-contents)
29+
- [Prerequisites](#prerequisites)
30+
- [Getting Started](#getting-started)
31+
- [Repository Structure](#repository-structure)
32+
- [Content Authoring Workflow](#content-authoring-workflow)
33+
- [Managing Assets: Images, Videos, and Embedded Designs](#managing-assets-images-videos-and-embedded-designs)
34+
- [How to Add an Image](#how-to-add-an-image)
35+
- [How to Add a Video](#how-to-add-a-video)
36+
- [How to Add a Meshery Design](#how-to-add-a-meshery-design)
37+
- [Local Development](#local-development)
38+
- [Deploying \& Going Live](#deploying--going-live)
39+
- [Contributing](#contributing)
40+
- [Site Framework](#site-framework)
41+
- [License](#license)
3442
3543
## Prerequisites
3644
@@ -53,6 +61,7 @@ Before you begin, ensure you have:
5361

5462
3. **Organization UID**
5563
- All Exoscale Academy content is namespaced under its Organization ID:
64+
5665
```
5766
1e2a8e46-937c-47ea-ab43-5716e3bcab2e
5867
```
@@ -85,6 +94,7 @@ layer5io-exoscale-academy/
8594
└── .github/
8695
└── ISSUE_TEMPLATE/, workflows/, config, etc.
8796
```
97+
8898
> **Learning Path → Course → Module** is the core structure.
8999
Each level uses `_index.md` files with [Hugo frontmatter](https://gohugo.io/content-management/front-matter/).
90100
@@ -93,10 +103,13 @@ Each level uses `_index.md` files with [Hugo frontmatter](https://gohugo.io/cont
93103
1. **Create Content**
94104
95105
- Authoring takes place inside:
106+
96107
```
97108
content/en/learning-paths/1e2a8e46-937c-47ea-ab43-5716e3bcab2e/
98109
```
110+
99111
- Structure:
112+
100113
```
101114
<learning-path>/
102115
<course>/
@@ -158,6 +171,7 @@ Embed videos in a visually distinct `card` using:
158171
</video>
159172
{{</* /card */>}}
160173
```
174+
161175
## How to Add a Meshery Design
162176

163177
1. Place Design Assets
@@ -173,8 +187,8 @@ Embed videos in a visually distinct `card` using:
173187
>}}
174188
```
175189

176-
- Replace `id` with the unique identifier for your design.
177-
- Replace `src` with the path to your JS asset responsible for rendering.
190+
- Replace `id` with the unique identifier for your design.
191+
- Replace `src` with the path to your JS asset responsible for rendering.
178192

179193
> 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.
180194
@@ -215,4 +229,3 @@ For questions or help, open a [GitHub Issue](https://github.com/layer5io/exoscal
215229

216230
**Happy Learning!**
217231
_The Layer5 & Exoscale Academy Team_
218-

content/_index.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,10 @@ title: Academy
44

55
<!-- this page is only used in local dev setup , this wont be used or rendered in production -->
66

7-
87
{{% blocks/lead color="primary" %}}
98

10-
Welcome to dev environment for your Academy
11-
9+
Welcome to the dev environment for your Academy
1210

1311
[Learning Paths](/academy/learning-paths/)
1412

15-
16-
1713
{{% /blocks/lead %}}

hugo.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
baseURL: http://localhost:9876/academy/
22
title: Exoscale Academy
33
canonifyurls: true
4+
ignoreLogs: ['warning-goldmark-raw-html']
45

56
module:
67
hugoVersion:

0 commit comments

Comments
 (0)