Skip to content

Commit cf8b455

Browse files
committed
Refactor code structure and remove redundant sections for improved readability and maintainability
Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
1 parent 27c2889 commit cf8b455

File tree

9 files changed

+154
-90
lines changed

9 files changed

+154
-90
lines changed

src/collections/news/2025/2025-11-12-meshery-enterprise/index.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ date: 2025-11-12 19:00:00 +0530
55
author: Cloud Native Now
66
thumbnail: ./Layer5-Kanvas-Designer-img.webp
77
darkthumbnail: ./Layer5-Kanvas-Designer-img.webp
8-
category: "Press Release"
8+
category: "Press Coverage"
99
description: "Announced at KubeCon + CloudNativeCon North America 2025, Kanvas extends the Meshery framework with visual tools, collaborative workspaces, and role-based access control for managing Kubernetes environments"
10+
source_url: https://cloudnativenow.com/features/layer5-debuts-enterprise-edition-of-meshery-for-configuring-kubernetes/
1011
tags:
1112
- Announcements
1213
- Kanvas

src/collections/news/2025/2025-11-16-cncf-honors-innovators-and-defenders-community-awards/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
title: "CNCF Honors Innovators and Defenders with 2025 Community Awards at KubeCon + CloudNativeCon North America"
33
subtitle: "CNCF recognizes community leaders across the cloud native ecosystem, including Layer5 founder Lee Calcote with the inaugural Outstanding Mentor Award."
44
date: 2025-11-16 08:00:00 -0530
5-
author: The Newsroom
5+
author: Cloud Native Computing Foundation (CNCF)
66
thumbnail: ./kubecon-2025.webp
77
darkthumbnail: ./kubecon-2025.webp
8-
category: "Community Recognition"
8+
category: "Press Coverage"
99
description: "CNCF’s 2025 Community Awards at KubeCon + CloudNativeCon North America spotlights contributors, end users, mentors, and community heroes, with Layer5 founder Lee Calcote honored for his mentorship leadership."
1010
tags:
1111
- Announcements

src/collections/news/2025/2025-12-01-cncf-honours-cloud-native-pioneers-2025-community-awards/index.mdx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
title: "CNCF honours cloud native pioneers at 2025 community awards"
3-
subtitle: "Layer5 founder Lee Calcote receives inaugural Outstanding Mentor Award among diverse honorees shaping cloud native technology."
3+
subtitle: ""
44
date: 2025-12-01 08:00:00 -0530
5-
author: The Newsroom
5+
author: ChannelLife Canada
66
thumbnail: ./channellife-cncf-2025.webp
77
darkthumbnail: ./channellife-cncf-2025.webp
88
category: "Press Coverage"
9-
description: "ChannelLife covers CNCF's 2025 Community Awards, highlighting Layer5 founder Lee Calcote's recognition with the inaugural Outstanding Mentor Award for supporting over 60 mentees."
9+
description: "ChannelLife covers CNCF's 2025 Community Awards, highlighting Layer5 founder Lee Calcote's recognition with the inaugural Outstanding Mentor Award for supporting hundreds of mentees."
10+
eurl: https://channellife.ca/story/cncf-honours-cloud-native-pioneers-at-2025-community-awards
1011
tags:
1112
- Press
1213
- CNCF

src/collections/news/2026/2026-01-21-docker-kanvas-kubernetes-dominance/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Docker Kanvas Challenges Helm and Kustomize for Kubernetes Dominance"
33
subtitle: "InfoQ covers Docker's launch of Kanvas, developed with Layer5, marking a shift toward Infrastructure as Code"
44
date: 2026-01-21 10:00:00 -0530
5-
author: The Newsroom
5+
author: InfoQ
66
thumbnail: ./docker-kanvas-infoq.webp
77
darkthumbnail: ./docker-kanvas-infoq.png
88
eurl: https://www.infoq.com/news/2026/01/docker-kanvas-cloud-deployment/
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: "Meshery v1.0 Reaches General Availability at KubeCon EU"
3+
subtitle: "Cloud governance becomes essential in the AI era"
4+
date: 2026-03-25 09:00:00 +0100
5+
author: Compare the Cloud
6+
thumbnail: ./news-hero.webp
7+
darkthumbnail: ./news-hero.webp
8+
category: "Press Coverage"
9+
description: "At KubeCon EU 2026 in Amsterdam, Meshery maintainers announced general availability of Meshery v1.0, introducing Infrastructure as Design and new Kanvas tooling to make infrastructure visible, verifiable, and collaborative."
10+
tags:
11+
- Announcements
12+
- Meshery
13+
- KubeCon
14+
- CNCF
15+
- Kanvas
16+
type: News
17+
presskit: ""
18+
resource: false
19+
published: true
20+
---
21+
22+
import { Link } from "gatsby";
23+
import { NewsWrapper } from "../../News.style.js";
24+
import Blockquote from "../../../../reusecore/Blockquote";
25+
import BlockquoteAlt from "../../../../reusecore/Blockquote/Blockquote-alt-style";
26+
27+
<NewsWrapper>
28+
29+
At KubeCon EU 2026 in Amsterdam, the maintainers of Meshery announced the general availability of version 1.0 of the open source cloud native management platform. Meshery positions itself as a governance layer for infrastructure, an area the project argues has been conspicuously absent from the cloud native stack.
30+
31+
The timing is deliberate. AI-generated infrastructure configurations are proliferating faster than human teams can review them, increasing the risk of misconfiguration and drift. Meshery v1.0 introduces what the project calls Infrastructure as Design (IAD), a framework for making infrastructure visible, verifiable, and collaborative rather than something defined in opaque YAML files and hoped for the best.
32+
33+
## Kanvas Tools Ship with the Release
34+
35+
Kanvas Designer, now generally available, provides a drag-and-drop visual interface that operates as “diagram as code.” Kanvas Operator, in beta, offers real-time situational awareness across multi-cluster, multi-cloud deployments.
36+
37+
Meshery is the sixth highest-velocity project in the CNCF, with a 350 percent increase in code commits and over 3,000 contributors in the past year. It is also the most applied-to internship in the Linux Foundation’s LFX Mentorship program. The project has restructured its GitHub presence into two organizations (<a href="https://github.com/meshery">github.com/meshery</a> for core, <a href="https://github.com/meshery-extensions">github.com/meshery-extensions</a> for the community’s 300-plus integrations) to stabilize the v1.0 codebase. A new Certified Meshery Contributor program launches alongside the release.
38+
39+
</NewsWrapper>
50.2 KB
Loading

src/collections/news/News.style.js

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,40 @@
11
import styled from "styled-components";
22

33
export const NewsWrapper = styled.div`
4-
iframe {
5-
margin: 0 auto;
6-
display:block;
7-
@media screen and (max-width: 750px) {
8-
max-width: 100% !important;
9-
width: auto !important;
10-
height: auto !important;
11-
}
12-
}
13-
.pull-right {
14-
float: right;
15-
}
16-
.pull-left {
17-
float: left;
18-
}
19-
.block-display {
20-
display: block;
4+
h2 {
5+
margin-top: 1.5rem;
6+
}
7+
h3 {
8+
margin-top: 1rem;
9+
}
10+
iframe {
11+
margin: 0 auto;
12+
display: block;
13+
@media screen and (max-width: 750px) {
14+
max-width: 100% !important;
15+
width: auto !important;
16+
height: auto !important;
2117
}
22-
.align-center {
23-
text-align: center;
24-
}
25-
18+
}
19+
.pull-right {
20+
float: right;
21+
}
22+
.pull-left {
23+
float: left;
24+
}
25+
.block-display {
26+
display: block;
27+
}
28+
.align-center {
29+
text-align: center;
30+
}
2631
27-
@media screen and (max-width: 768px) {
28-
img, iframe {
29-
width: "100%";
30-
margin-right: 0;
31-
margin-left:0;
32-
}
33-
32+
@media screen and (max-width: 768px) {
33+
img,
34+
iframe {
35+
width: "100%";
36+
margin-right: 0;
37+
margin-left: 0;
3438
}
39+
}
3540
`;

src/collections/news/news-template/0000-00-00-news-title/index.mdx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@ date: 2020-06-01 12:15:05 +0000
55
author: The Newsroom
66
thumbnail_svg: ./sample.webp
77
darkthumbnail_svg: ./sample.webp
8-
eurl: https://www.example.com/some/other/site
9-
source_url: https://original-source.com/article (Optional)
8+
source_url: https://original-source.com/article
109
published: false
1110
---
1211

1312
{/* A template and instructions for creating news entries.
1413
1514
subtitle: If the "subtitle" variable is not defined, then put subtitle:""
16-
eurl: If the "eurl" (external url) variable is not defined, then put eurl:""
17-
source_url: Optional. URL to the original article for "Originally published at" attribution.
18-
for any content to be directly entered below the front matter.
15+
source_url: URL to the original article for "Originally published at" attribution.
1916
published: "true" when ready to be public
2017
2118
Make a copy of this news template. Do not delete this template.

src/sections/Company/News-single/index.js

Lines changed: 71 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13,45 +13,46 @@ import { useStyledDarkMode } from "../../../theme/app/useStyledDarkMode";
1313
const NewsSingle = ({ data, children }) => {
1414
const { isDark } = useStyledDarkMode();
1515
const { frontmatter, fields } = data.mdx;
16-
const newsData = useStaticQuery(
17-
graphql`query relatedNewsPosts {
18-
allMdx(
19-
sort: {frontmatter: {date: DESC}}
20-
filter: {fields: {collection: {eq: "news"}}, frontmatter: {published: {eq: true}}}
21-
limit: 6
22-
) {
23-
nodes {
24-
frontmatter {
25-
title
26-
date(formatString: "MMM Do YYYY")
27-
author
28-
category
29-
tags
30-
eurl
31-
presskit
32-
thumbnail {
33-
childImageSharp {
34-
gatsbyImageData(width: 480, layout: CONSTRAINED)
35-
}
36-
extension
37-
publicURL
16+
const newsData = useStaticQuery(graphql`
17+
query relatedNewsPosts {
18+
allMdx(
19+
sort: { frontmatter: { date: DESC } }
20+
filter: {
21+
fields: { collection: { eq: "news" } }
22+
frontmatter: { published: { eq: true } }
3823
}
39-
thumbnail_svg {
40-
extension
41-
publicURL
24+
limit: 6
25+
) {
26+
nodes {
27+
frontmatter {
28+
title
29+
date(formatString: "MMM Do YYYY")
30+
author
31+
category
32+
tags
33+
eurl
34+
presskit
35+
thumbnail {
36+
childImageSharp {
37+
gatsbyImageData(width: 480, layout: CONSTRAINED)
38+
}
39+
extension
40+
publicURL
41+
}
42+
thumbnail_svg {
43+
extension
44+
publicURL
45+
}
46+
}
47+
fields {
48+
slug
49+
}
4250
}
4351
}
44-
fields {
45-
slug
46-
}
4752
}
48-
}
49-
}`
50-
);
53+
`);
5154
const posts = newsData.allMdx.nodes;
52-
const relatedPosts = posts.filter(
53-
(post) => post.fields.slug !== fields.slug
54-
);
55+
const relatedPosts = posts.filter((post) => post.fields.slug !== fields.slug);
5556

5657
return (
5758
<NewsPageWrapper>
@@ -60,39 +61,59 @@ const NewsSingle = ({ data, children }) => {
6061
subtitle={frontmatter.subtitle}
6162
category={frontmatter.category}
6263
author={{ name: frontmatter.author }}
63-
thumbnail={ isDark && (frontmatter.darkthumbnail || frontmatter.darkthumbnail_svg) && (frontmatter.darkthumbnail?.publicURL || frontmatter.darkthumbnail_svg?.publicURL) !== (frontmatter.thumbnail?.publicURL || frontmatter.thumbnail_svg?.publicURL)
64-
? (frontmatter.darkthumbnail || frontmatter.darkthumbnail_svg) : (frontmatter.thumbnail || frontmatter.thumbnail_svg)}
64+
thumbnail={
65+
isDark &&
66+
(frontmatter.darkthumbnail || frontmatter.darkthumbnail_svg) &&
67+
(frontmatter.darkthumbnail?.publicURL ||
68+
frontmatter.darkthumbnail_svg?.publicURL) !==
69+
(frontmatter.thumbnail?.publicURL ||
70+
frontmatter.thumbnail_svg?.publicURL)
71+
? frontmatter.darkthumbnail || frontmatter.darkthumbnail_svg
72+
: frontmatter.thumbnail || frontmatter.thumbnail_svg
73+
}
6574
date={frontmatter.date}
6675
/>
6776
<div className="single-post-wrapper">
6877
<Container>
6978
<div className="single-post-block">
7079
<Row>
7180
<Col $lg={9} $md={8} $xs={12}>
72-
<SRLWrapper>
73-
{children}
74-
</SRLWrapper>
81+
<SRLWrapper>{children}</SRLWrapper>
7582
</Col>
7683
<Col $lg={3} $md={4} $xs={12}>
7784
<NewsSidebar kit={frontmatter.presskit} />
7885
</Col>
7986
</Row>
8087
</div>
81-
{
82-
frontmatter.source_url ? (
83-
<div style={{ display: "flex" }}>
88+
{frontmatter.source_url ? (
89+
<div style={{ display: "flex", textDecoration: "italic" }}>
90+
<h5>
91+
Originally published on{" "}
92+
<a
93+
href={frontmatter.source_url}
94+
target="_blank"
95+
rel="noopener noreferrer"
96+
>
97+
{frontmatter.author}
98+
</a>
99+
</h5>
100+
</div>
101+
) : (
102+
frontmatter.eurl && (
103+
<div style={{ display: "flex", textDecoration: "italic" }}>
84104
<h5>
85-
Originally published at <a href={frontmatter.source_url} target="_blank" rel="noopener noreferrer">{frontmatter.source_url}</a>
86-
</h5>
87-
</div>
88-
) : frontmatter.eurl && (
89-
<div style={{ display: "flex" }}>
90-
<h5>
91-
Read the full article on <a href={frontmatter.eurl} target="_blank" rel="noopener noreferrer">{frontmatter.author}</a>
105+
Read the full article on{" "}
106+
<a
107+
href={frontmatter.eurl}
108+
target="_blank"
109+
rel="noopener noreferrer"
110+
>
111+
{frontmatter.author}
112+
</a>
92113
</h5>
93114
</div>
94115
)
95-
}
116+
)}
96117
<RelatedPosts
97118
postType="news"
98119
relatedPosts={relatedPosts}

0 commit comments

Comments
 (0)