mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-29 20:21:50 +02:00
Add server side game developer roadmap
This commit is contained in:
@@ -7,10 +7,13 @@ import {
|
||||
renderTopicProgress,
|
||||
updateResourceProgress,
|
||||
} from '../../lib/resource-progress';
|
||||
import type { ResourceProgressType, ResourceType } from '../../lib/resource-progress';
|
||||
import type {
|
||||
ResourceProgressType,
|
||||
ResourceType,
|
||||
} from '../../lib/resource-progress';
|
||||
import { pageProgressMessage } from '../../stores/page';
|
||||
import { showLoginPopup } from '../../lib/popup';
|
||||
import {replaceChildren} from "../../lib/dom.ts";
|
||||
import { replaceChildren } from '../../lib/dom.ts';
|
||||
|
||||
export class Renderer {
|
||||
resourceId: string;
|
||||
@@ -95,7 +98,7 @@ export class Renderer {
|
||||
.then(() => {
|
||||
return renderResourceProgress(
|
||||
this.resourceType as ResourceType,
|
||||
this.resourceId
|
||||
this.resourceId,
|
||||
);
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -143,7 +146,7 @@ export class Renderer {
|
||||
this.jsonToSvg(
|
||||
this.resourceType === 'roadmap'
|
||||
? `/${this.resourceId}.json`
|
||||
: `/best-practices/${this.resourceId}.json`
|
||||
: `/best-practices/${this.resourceId}.json`,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -183,7 +186,7 @@ export class Renderer {
|
||||
resourceType: this.resourceType as ResourceType,
|
||||
topicId,
|
||||
},
|
||||
newStatus
|
||||
newStatus,
|
||||
)
|
||||
.then(() => {
|
||||
renderTopicProgress(topicId, newStatus);
|
||||
@@ -217,7 +220,7 @@ export class Renderer {
|
||||
const normalizedGroupId = groupId.replace(/^\d+-/, '');
|
||||
this.updateTopicStatus(
|
||||
normalizedGroupId,
|
||||
!isCurrentStatusDone ? 'done' : 'pending'
|
||||
!isCurrentStatusDone ? 'done' : 'pending',
|
||||
);
|
||||
}
|
||||
|
||||
@@ -243,9 +246,12 @@ export class Renderer {
|
||||
action: `${this.resourceType} / ${this.resourceId}`,
|
||||
label: externalLink,
|
||||
});
|
||||
|
||||
window.open(`https://${externalLink}`);
|
||||
} else {
|
||||
window.location.href = `https://${externalLink}`;
|
||||
}
|
||||
|
||||
window.open(`https://${externalLink}`);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -265,7 +271,7 @@ export class Renderer {
|
||||
resourceType: this.resourceType,
|
||||
resourceId: this.resourceId,
|
||||
},
|
||||
})
|
||||
}),
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -280,7 +286,7 @@ export class Renderer {
|
||||
e.preventDefault();
|
||||
this.updateTopicStatus(
|
||||
normalizedGroupId,
|
||||
!isCurrentStatusLearning ? 'learning' : 'pending'
|
||||
!isCurrentStatusLearning ? 'learning' : 'pending',
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -289,7 +295,7 @@ export class Renderer {
|
||||
e.preventDefault();
|
||||
this.updateTopicStatus(
|
||||
normalizedGroupId,
|
||||
!isCurrentStatusSkipped ? 'skipped' : 'pending'
|
||||
!isCurrentStatusSkipped ? 'skipped' : 'pending',
|
||||
);
|
||||
|
||||
return;
|
||||
@@ -302,7 +308,7 @@ export class Renderer {
|
||||
resourceId: this.resourceId,
|
||||
resourceType: this.resourceType,
|
||||
},
|
||||
})
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
5
src/data/roadmaps/server-side-game-developer/faqs.astro
Normal file
5
src/data/roadmaps/server-side-game-developer/faqs.astro
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
import type { FAQType } from '../../components/FAQs/FAQs.astro';
|
||||
|
||||
export const faqs: FAQType[] = [];
|
||||
---
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
---
|
||||
pdfUrl: '/pdfs/roadmaps/server-side-game-developer.pdf'
|
||||
order: 17
|
||||
briefTitle: 'Server Side Game Developer'
|
||||
briefDescription: 'Roadmap to becoming a Server Side Game Developer in 2023'
|
||||
title: 'Server Side Game Developer'
|
||||
description: 'Roadmap to becoming a Server Side Game Developer in 2023'
|
||||
hasTopics: true
|
||||
isNew: true
|
||||
isHidden: true
|
||||
schema:
|
||||
headline: 'Server Side Game Developer Roadmap'
|
||||
description: 'Learn what Server Side Game Development is, what server side game developers do and how to become one using our community-driven roadmap.'
|
||||
imageUrl: 'https://roadmap.sh/roadmaps/server-side-game-developer.png'
|
||||
datePublished: '2023-10-26'
|
||||
dateModified: '2023-10-26'
|
||||
seo:
|
||||
title: 'Server Side Game Developer Roadmap'
|
||||
description: 'Learn what Server Side Game Development is, what server side game developers do and how to become one using our community-driven roadmap.'
|
||||
keywords:
|
||||
- 'server side game developer roadmap 2023'
|
||||
- 'server side game developer roadmap 2023'
|
||||
- 'guide to becoming a server side game developer'
|
||||
- 'guide to becoming a server side game developer'
|
||||
- 'server side game developer roadmap'
|
||||
- 'server side game developer'
|
||||
- 'server side game engineer'
|
||||
- 'server side game skills'
|
||||
- 'server side game development'
|
||||
- 'server side game development skills'
|
||||
- 'server side game development skills test'
|
||||
- 'server side game engineer roadmap'
|
||||
- 'server side game developer roadmap'
|
||||
- 'become a server side game developer'
|
||||
- 'server side game developer career path'
|
||||
- 'skills for game development'
|
||||
- 'learn server side game development'
|
||||
- 'what is server side game development'
|
||||
- 'server side game developer quiz'
|
||||
- 'server side game developer interview questions'
|
||||
relatedRoadmaps:
|
||||
- 'backend'
|
||||
sitemap:
|
||||
priority: 1
|
||||
changefreq: 'monthly'
|
||||
tags:
|
||||
- 'roadmap'
|
||||
- 'main-sitemap'
|
||||
- 'role-roadmap'
|
||||
---
|
@@ -8,7 +8,8 @@ export interface RoadmapFrontmatter {
|
||||
title: string;
|
||||
description: string;
|
||||
hasTopics: boolean;
|
||||
isForkable: boolean;
|
||||
isForkable?: boolean;
|
||||
isHidden: boolean;
|
||||
isNew: boolean;
|
||||
isUpcoming: boolean;
|
||||
tnsBannerLink?: string;
|
||||
|
@@ -29,26 +29,30 @@ const videos = await getAllVideos();
|
||||
|
||||
<FeaturedItems
|
||||
heading='Role based Roadmaps'
|
||||
featuredItems={roleRoadmaps.map((roadmapItem) => ({
|
||||
text: roadmapItem.frontmatter.briefTitle,
|
||||
url: `/${roadmapItem.id}`,
|
||||
isNew: roadmapItem.frontmatter.isNew,
|
||||
isUpcoming: roadmapItem.frontmatter.isUpcoming,
|
||||
}))}
|
||||
featuredItems={roleRoadmaps
|
||||
.filter((roadmapItem) => !roadmapItem.frontmatter.isHidden)
|
||||
.map((roadmapItem) => ({
|
||||
text: roadmapItem.frontmatter.briefTitle,
|
||||
url: `/${roadmapItem.id}`,
|
||||
isNew: roadmapItem.frontmatter.isNew,
|
||||
isUpcoming: roadmapItem.frontmatter.isUpcoming,
|
||||
}))}
|
||||
showCreateRoadmap={true}
|
||||
/>
|
||||
|
||||
<FeaturedItems
|
||||
heading='Skill based Roadmaps'
|
||||
featuredItems={skillRoadmaps.map((roadmapItem) => ({
|
||||
text:
|
||||
roadmapItem.frontmatter.briefTitle === 'Go'
|
||||
? 'Go Roadmap'
|
||||
: roadmapItem.frontmatter.briefTitle,
|
||||
url: `/${roadmapItem.id}`,
|
||||
isNew: roadmapItem.frontmatter.isNew,
|
||||
isUpcoming: roadmapItem.frontmatter.isUpcoming,
|
||||
}))}
|
||||
featuredItems={skillRoadmaps
|
||||
.filter((roadmapItem) => !roadmapItem.frontmatter.isHidden)
|
||||
.map((roadmapItem) => ({
|
||||
text:
|
||||
roadmapItem.frontmatter.briefTitle === 'Go'
|
||||
? 'Go Roadmap'
|
||||
: roadmapItem.frontmatter.briefTitle,
|
||||
url: `/${roadmapItem.id}`,
|
||||
isNew: roadmapItem.frontmatter.isNew,
|
||||
isUpcoming: roadmapItem.frontmatter.isUpcoming,
|
||||
}))}
|
||||
showCreateRoadmap={true}
|
||||
/>
|
||||
|
||||
|
Reference in New Issue
Block a user