Skip to content

Fix: Rename Service Mesh Workshops to Cloud Native Workshops #6426

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

Closed
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions gatsby-config.js
Original file line number Diff line number Diff line change
@@ -455,8 +455,8 @@ module.exports = {
{
resolve: "gatsby-source-filesystem",
options: {
path: `${__dirname}/src/collections/service-mesh-workshops`,
name: "service-mesh-workshops",
path: `${__dirname}/src/collections/cloud-native-workshops`,
name: "cloud-native-workshops",
},
},
{
66 changes: 64 additions & 2 deletions gatsby-node.js
Original file line number Diff line number Diff line change
@@ -44,6 +44,18 @@ if (process.env.CI === "true") {
exports.createPages = async ({ actions, graphql, reporter }) => {
// Create client-side redirects (these only work in prod deployment)
const { createRedirect } = actions;
createRedirect({
fromPath: "/learn/service-mesh-workshops",
toPath: "/learn/cloud-native-workshops",
redirectInBrowser: true,
isPermanent: true,
});
createRedirect({
fromPath: "/learn/service-mesh-workshops/*",
toPath: "/learn/cloud-native-workshops/*",
redirectInBrowser: true,
isPermanent: true,
});
createRedirect({
fromPath: "/books",
toPath: "/learn/service-mesh-books",
@@ -73,7 +85,7 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
});
createRedirect({
fromPath: "/workshops",
toPath: "/learn/service-mesh-workshops",
toPath: "/learn/cloud-native-workshops",
redirectInBrowser: true,
isPermanent: true,
});
@@ -510,7 +522,7 @@ exports.createPages = async ({ actions, graphql, reporter }) => {
}
}
singleWorkshop: allMdx(
filter: { fields: { collection: { eq: "service-mesh-workshops" } } }
filter: { fields: { collection: { eq: "cloud-native-workshops" } } }
) {
nodes {
fields {
@@ -952,6 +964,56 @@ exports.onCreateNode = ({ node, actions, getNode }) => {
basePath: "content-learn",
trailingSlash: false,
});
if (collection !== "content-learn") {
let slug = "";
if (node.frontmatter.permalink) {
slug = `/${collection}/${node.frontmatter.permalink}`;
} else {
switch (collection) {
case "blog":
if (node.frontmatter.published)
slug = `/${collection}/${slugify(
node.frontmatter.category
)}/${slugify(node.frontmatter.title)}`;
break;
case "news":
slug = `/company/${collection}/${slugify(node.frontmatter.title)}`;
break;
case "service-mesh-books":
case "cloud-native-workshops":
case "service-mesh-labs":
slug = `/learn/${collection}/${slugify(node.frontmatter.title)}`;
break;
case "resources":
if (node.frontmatter.published)
slug = `/${collection}/${slugify(
node.frontmatter.category
)}/${slugify(node.frontmatter.title)}`;
break;
case "members":
if (node.frontmatter.published)
slug = `/community/members/${node.frontmatter.permalink ?? slugify(node.frontmatter.name)}`;
break;
case "events":
if (node.frontmatter.title)
slug = `/community/events/${slugify(node.frontmatter.title)}`;
break;
default:
slug = `/${collection}/${slugify(node.frontmatter.title)}`;
}
}
createNodeField({
name: "slug",
node,
value: slug,
});
} else {
const slug = createFilePath({
node,
getNode,
basePath: "content-learn",
trailingSlash: false,
});

// slug starts and ends with '/' so parts[0] and parts[-1] will be empty
const parts = slug.split("/").filter((p) => !!p);
2 changes: 1 addition & 1 deletion src/assets/discuss/html/footer.html
Original file line number Diff line number Diff line change
@@ -47,7 +47,7 @@ <h3 class="section-title"><a href="https://layer5.io/learn">RESOURCES</a></h3>
<h5 class="footer-h5"><a href="https://layer5.io/learn/learning-paths">Learning Paths</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/resources">Resource Library</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/learn/service-mesh-books">Cloud Native Books</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/learn/service-mesh-workshops">Cloud Native Workshops</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/learn/cloud-native-workshops">Cloud Native Workshops</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/service-mesh-landscape#service-mesh-comaprison-matrix">Service Mesh Comparison</a></h5>
<h5 class="footer-h5"><a href="https://layer5.io/learn/service-mesh-labs">Cloud Native Interactive Labs</a></h5>
</div>
Original file line number Diff line number Diff line change
@@ -13,5 +13,5 @@ const WorkshopsGridPage = () => {
};
export default WorkshopsGridPage;
export const Head = () => {
return <SEO title="Service Mesh Workshops" description="Service mesh workshops and tutorials for Istio, Envoy, Linkerd, Consul, App Mesh, Open Service Mesh, Cilium, Kuma, NGINX" />;
return <SEO title="Cloud Native Workshops" description="Cloud Native workshops and tutorials for Istio, Envoy, Linkerd, Consul, App Mesh, Open Service Mesh, Cilium, Kuma, NGINX" />;
};
2 changes: 1 addition & 1 deletion src/pages/learn/index.js
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ const LearnGridPage = () => {
};
export default LearnGridPage;
export const Head = () => {
return <SEO title="Learn Service Mesh"
return <SEO title="Learn Cloud Native"
description="Learn Service Meshes: Istio, Linkerd, Envoy, Consul, Open Service Mesh, Traefik Mesh, Kuma, AWS App Mesh, Citrix, VMware Tanzu Service Mesh"
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not sure what the new SEO description should be, any suggestions with this?

Choose a reason for hiding this comment

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

This works @M-DEV-1

image="/images/workshops.webp" />;
};
2 changes: 1 addition & 1 deletion src/sections/Community/Handbook/learn5.js
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ const LearnLayer = () => {
<ul>
<li>Interactive <Link to="/learn/service-mesh-labs">cloud native labs</Link></li>
<li>Free <Link to="/learn/service-mesh-books">cloud native books</Link></li>
<li>Self-paced <Link to="/learn/service-mesh-workshops">scloud nativeh workshops</Link></li>
<li>Self-paced <Link to="/learn/cloud-native-workshops">cloud native workshops</Link></li>
<li>Recorded training and talks on the <a href="https://www.youtube.com/c/Layer5io?sub_confirmation=1/playlists">Layer5 YouTube Channel</a></li>
<li>Multi-course, multi-mesh <Link to="/learn/learning-paths">cloud native learning paths</Link></li>
</ul>
2 changes: 1 addition & 1 deletion src/sections/Community/Handbook/writing-program.js
Original file line number Diff line number Diff line change
@@ -237,7 +237,7 @@ const Writers = () => {
<Col $sm={12} $md={6} $lg={4}>
<Link
className="project-card"
to="/learn/service-mesh-workshops"
to="/learn/cloud-native-workshops"
>
<div className="content_type">
<img src={workshop} alt="Workshop" />
4 changes: 2 additions & 2 deletions src/sections/General/Footer/index.js
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ const Footer = ({ location }) => {
"/programs",
"/projects/",
"/resources/",
"/service-mesh-workshops/",
"/cloud-native-workshops/",
].some((check) => {
returnPath = check;
return path.startsWith(check);
@@ -138,7 +138,7 @@ const Footer = ({ location }) => {
<li>
<Link
className="category-link"
to="/learn/service-mesh-workshops"
to="/learn/cloud-native-workshops"
>
Cloud Native Workshops
</Link>
2 changes: 1 addition & 1 deletion src/sections/General/Navigation/utility/menu-items.js
Original file line number Diff line number Diff line change
@@ -314,7 +314,7 @@ const Data = {
// },
{
name: "Workshops",
path: "/learn/service-mesh-workshops",
path: "/learn/cloud-native-workshops",
},
{
name: "Learning Paths",
6 changes: 3 additions & 3 deletions src/sections/Learn/LearnPage-Sections/workshops.js
Original file line number Diff line number Diff line change
@@ -193,7 +193,7 @@ const WorkshopsSection = () => {
graphql`query workshopsList {
allMdx(
sort: {frontmatter: {date: DESC}}
filter: {fields: {collection: {eq: "service-mesh-workshops"}}}
filter: {fields: {collection: {eq: "cloud-native-workshops"}}}
) {
nodes {
frontmatter {
@@ -241,9 +241,9 @@ const WorkshopsSection = () => {
<div className="workshop-section-wrapper">
<Col $xs={12} $md={3} className="workshops-col">
<h1>Workshops</h1>
<p>Register for the service mesh workshops given by the experts at Layer5 and learn how to <i>mesh</i></p>
<p>Register for the cloud native workshops given by the experts at Layer5 and learn how to <i>mesh</i></p>
<div className="see-more-button">
<Button $primary title="Checkout all workshops" $url="/learn/service-mesh-workshops" />
<Button $primary title="Checkout all workshops" $url="/learn/cloud-native-workshops" />
</div>
</Col>
<Col $xs={12} $md={9} className="workshops-col">
2 changes: 1 addition & 1 deletion src/sections/Learn/Workshop-grid/index.js
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ const WorkshopsPage = () => {
graphql`query allWorkshops {
allMdx(
sort: {frontmatter: {date: DESC}}
filter: {fields: {collection: {eq: "service-mesh-workshops"}}}
filter: {fields: {collection: {eq: "cloud-native-workshops"}}}
) {
nodes {
id
2 changes: 1 addition & 1 deletion src/sections/Learn/Workshop-single/index.js
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ const WorkshopSinglePage = ({ frontmatter, body }) => {
return (
<WorkshopSinglePageWrapper>
<div className="backBtn">
<Link to="/learn/service-mesh-workshops">
<Link to="/learn/cloud-native-workshops">
<IoIosArrowDropleftCircle />
<h4>All Workshops</h4>
</Link>
Loading
Oops, something went wrong.