2021-08-29 16:05:19 +02:00
|
|
|
import roadmaps from '../content/roadmaps.json';
|
|
|
|
|
|
|
|
export type RoadmapType = {
|
|
|
|
seo: {
|
|
|
|
title: string;
|
|
|
|
description: string;
|
2021-12-07 14:05:13 +01:00
|
|
|
keywords: string[];
|
|
|
|
};
|
|
|
|
title: string;
|
|
|
|
description: string;
|
2021-08-29 16:05:19 +02:00
|
|
|
featuredTitle: string;
|
2021-12-07 14:05:13 +01:00
|
|
|
featuredDescription: string;
|
2021-08-29 16:05:19 +02:00
|
|
|
author: {
|
2021-12-07 14:05:13 +01:00
|
|
|
name: string;
|
|
|
|
url: string;
|
|
|
|
};
|
2022-08-04 15:59:52 +04:00
|
|
|
type: "role" | "tool";
|
2021-12-07 14:05:13 +01:00
|
|
|
featured: boolean;
|
|
|
|
imageUrl?: string;
|
|
|
|
jsonUrl?: string;
|
2022-08-29 18:48:57 +04:00
|
|
|
isNew?: boolean;
|
2021-12-03 14:16:41 +01:00
|
|
|
landingPath?: string;
|
2021-08-29 16:05:19 +02:00
|
|
|
resourcesPath: string;
|
2021-12-03 19:58:25 +01:00
|
|
|
contentPathsFilePath?: string;
|
2021-09-26 22:02:59 +02:00
|
|
|
metaPath: string;
|
2021-08-29 16:05:19 +02:00
|
|
|
isCommunity: boolean;
|
2021-09-04 18:50:38 +02:00
|
|
|
isUpcoming: boolean;
|
2021-08-29 21:29:14 +02:00
|
|
|
id: string;
|
2021-09-04 19:14:02 +02:00
|
|
|
pdfUrl?: string;
|
2021-08-29 16:05:19 +02:00
|
|
|
};
|
|
|
|
|
2021-08-29 21:29:14 +02:00
|
|
|
export function getRoadmapById(id: string): RoadmapType | undefined {
|
2021-12-07 14:05:13 +01:00
|
|
|
return (roadmaps as RoadmapType[]).find((roadmap) => roadmap.id === id);
|
2021-08-29 16:05:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export function getAllRoadmaps(): RoadmapType[] {
|
2021-12-07 14:05:13 +01:00
|
|
|
return roadmaps as RoadmapType[];
|
2021-08-29 16:05:19 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export function getFeaturedRoadmaps(): RoadmapType[] {
|
|
|
|
const roadmaps: RoadmapType[] = getAllRoadmaps();
|
|
|
|
|
2021-12-07 14:05:13 +01:00
|
|
|
return roadmaps.filter((roadmap) => roadmap.featured);
|
2021-08-29 16:05:19 +02:00
|
|
|
}
|
2022-01-09 11:29:03 +04:00
|
|
|
|
|
|
|
export function isInteractiveRoadmap(id: string): boolean {
|
2022-08-25 20:14:03 +04:00
|
|
|
return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs'].includes(id);
|
2022-01-09 11:29:03 +04:00
|
|
|
}
|