--- import { EditorRoadmap } from '../../components/EditorRoadmap/EditorRoadmap'; import FrameRenderer from '../../components/FrameRenderer/FrameRenderer.astro'; import RelatedRoadmaps from '../../components/RelatedRoadmaps.astro'; import RoadmapHeader from '../../components/RoadmapHeader.astro'; import ShareIcons from '../../components/ShareIcons/ShareIcons.astro'; import { TopicDetail } from '../../components/TopicDetail/TopicDetail'; import { UserProgressModal } from '../../components/UserProgress/UserProgressModal'; import BaseLayout from '../../layouts/BaseLayout.astro'; import { Badge } from '../../components/Badge'; import { generateArticleSchema, generateFAQSchema, } from '../../lib/jsonld-schema'; import { getOpenGraphImageUrl } from '../../lib/open-graph'; import { type RoadmapFrontmatter, getRoadmapIds } from '../../lib/roadmap'; import RoadmapNote from '../../components/RoadmapNote.astro'; import { RoadmapTitleQuestion } from '../../components/RoadmapTitleQuestion'; import ResourceProgressStats from '../../components/ResourceProgressStats.astro'; import { getAllProjects, getProjectById, getProjectsByRoadmapId, ProjectFrontmatter, } from '../../lib/project'; import AstroIcon from '../../components/AstroIcon.astro'; import MarkdownFile from '../../components/MarkdownFile.astro'; import Github from '../github.astro'; export async function getStaticPaths() { const projects = await getAllProjects(); return projects .map((project) => project.id) .map((projectId) => ({ params: { projectId }, })); } interface Params extends Record { projectId: string; } const { projectId } = Astro.params as Params; const project = await getProjectById(projectId); const projectData = project.frontmatter as ProjectFrontmatter; let jsonLdSchema = []; const ogImageUrl = projectData?.seo?.ogImageUrl || '/images/og-img.png'; const githubUrl = `https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data/projects/${projectId}.md`; ---
Relevant roadmaps { project.roadmaps.map((roadmap) => ( {roadmap.frontmatter?.briefTitle} )) }

{projectData.title}

{projectData.description}

{ projectData.skills.map((skill) => ( )) }