Skip to content

feat: Add Learning page to Community Handbook (closes #2189) #2236

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

AumPatel1
Copy link

 This PR adds the "Learning" page to the Meshery Community Handbook, closely following the Layer5 reference.  
 - New layout: _layouts/handbook-learn.html  
 - Custom styles: assets/css/handbook-learn.css  
 - Handbook content: community/handbook/learning.md

Copy link

welcome bot commented Jun 11, 2025

Yay, your first pull request! 👍 A contributor will be by to give feedback soon. In the meantime, please review the Newcomers' Guide and sure to join the community Slack.
Be sure to double-check that you have signed your commits. Here are instructions for making signing an implicit activity while peforming a commit.

Copy link

netlify bot commented Jun 11, 2025

Deploy Preview for mesheryio-preview ready!

Name Link
🔨 Latest commit 8bcb65c
🔍 Latest deploy log https://app.netlify.com/projects/mesheryio-preview/deploys/684ff6e44c6b5b000882b562
😎 Deploy Preview https://deploy-preview-2236--mesheryio-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @AumPatel1, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request implements a new 'Learning' page within the Meshery Community Handbook. The goal is to consolidate various resources and information related to learning about Meshery and engaging with the community's educational initiatives. It includes the page content, a custom layout, and specific styling to present the information effectively.

Highlights

  • New Handbook Page: Adds a new 'Learning' page to the Community Handbook to serve as a central resource for learning about Meshery and cloud native management.
  • Custom Layout and Styling: Introduces a new Jekyll layout (_layouts/handbook-learn.html) and dedicated CSS styles (assets/css/handbook-learn.css) to provide a specific look and feel for the learning page, including sidebars for navigation and related links.
  • Learning Resources Content: Includes Markdown content (community/handbook/learning.md) detailing Meshery's capabilities, getting started steps, community engagement, and a comprehensive list of learning materials like the Playground, Docs, Tutorials, and YouTube channel.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configureGemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new "Learning" page to the Meshery Community Handbook, including a new HTML layout (_layouts/handbook-learn.html), custom CSS (assets/css/handbook-learn.css), and the Markdown content for the page (community/handbook/learning.md).

The review focuses on several key areas:

  • Functionality of Navigation: Ensuring the "ON THIS PAGE" links in the layout correctly correspond to sections in the Markdown content. This requires adjustments to both the HTML links and the Markdown heading structure.
  • CSS Quality: Suggestions for improving CSS maintainability by reviewing the use of !important, addressing potential redundancy or unused style blocks, and ensuring consistent file formatting.
  • Content Completeness: Pointing out a TODO comment in the Markdown that needs to be addressed.

Overall, the changes establish a good foundation for the new learning page. Addressing the feedback will enhance its functionality, maintainability, and completeness.

Comment on lines +66 to +69
<li><a href="#introducing-meshery">Introducing Meshery</a></li>
<li><a href="#key-capabilities">Key Capabilities</a></li>
<li><a href="#getting-started">Getting Started</a></li>
<li><a href="#join-the-community">Join the Community</a></li>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The "ON THIS PAGE" links are hardcoded and currently do not align with the structure of community/handbook/learning.md or how Markdown typically generates anchors.

Specifically:

  • The link href="#introducing-meshery" does not correspond to any clear section or heading in the learning.md document. The main H1 in learning.md is "Learning together".
  • Links like href="#key-capabilities", href="#getting-started", and href="#join-the-community" will only function if the corresponding text in learning.md (e.g., **Key Capabilities**) is changed to actual Markdown headings (e.g., ## Key Capabilities) that generate these specific anchors.

Please ensure these links accurately reflect the headings and generated anchors from the page content. You may need to adjust the link targets here and/or the Markdown structure in learning.md.

For future maintainability, consider exploring methods to dynamically generate these 'On This Page' links based on the headings present in {{ content }}.

Meshery is the cloud native manager that enables the design and operation of any service mesh and their workloads. It is an extensible platform that provides a consistent and efficient way to manage service meshes across different environments.


**Key Capabilities**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Sections like "Key Capabilities", "Getting Started" (line 21), and "Join the Community" (line 33) are currently formatted using bold text (**Text**). This formatting does not generate HTML anchors (IDs) that can be linked to from the "ON THIS PAGE" navigation in the handbook-learn.html layout.

To ensure these sections are linkable and to improve the document's semantic structure, please change them to level 2 Markdown headings (e.g., ## Key Capabilities). This will allow the corresponding links in the sidebar (e.g., #key-capabilities) to function correctly.

Suggested change
**Key Capabilities**
## Key Capabilities

</div>
</footer>
</body>
</html>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It's a common convention and good practice to end files with a newline character. This can prevent issues with some version control systems, file concatenation tools, and diff utilities.

Suggested change
</html>
</html>

Comment on lines +205 to +206
padding-top: 0 !important;
margin-top: 0 !important;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The use of !important for padding-top and margin-top on .learn-content should be reviewed. While !important can be a quick fix, it often makes CSS harder to maintain and debug in the long run as it breaks the natural cascade.

Could these styles be achieved with higher specificity selectors or by adjusting the order of CSS rules, rather than relying on !important? It's worth investigating if there's a less forceful way to ensure these styles apply as intended.

Comment on lines +208 to +258
.learning-page-actual-content {
max-width: 680px;
margin: 0 auto;
padding: 0;
}
.learning-page-actual-content h2,
.learning-page-actual-content h3 {
color: #fff;
font-weight: 700;
margin-top: 2.2em;
margin-bottom: 0.7em;
letter-spacing: -0.5px;
}
.learning-page-actual-content h2 {
font-size: 2rem;
}
.learning-page-actual-content h3 {
font-size: 1.3rem;
}
.learning-page-actual-content p {
color: #eceff1;
font-size: 1.08rem;
line-height: 1.7;
margin-bottom: 1.2em;
}
.learning-page-actual-content ul,
.learning-page-actual-content ol {
margin-left: 1.5em;
margin-bottom: 1.2em;
}
.learning-page-actual-content li {
font-size: 1.08rem;
line-height: 1.7;
margin-bottom: 0.5em;
}
.learning-page-actual-content a {
color: #00B39F;
text-decoration: underline;
transition: color 0.2s;
}
.learning-page-actual-content a:hover {
color: #00D3A9;
}
.learning-page-actual-content code {
font-family: 'Roboto Mono', monospace;
background: #1c1c1c;
color: #EBC017;
padding: 2px 6px;
border-radius: 4px;
font-size: 0.98em;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The styles defined for the .learning-page-actual-content selector (lines 208-258) might currently be unused. The {{ content }} variable in _layouts/handbook-learn.html (line 60) inserts the rendered Markdown directly. Unless this Markdown output is explicitly wrapped with an element having the class learning-page-actual-content (either by Jekyll configuration or within the Markdown source itself), these specific styles will not be applied.

The subsequent styles targeting elements within the broader .learn-content (from line 342 onwards) would likely be what styles the actual page content.

Please verify if the learning-page-actual-content class is indeed being applied to the main content block.

  • If it is not, these styles (lines 208-258) could potentially be removed to reduce unused code.
  • If it is applied, then there's a significant overlap with the styles defined from line 342 onwards, which should be consolidated to avoid redundancy.

Comment on lines +413 to +416
.learn-content {
padding-top: 0 !important;
margin-top: 0 !important;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This block defining styles for .learn-content appears to be redundant. The properties padding-top: 0 !important; and margin-top: 0 !important; are already declared for .learn-content (with !important) at lines 205-206. This re-declaration can be removed to simplify the CSS.

}

.learn-content h1:first-child {
margin-top: 0.5em !important;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The !important flag on margin-top: 0.5em !important; for .learn-content h1:first-child should ideally be avoided if a less forceful method can achieve the same result. Using !important can complicate future CSS maintenance and overrides.

Could this specific margin be enforced by ensuring this rule has higher specificity than conflicting h1 margin rules, or by adjusting the cascade order? For example, if other h1 styles are less specific, !important might not be necessary.


.learn-content h1:first-child {
margin-top: 0.5em !important;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It's a common convention and good practice to end files with a newline character. This can prevent issues with some version control systems, file concatenation tools, and diff utilities.

Suggested change
}
}

- **Comprehensive Documentation:** Dive deep into [Meshery Docs](https://docs.meshery.io) for detailed guides, concepts, and operational instructions.
- **Step-by-Step Tutorials:** Follow our [Hands-on Tutorials](https://docs.meshery.io/guides/tutorials) to learn specific Meshery functionalities.
- **Recorded Trainings and Talks:** Watch workshops, community meetings, and presentations on the [Layer5 YouTube Channel](https://www.youtube.com/c/Layer5io).
- **Cloud Native Learning Paths:** Engage with structured courses designed to build your expertise in cloud native technologies and Meshery. <!-- Add a link to Layer5 Academy or specific learning paths if available. -->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This line contains a TODO comment: <!-- Add a link to Layer5 Academy or specific learning paths if available. -->.

Please address this by either:

  1. Adding the relevant link if it's now available.
  2. Removing the placeholder comment if the link is not forthcoming or will be added elsewhere.
  3. Creating a follow-up issue to track the addition of this link if it's planned but not yet ready, and then removing or updating the comment here.


## Sharing What You've Learned on Our Blog

Document your learning journey, the solutions you've built with Meshery, and your experiences within the community. All community members are welcome to contribute to the [Meshery Blog](https://meshery.io/blog) and the [Layer5 Blog](https://layer5.io/blog). Sharing your insights helps others learn and grows our collective knowledge.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It's a common convention and good practice to end files with a newline character. This can prevent issues with some version control systems, file concatenation tools, and diff utilities.

Suggested change
Document your learning journey, the solutions you've built with Meshery, and your experiences within the community. All community members are welcome to contribute to the [Meshery Blog](https://meshery.io/blog) and the [Layer5 Blog](https://layer5.io/blog). Sharing your insights helps others learn and grows our collective knowledge.
All community members are welcome to contribute to the [Meshery Blog](https://meshery.io/blog) and the [Layer5 Blog](https://layer5.io/blog). Sharing your insights helps others learn and grows our collective knowledge.

@vishalvivekm vishalvivekm added the issue/dco Commit signoff instructions label Jun 16, 2025
Copy link

🚨 Alert! Git Police! We couldn’t help but notice that one or more of your commits is missing a sign-off. A what? A commit sign-off (your email address).

To amend the commits in this PR with your signoff using the instructions provided in the DCO check.

To configure your dev environment to automatically signoff on your commits in the future, see these instructions.


        Be sure to join the community, if you haven't yet and please leave a ⭐ star on the project 😄

@vishalvivekm
Copy link
Contributor

@AumPatel1
Thank you for your contribution!
Let's discuss this during the website call today at 5:30 PM IST | 7 AM CT

Add it as an agenda item to the meeting minutes, if you would :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/website issue/dco Commit signoff instructions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants