1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-01-17 14:18:17 +01:00
Kamran Ahmed 5e50ffbc30
feat: add custom renderer for roadmaps (#5691)
* wip

* fix: update packages

* wip

* wip

* feat: editor content generator

* fix: add dimensions

* feat: add renderer

* feat: add progress modal renderer

* Add API design roadmap

* Update API roadmap rendering

* fix: button click

* fix: link item

* feat: render pdf for editor roadmaps

* Add API roadmap

* Fix broken link of full-stack roadmap

* Update content dir

* Fix typos in api roadmap

* Add assets for pdf and svg

* Add content for api roadmap

* Add todo

* fix: close on editor roadmap select

* Update link not working

* Add api roadmap to get-started and roadmaps page

---------

Co-authored-by: Arik Chakma <arikchangma@gmail.com>
2024-05-17 17:28:24 +01:00
..
2024-05-10 21:14:19 +01:00
2024-05-11 11:46:08 +01:00
2023-05-08 22:16:27 +01:00
2023-05-08 22:16:27 +01:00
2024-04-25 18:04:23 +01:00
2023-05-08 22:16:27 +01:00
2023-05-08 22:16:27 +01:00
2024-05-13 01:38:37 +01:00

CLI Tools

A bunch of CLI scripts to make the development easier

roadmap-links.cjs

Generates a list of all the resources links in any roadmap file.

compress-jsons.cjs

Compresses all the JSON files in the public/jsons folder

update-sponsors.cjs

Updates the sponsor ads on each roadmap page with the latest sponsor information in the Excel sheet.

roadmap-content.cjs

Currently, for any new roadmaps that we add, we do create the interactive roadmap but we end up leaving the content empty in the roadmap till we get time to fill it up manually.

This script populates all the content files with some minimal content from OpenAI so that the users visiting the website have something to read in the interactive roadmap till we get time to fill it up manually.

roadmap-dirs.cjs

This command is used to create the content folders and files for the interactivity of the roadmap. You can use the below command to generate the roadmap skeletons inside a roadmap directory:

npm run roadmap-dirs [frontend|backend|devops|...]

For the content skeleton to be generated, we should have proper grouping, and the group names in the project files. You can follow the steps listed below in order to add the meta information to the roadmap.

  • Remove all the groups from the roadmaps through the project editor. Select all and press cmd+shift+g
  • Identify the boxes that should be clickable and group them together with cmd+shift+g
  • Assign the name to the groups.
    • Group names have the format of [sort]-[slug] e.g. 100-internet. Each group name should start with a number starting from 100 which helps with sorting of the directories and the files. Groups at the same level have the sequential sorting information.
    • Each groups children have a separate group and have the name similar to [sort]-[parent-slug]:[child-slug] where sort refers to the sorting of the child-slug and not the parent. Also parent-slug does not need to have the sorting information as a part of slug e.g. if parent was 100-internet the children would be 100-internet:how-does-the-internet-work, 101-internet:what-is-http, 102-internet:browsers.