Skip to content

Commit

Permalink
Add script to update sponsors
Browse files Browse the repository at this point in the history
  • Loading branch information
kamranahmedse committed Mar 1, 2023
1 parent c5d14d2 commit e57b889
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 20 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/update-sponsors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Update the Sponsors
run: |
pnpm install
node bin/roadmap-ads.cjs
node bin/update-sponsors.cjs
- name: Create PR
uses: peter-evans/create-pull-request@v4
with:
Expand Down
35 changes: 22 additions & 13 deletions bin/roadmap-ads.cjs → bin/update-sponsors.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -51,25 +51,34 @@ function populateRoadmapAds({
const existingFrontmatter = roadmapFileContent.match(frontMatterRegex)[1];
const contentWithoutFrontmatter = roadmapFileContent.replace(frontMatterRegex, ``).trim();

const yamlObject = yaml.load(existingFrontmatter);
let fronmatterObj = yaml.load(existingFrontmatter);

if (shouldShowAd) {
yamlObject.sponsor = {
url: redirectUrl,
title: adTitle,
imageUrl,
description: adDescription,
event: {
category: 'SponsorClick',
action: `${company} Redirect`,
label: `Clicked ${company} Link`,
const frontmatterValues = Object.entries(fronmatterObj);

// Insert sponsor data at 10 index i.e. after
// roadmap dimensions in the fronmatter
frontmatterValues.splice(10, 0, [
'sponsor',
{
url: redirectUrl,
title: adTitle,
imageUrl,
description: adDescription,
event: {
category: 'SponsorClick',
action: `${company} Redirect`,
label: `Clicked ${company} Link`,
},
},
};
]);

fronmatterObj = Object.fromEntries(frontmatterValues);
} else {
delete yamlObject.sponsor;
delete fronmatterObj.sponsor;
}

const newFrontmatter = yaml.dump(yamlObject, { lineWidth: 10000, forceQuotes: true, quotingType: '"' });
const newFrontmatter = yaml.dump(fronmatterObj, { lineWidth: 10000, forceQuotes: true, quotingType: '"' });
const newContent = `---\n${newFrontmatter}---\n\n${contentWithoutFrontmatter}`;

fs.writeFileSync(roadmapFilePath, newContent, 'utf8');
Expand Down
12 changes: 6 additions & 6 deletions src/data/roadmaps/devops/devops.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ tnsBannerLink: "https://thenewstack.io?utm_source=roadmap.sh&utm_medium=Referral
dimensions:
width: 968
height: 2527.46
schema:
headline: "DevOps Roadmap"
description: "Learn to become a DevOps, SRE or get any other operations role with this interactive step by step guide in 2023. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place."
imageUrl: "https://roadmap.sh/roadmaps/devops.png"
datePublished: "2023-01-05"
dateModified: "2023-01-20"
sponsor:
url: "https://www.getambassador.io/products/edge-stack-api-gateway?utm_source=roadmap-sh&utm_medium=edge-stack-page&utm_campaign=new-account"
title: "Featured Product"
Expand All @@ -26,6 +20,12 @@ sponsor:
category: "SponsorClick"
action: "Ambassador Redirect"
label: "Clicked Ambassador Link"
schema:
headline: "DevOps Roadmap"
description: "Learn to become a DevOps, SRE or get any other operations role with this interactive step by step guide in 2023. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place."
imageUrl: "https://roadmap.sh/roadmaps/devops.png"
datePublished: "2023-01-05"
dateModified: "2023-01-20"
seo:
title: "DevOps Roadmap: Learn to become a DevOps Engineer or SRE"
description: "Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap."
Expand Down

0 comments on commit e57b889

Please sign in to comment.