Add pdf links
This commit is contained in:
@ -31,7 +31,6 @@
|
|||||||
"description": "Step by step guide to becoming a modern frontend developer in 2021",
|
"description": "Step by step guide to becoming a modern frontend developer in 2021",
|
||||||
"featuredTitle": "Frontend",
|
"featuredTitle": "Frontend",
|
||||||
"featuredDescription": "Step by step guide to becoming a frontend developer in 2021",
|
"featuredDescription": "Step by step guide to becoming a frontend developer in 2021",
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
@ -39,7 +38,9 @@
|
|||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/frontend.png",
|
"imagePath": "/roadmaps/frontend.png",
|
||||||
"resourcesPath": "/roadmaps/1-frontend/resources.md",
|
"resourcesPath": "/roadmaps/1-frontend/resources.md",
|
||||||
"id": "frontend"
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/frontend-roadmap",
|
||||||
|
"id": "frontend",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -76,12 +77,13 @@
|
|||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/backend.png",
|
"imagePath": "/roadmaps/backend.png",
|
||||||
"resourcesPath": "/roadmaps/2-backend/resources.md",
|
"resourcesPath": "/roadmaps/2-backend/resources.md",
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "backend"
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap",
|
||||||
|
"id": "backend",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -117,12 +119,13 @@
|
|||||||
"2018",
|
"2018",
|
||||||
"2017"
|
"2017"
|
||||||
],
|
],
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "devops"
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/devops-roadmap",
|
||||||
|
"id": "devops",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -156,12 +159,13 @@
|
|||||||
"2018",
|
"2018",
|
||||||
"2017"
|
"2017"
|
||||||
],
|
],
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "react"
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/react-roadmap",
|
||||||
|
"id": "react",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -194,7 +198,6 @@
|
|||||||
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
||||||
"contentPath": "/roadmaps/5-postgresql-dba/landscape.md",
|
"contentPath": "/roadmaps/5-postgresql-dba/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/5-postgresql-dba/resources.md",
|
"resourcesPath": "/roadmaps/5-postgresql-dba/resources.md",
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Alexey Lesovsky",
|
"name": "Alexey Lesovsky",
|
||||||
"url": "https://github.com/lesovsky"
|
"url": "https://github.com/lesovsky"
|
||||||
@ -204,7 +207,8 @@
|
|||||||
"featured": true,
|
"featured": true,
|
||||||
"detailed": false,
|
"detailed": false,
|
||||||
"versions": [],
|
"versions": [],
|
||||||
"id": "postgresql-dba"
|
"id": "postgresql-dba",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -238,12 +242,12 @@
|
|||||||
"2018",
|
"2018",
|
||||||
"2017"
|
"2017"
|
||||||
],
|
],
|
||||||
"isUpcoming": false,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "android"
|
"id": "android",
|
||||||
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -268,9 +272,9 @@
|
|||||||
"description": "Steps to follow in order to become a modern QA Engineer in 2021",
|
"description": "Steps to follow in order to become a modern QA Engineer in 2021",
|
||||||
"featuredTitle": "QA",
|
"featuredTitle": "QA",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
||||||
|
"isUpcoming": true,
|
||||||
"contentPath": "/roadmaps/7-qa/landscape.md",
|
"contentPath": "/roadmaps/7-qa/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/7-qa/resources.md",
|
"resourcesPath": "/roadmaps/7-qa/resources.md",
|
||||||
"isUpcoming": true,
|
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Anas Fitiani",
|
"name": "Anas Fitiani",
|
||||||
"url": "https://github.com/anas-qa"
|
"url": "https://github.com/anas-qa"
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "Frontend Developer",
|
"title": "Frontend Developer",
|
||||||
"description": "Step by step guide to becoming a modern frontend developer",
|
"description": "Step by step guide to becoming a modern frontend developer in 2021",
|
||||||
"featuredTitle": "Frontend",
|
"featuredTitle": "Frontend",
|
||||||
"featuredDescription": "Step by step guide to becoming a frontend developer in 2021",
|
"featuredDescription": "Step by step guide to becoming a frontend developer in 2021",
|
||||||
"author": {
|
"author": {
|
||||||
@ -36,5 +36,6 @@
|
|||||||
},
|
},
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/frontend.png",
|
"imagePath": "/roadmaps/frontend.png",
|
||||||
"resourcesPath": "./resources.md"
|
"resourcesPath": "./resources.md",
|
||||||
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/frontend-roadmap"
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "Backend Developer",
|
"title": "Backend Developer",
|
||||||
"description": "Step by step guide to becoming a modern backend developer",
|
"description": "Step by step guide to becoming a modern backend developer in 2021",
|
||||||
"featuredTitle": "Backend",
|
"featuredTitle": "Backend",
|
||||||
"featuredDescription": "Step by step guide to becoming a backend developer in 2021",
|
"featuredDescription": "Step by step guide to becoming a backend developer in 2021",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
@ -36,5 +36,6 @@
|
|||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
}
|
},
|
||||||
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap"
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "DevOps Roadmap",
|
"title": "DevOps Roadmap",
|
||||||
"description": "Step by step guide for DevOps or any other Operations Role",
|
"description": "Step by step guide for DevOps, SRE or any other Operations Role in 2021",
|
||||||
"featuredTitle": "DevOps",
|
"featuredTitle": "DevOps",
|
||||||
"featuredDescription": "Step by step guide for DevOps or operations role in 2021",
|
"featuredDescription": "Step by step guide for DevOps or operations role in 2021",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
@ -35,5 +35,6 @@
|
|||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
}
|
},
|
||||||
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/devops-roadmap"
|
||||||
}
|
}
|
||||||
|
@ -33,5 +33,6 @@
|
|||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
}
|
},
|
||||||
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/react-roadmap"
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "PostgreSQL DBA",
|
"title": "PostgreSQL DBA",
|
||||||
"description": "Step by step guide to becoming a modern PostgreSQL DBA",
|
"description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2021",
|
||||||
"featuredTitle": "DBA",
|
"featuredTitle": "DBA",
|
||||||
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
||||||
"contentPath": "./landscape.md",
|
"contentPath": "./landscape.md",
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "Android Developer",
|
"title": "Android Developer",
|
||||||
"description": "Step by step guide to becoming an Android developer",
|
"description": "Step by step guide to becoming an Android developer in 2021",
|
||||||
"featuredTitle": "Android",
|
"featuredTitle": "Android",
|
||||||
"featuredDescription": "Step by step guide to becoming an Android Developer in 2021",
|
"featuredDescription": "Step by step guide to becoming an Android Developer in 2021",
|
||||||
"isTextHeavy": true,
|
"isTextHeavy": true,
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
"description": "Steps to follow in order to become a modern QA Engineer in 2021",
|
"description": "Steps to follow in order to become a modern QA Engineer in 2021",
|
||||||
"featuredTitle": "QA",
|
"featuredTitle": "QA",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
||||||
"upcoming": true,
|
"isUpcoming": true,
|
||||||
"contentPath": "./landscape.md",
|
"contentPath": "./landscape.md",
|
||||||
"resourcesPath": "./resources.md",
|
"resourcesPath": "./resources.md",
|
||||||
"author": {
|
"author": {
|
||||||
|
@ -21,6 +21,7 @@ export type RoadmapType = {
|
|||||||
isCommunity: boolean;
|
isCommunity: boolean;
|
||||||
isUpcoming: boolean;
|
isUpcoming: boolean;
|
||||||
id: string;
|
id: string;
|
||||||
|
pdfUrl?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function getRoadmapById(id: string): RoadmapType | undefined {
|
export function getRoadmapById(id: string): RoadmapType | undefined {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Box, Button, Container, Stack } from '@chakra-ui/react';
|
import { Box, Button, Container, Link, Stack } from '@chakra-ui/react';
|
||||||
import { DownloadIcon, EmailIcon } from '@chakra-ui/icons';
|
import { DownloadIcon, EmailIcon } from '@chakra-ui/icons';
|
||||||
import { GlobalHeader } from '../../components/global-header';
|
import { GlobalHeader } from '../../components/global-header';
|
||||||
import { OpensourceBanner } from '../../components/opensource-banner';
|
import { OpensourceBanner } from '../../components/opensource-banner';
|
||||||
@ -58,10 +58,22 @@ export default function Roadmap(props: RoadmapProps) {
|
|||||||
subtitle={roadmap.description}
|
subtitle={roadmap.description}
|
||||||
>
|
>
|
||||||
<Stack mt='20px' isInline>
|
<Stack mt='20px' isInline>
|
||||||
<Button size='xs' py='14px' px='10px' leftIcon={<DownloadIcon />} colorScheme='yellow' variant='solid'>
|
{roadmap.pdfUrl && (
|
||||||
|
<Button as={Link}
|
||||||
|
href={roadmap.pdfUrl}
|
||||||
|
target='_blank'
|
||||||
|
size='xs'
|
||||||
|
py='14px'
|
||||||
|
px='10px'
|
||||||
|
leftIcon={<DownloadIcon />}
|
||||||
|
colorScheme='yellow'
|
||||||
|
variant='solid'
|
||||||
|
_hover={{ textDecoration: 'none' }}>
|
||||||
Download PDF
|
Download PDF
|
||||||
</Button>
|
</Button>
|
||||||
<Button size='xs' py='14px' px='10px' leftIcon={<EmailIcon />} colorScheme='yellow' variant='solid'>
|
)}
|
||||||
|
<Button as={Link} href={'/signup'} size='xs' py='14px' px='10px' leftIcon={<EmailIcon />}
|
||||||
|
colorScheme='yellow' variant='solid' _hover={{ textDecoration: 'none' }}>
|
||||||
Subscribe
|
Subscribe
|
||||||
</Button>
|
</Button>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
@ -34,9 +34,9 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => {
|
|||||||
{
|
{
|
||||||
...roadmapMeta,
|
...roadmapMeta,
|
||||||
id: roadmapSlug,
|
id: roadmapSlug,
|
||||||
url: `/${roadmapSlug}`,
|
|
||||||
contentPath: contentPath,
|
contentPath: contentPath,
|
||||||
resourcesPath: resourcesPath
|
resourcesPath: resourcesPath,
|
||||||
|
isUpcoming: roadmapMeta.isUpcoming || false
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}, []);
|
}, []);
|
||||||
|
Reference in New Issue
Block a user