本指南为希望为roadmap.sh平台贡献或扩展其功能的开发者提供了重要信息。它概述了本地开发设置、架构、贡献工作流程以及向存储库添加新内容的最佳实践。
有关具体内容指南的信息,请参阅内容指南。
要开始在roadmap.sh存储库上进行本地开发,请按照以下步骤操作
克隆仓库
添加编辑器包并安装依赖项
启动开发服务器
应用程序将在 http://:3000 上提供。
来源: contributing.md129-142 package.json6-9
来源: .github/workflows/deployment.yml astro.config.mjs
roadmap.sh平台由几个相互关联的系统组成
来源: astro.config.mjs package.json33-87
来源: scripts/editor-roadmap-content-json.ts src/components/RoadmapTitleQuestion.tsx
roadmap.sh项目接受各种类型的贡献
来源: contributing.md11-26 .github/ISSUE_TEMPLATE/01-suggest-changes.yml
来源: contributing.md12-26 contributing.md50-60 .github/ISSUE_TEMPLATE/01-suggest-changes.yml
构建过程包括以下几个步骤
生成路线图渲染器
压缩图像(可选)
构建应用程序
来源: scripts/generate-renderer.sh .github/workflows/deployment.yml32-43
来源: .github/workflows/deployment.yml scripts/generate-renderer.sh scripts/editor-roadmap-content-json.ts
添加新路线图的两种主要方法是
对于这两种方法,路线图都将经过审查,如果批准,将集成到平台中。
路线图主题的内容应按照特定指南进行Structuring
每个主题应包括
示例格式
其中 @type@ 是以下之一
@official@@opensource@@article@@course@@podcast@@video@来源: contributing.md50-83 src/data/roadmaps/php/content/reading-files@S9wTlkbv9-R6dohhZ47hs.md scripts/editor-roadmap-content-json.ts99-107
路线图主题的内容文件存储在相应路线图的content目录中
src/data/roadmaps/<roadmap-id>/content/<topic-slug>@<node-id>.md
例如
src/data/roadmaps/php/content/reading-files@S9wTlkbv9-R6dohhZ47hs.md
来源: src/data/roadmaps/php/content/reading-files@S9wTlkbv9-R6dohhZ47hs.md scripts/editor-roadmap-content-json.ts99-107
该存储库包含一些用于开发和维护的实用脚本
| 脚本 | 描述 |
|---|---|
npm run dev | 启动开发服务器 |
npm run build | 为生产构建应用程序 |
npm run generate-renderer | 生成路线图渲染器 |
npm run roadmap-content | 处理路线图内容 |
npm run compress:images | 压缩图像 |
npm run generate:roadmap-content-json | 从路线图内容生成JSON文件 |
来源: package.json6-31
该存储库使用GitHub Actions来自动化多个进程
部署工作流是手动触发的,并执行以下步骤
来源: .github/workflows/deployment.yml
此工作流每周运行一次以升级依赖项
来源: .github/workflows/upgrade-dependencies.yml
此工作流每天运行以刷新路线图内容JSON
来源: .github/workflows/refresh-roadmap-content-json.yml
在贡献 roadmap.sh 时,请遵循以下最佳实践
roadmap.sh 的内容受版权保护。在贡献时,请注意这些许可条款
为了使用灵活性,请联系项目维护者并详细说明您的预期用途。
来源: license
roadmap.sh 仓库通过一些 GitHub 功能进行管理
来源: .github/FUNDING.yml .github/workflows/label-issue.yml code_of_conduct.md
通过遵循此开发者指南,您应该能够设置您的本地开发环境,理解项目架构,并有效地为 roadmap.sh 平台做出贡献。