|
|
|
import { faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
|
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
|
|
import { faEnvelope, faCodeBranch } from '@fortawesome/free-solid-svg-icons';
|
|
|
|
import DefaultLayout from 'layouts/default/index';
|
|
|
|
import SiteNav from 'components/site-nav';
|
|
|
|
import PageFooter from 'components/page-footer';
|
|
|
|
import PageHeader from 'components/page-header';
|
|
|
|
import roadmaps from "content/roadmaps";
|
|
|
|
import RowBlock from 'components/row-block';
|
|
|
|
import IconRowBlock from 'components/icon-row-block';
|
|
|
|
import siteConfig from "content/site";
|
|
|
|
import { BadgeLink, BadgesList, PrimaryBadge, SecondaryBadge } from 'components/badges';
|
|
|
|
import Helmet from 'components/helmet';
|
|
|
|
|
|
|
|
const PageTitle = "Developer Roadmaps";
|
|
|
|
const PageDescription = "Step by step guides and paths to learn different tools or technologies";
|
|
|
|
|
|
|
|
function getBadgeText(roadmap) {
|
|
|
|
if (roadmap.upcoming) {
|
|
|
|
return 'Upcoming';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (roadmap.communityResource) {
|
|
|
|
return 'Community';
|
|
|
|
}
|
|
|
|
|
|
|
|
return '';
|
|
|
|
}
|
|
|
|
|
|
|
|
const RoadmapsList = () => (
|
|
|
|
<DefaultLayout>
|
|
|
|
<Helmet title={PageTitle} desciption={PageDescription} />
|
|
|
|
<SiteNav />
|
|
|
|
<div className="container">
|
|
|
|
<PageHeader
|
|
|
|
title={PageTitle}
|
|
|
|
subtitle={PageDescription}>
|
|
|
|
<BadgesList className="mt-4">
|
|
|
|
<BadgeLink href={siteConfig.url.addRoadmap} target="_blank">
|
|
|
|
<SecondaryBadge>
|
|
|
|
<FontAwesomeIcon icon={faCodeBranch}/>
|
|
|
|
Write a Roadmap
|
|
|
|
</SecondaryBadge>
|
|
|
|
</BadgeLink>
|
|
|
|
<BadgeLink href="/signup">
|
|
|
|
<PrimaryBadge>
|
|
|
|
<FontAwesomeIcon icon={faEnvelope}/>
|
|
|
|
Send me Updates
|
|
|
|
</PrimaryBadge>
|
|
|
|
</BadgeLink>
|
|
|
|
</BadgesList>
|
|
|
|
</PageHeader>
|
|
|
|
</div>
|
|
|
|
<div className="pt-5 pb-5 bg-light border-top">
|
|
|
|
<div className="container">
|
|
|
|
<div className="row">
|
|
|
|
{ roadmaps.map(roadmap => (
|
|
|
|
<RowBlock
|
|
|
|
key={ roadmap.url }
|
|
|
|
title={ roadmap.title.replace(/roadmap|developer/i, '') }
|
|
|
|
subtitle={ roadmap.featuredDescription || roadmap.description }
|
|
|
|
url={ roadmap.url }
|
|
|
|
disabled={ roadmap.upcoming }
|
|
|
|
badge={ getBadgeText(roadmap) }
|
|
|
|
/>
|
|
|
|
)) }
|
|
|
|
|
|
|
|
{/*<IconRowBlock*/}
|
|
|
|
{/* url={ siteConfig.url.addRoadmap }*/}
|
|
|
|
{/* icon={ faPlus }*/}
|
|
|
|
{/* openExternal={true}*/}
|
|
|
|
{/* text="Submit a Roadmap"*/}
|
|
|
|
{/*/>*/}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<PageFooter />
|
|
|
|
</DefaultLayout>
|
|
|
|
);
|
|
|
|
|
|
|
|
export default RoadmapsList;
|