feat: detailed roadmap preparation
This commit is contained in:
@ -44,7 +44,7 @@ const DetailedRoadmap = ({ roadmap }) => {
|
|||||||
{ sidebar[groupTitle].map(page => {
|
{ sidebar[groupTitle].map(page => {
|
||||||
const isActivePage = page.url === currentPage.url;
|
const isActivePage = page.url === currentPage.url;
|
||||||
// e.g. /frontend should mark `/frontend/summary` as active
|
// e.g. /frontend should mark `/frontend/summary` as active
|
||||||
const isSummaryPage = page.url === `${currentPage.url}/summary`;
|
const isSummaryPage = page.url === `${currentPage.url}/landscape`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<li className={classNames({ active: isActivePage || isSummaryPage })} key={page.url}>
|
<li className={classNames({ active: isActivePage || isSummaryPage })} key={page.url}>
|
||||||
|
@ -8,7 +8,8 @@
|
|||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"detailed": false,
|
"path": "/roadmaps/1-frontend/0-About/0-Landscape.md",
|
||||||
|
"detailed": true,
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -17,45 +18,27 @@
|
|||||||
"contributorsCount": 1,
|
"contributorsCount": 1,
|
||||||
"contributorsUrl": "/frontend/contributors",
|
"contributorsUrl": "/frontend/contributors",
|
||||||
"url": "/frontend",
|
"url": "/frontend",
|
||||||
"path": "/roadmaps/1-frontend/0-About/0-Summary.md",
|
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"About": [
|
"About": [
|
||||||
{
|
{
|
||||||
"url": "/frontend/summary-detailed",
|
"url": "/frontend/landscape",
|
||||||
"title": "Summary detailed",
|
"title": "Landscape",
|
||||||
"path": "/roadmaps/1-frontend/0-About/0-Summary-detailed.md"
|
"path": "/roadmaps/1-frontend/0-About/0-Landscape.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "/frontend/summary",
|
"url": "/frontend/summary",
|
||||||
"title": "Summary",
|
"title": "Summary",
|
||||||
"path": "/roadmaps/1-frontend/0-About/0-Summary.md"
|
"path": "/roadmaps/1-frontend/0-About/1-Summary.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "/frontend/skill-summary",
|
"url": "/frontend/basic-skills",
|
||||||
"title": "Skill Summary",
|
"title": "Basic Skills",
|
||||||
"path": "/roadmaps/1-frontend/0-About/1-Skill-Summary.md"
|
"path": "/roadmaps/1-frontend/0-About/2-Basic-Skills.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "/frontend/job-titles",
|
"url": "/frontend/job-titles",
|
||||||
"title": "Job Titles",
|
"title": "Job Titles",
|
||||||
"path": "/roadmaps/1-frontend/0-About/2-Job-Titles.md"
|
"path": "/roadmaps/1-frontend/0-About/3-Job-Titles.md"
|
||||||
}
|
|
||||||
],
|
|
||||||
"Landscape": [
|
|
||||||
{
|
|
||||||
"url": "/frontend/junior-developer",
|
|
||||||
"title": "Junior Developer",
|
|
||||||
"path": "/roadmaps/1-frontend/1-Landscape/1-Junior-Developer.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "/frontend/mid-level-developer",
|
|
||||||
"title": "Mid Level Developer",
|
|
||||||
"path": "/roadmaps/1-frontend/1-Landscape/2-Mid-Level-Developer.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "/frontend/senior-developer",
|
|
||||||
"title": "Senior Developer",
|
|
||||||
"path": "/roadmaps/1-frontend/1-Landscape/3-Senior-Developer.md"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Learn": [
|
"Learn": [
|
||||||
@ -107,6 +90,7 @@
|
|||||||
"description": "Step by step guide to becoming a modern backend developer",
|
"description": "Step by step guide to becoming a modern backend developer",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern backend developer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern backend developer in 2020",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
|
"path": "/roadmaps/2-backend/0-About/0-Summary.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
@ -114,7 +98,6 @@
|
|||||||
"contributorsCount": 1,
|
"contributorsCount": 1,
|
||||||
"contributorsUrl": "/backend/contributors",
|
"contributorsUrl": "/backend/contributors",
|
||||||
"url": "/backend",
|
"url": "/backend",
|
||||||
"path": "/roadmaps/2-backend/0-About/0-Summary.md",
|
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"About": [
|
"About": [
|
||||||
{
|
{
|
||||||
@ -152,6 +135,7 @@
|
|||||||
"description": "Step by step guide for DevOps or any other Operations Role",
|
"description": "Step by step guide for DevOps or any other Operations Role",
|
||||||
"featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020",
|
"featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
|
"path": "/roadmaps/3-devops/0-About/0-Summary.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -164,7 +148,6 @@
|
|||||||
"contributorsCount": 1,
|
"contributorsCount": 1,
|
||||||
"contributorsUrl": "/devops/contributors",
|
"contributorsUrl": "/devops/contributors",
|
||||||
"url": "/devops",
|
"url": "/devops",
|
||||||
"path": "/roadmaps/3-devops/0-About/0-Summary.md",
|
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"About": [
|
"About": [
|
||||||
{
|
{
|
||||||
@ -196,6 +179,7 @@
|
|||||||
"title": "Full Stack Developer",
|
"title": "Full Stack Developer",
|
||||||
"description": "Step by step guide to becoming a modern fullstack developer in 2020",
|
"description": "Step by step guide to becoming a modern fullstack developer in 2020",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020",
|
||||||
|
"path": "/roadmaps/4-fullstack/0-About/0-Summary.md",
|
||||||
"upcoming": true,
|
"upcoming": true,
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
@ -204,7 +188,6 @@
|
|||||||
"contributorsCount": 1,
|
"contributorsCount": 1,
|
||||||
"contributorsUrl": "/fullstack/contributors",
|
"contributorsUrl": "/fullstack/contributors",
|
||||||
"url": "/fullstack",
|
"url": "/fullstack",
|
||||||
"path": "/roadmaps/4-fullstack/0-About/0-Summary.md",
|
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"About": [
|
"About": [
|
||||||
{
|
{
|
||||||
@ -220,6 +203,7 @@
|
|||||||
"description": "Steps to follow in order to become a modern QA Engineer in 2020",
|
"description": "Steps to follow in order to become a modern QA Engineer in 2020",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020",
|
||||||
"upcoming": true,
|
"upcoming": true,
|
||||||
|
"path": "/roadmaps/5-qa/0-About/0-Summary.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Anas Fitiani",
|
"name": "Anas Fitiani",
|
||||||
"url": "https://github.com/anas-qa"
|
"url": "https://github.com/anas-qa"
|
||||||
@ -227,7 +211,6 @@
|
|||||||
"contributorsCount": 1,
|
"contributorsCount": 1,
|
||||||
"contributorsUrl": "/qa/contributors",
|
"contributorsUrl": "/qa/contributors",
|
||||||
"url": "/qa",
|
"url": "/qa",
|
||||||
"path": "/roadmaps/5-qa/0-About/0-Summary.md",
|
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
"About": [
|
"About": [
|
||||||
{
|
{
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
#### Technical Skills
|
|
||||||
The sections below describe different steps required to become a frontend developer
|
|
||||||
|
|
||||||
#### Learning How Things Work
|
|
||||||
As a web developer, frontend, backend or fullstack, you should have a good understanding of how the internet works
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Learn the below listed in the order given below
|
|
||||||
* What is Internet and how does it work?
|
|
||||||
* What is HTTP, how it evolved and where is it now?
|
|
||||||
* How do the browsers work? Engines behind different browsers
|
|
||||||
* What is DNS? How a website is found on the internet?
|
|
||||||
* What's in a domain name? What is an IP Address?
|
|
||||||
* What is Web Hosting?
|
|
||||||
|
|
||||||
#### Writing Some Code
|
|
||||||
Now that you understand how things work, next step is getting your hands dirty and start actual coding
|
|
@ -0,0 +1,18 @@
|
|||||||
|
#### Technical Skills
|
||||||
|
The sections below describe different steps required to become a frontend developer
|
||||||
|
|
||||||
|
#### Learning How Things Work
|
||||||
|
As a web developer, frontend, backend or fullstack, you should have a good understanding of how the internet works
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Learn the below listed in the order given below
|
||||||
|
* What is Internet and how does it work?
|
||||||
|
* What is HTTP, how it evolved and where is it now?
|
||||||
|
* How do the browsers work? Engines behind different browsers
|
||||||
|
* What is DNS? How a website is found on the internet?
|
||||||
|
* What's in a domain name? What is an IP Address?
|
||||||
|
* What is Web Hosting?
|
||||||
|
|
||||||
|
#### Writing Some Code
|
||||||
|
Now that you understand how things work, next step is getting your hands dirty and start actual coding
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"detailed": false,
|
"path": "./0-About/0-Landscape.md",
|
||||||
|
"detailed": true,
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"description": "Step by step guide to becoming a modern backend developer",
|
"description": "Step by step guide to becoming a modern backend developer",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern backend developer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern backend developer in 2020",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
|
"path": "./0-About/0-Summary.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"description": "Step by step guide for DevOps or any other Operations Role",
|
"description": "Step by step guide for DevOps or any other Operations Role",
|
||||||
"featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020",
|
"featuredDescription": "Step by step guide to become an SRE or for any operations role in 2020",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
|
"path": "./0-About/0-Summary.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
"title": "Full Stack Developer",
|
"title": "Full Stack Developer",
|
||||||
"description": "Step by step guide to becoming a modern fullstack developer in 2020",
|
"description": "Step by step guide to becoming a modern fullstack developer in 2020",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern fullstack developer in 2020",
|
||||||
|
"path": "./0-About/0-Summary.md",
|
||||||
"upcoming": true,
|
"upcoming": true,
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"description": "Steps to follow in order to become a modern QA Engineer in 2020",
|
"description": "Steps to follow in order to become a modern QA Engineer in 2020",
|
||||||
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020",
|
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2020",
|
||||||
"upcoming": true,
|
"upcoming": true,
|
||||||
|
"path": "./0-About/0-Summary.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Anas Fitiani",
|
"name": "Anas Fitiani",
|
||||||
"url": "https://github.com/anas-qa"
|
"url": "https://github.com/anas-qa"
|
||||||
|
@ -16,7 +16,7 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => {
|
|||||||
|
|
||||||
// We can't use the absolute path in the build e.g. ~/Users/user/where-build-is-running/content
|
// We can't use the absolute path in the build e.g. ~/Users/user/where-build-is-running/content
|
||||||
// So, we remove it and use the path relative to content directory
|
// So, we remove it and use the path relative to content directory
|
||||||
const summaryFilePath = path.join(roadmapDir.replace(STORAGE_PATH, ''), '/0-About/0-Summary.md');
|
const roadmapLandingFilePath = path.join(roadmapDir.replace(STORAGE_PATH, ''), roadmapMeta.path);
|
||||||
|
|
||||||
const contributors = exec(`git log --pretty=format:"%an%x09" ${roadmapDir} | uniq`)
|
const contributors = exec(`git log --pretty=format:"%an%x09" ${roadmapDir} | uniq`)
|
||||||
.toString()
|
.toString()
|
||||||
@ -76,7 +76,7 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => {
|
|||||||
contributorsCount: contributorNames.length,
|
contributorsCount: contributorNames.length,
|
||||||
contributorsUrl: `/${roadmapSlug}/contributors`,
|
contributorsUrl: `/${roadmapSlug}/contributors`,
|
||||||
url: `/${roadmapSlug}`,
|
url: `/${roadmapSlug}`,
|
||||||
path: summaryFilePath,
|
path: roadmapLandingFilePath,
|
||||||
sidebar,
|
sidebar,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
Reference in New Issue
Block a user