本文档为希望为 Markdown Here 项目做出贡献的开发者提供了全面的指导。它涵盖了环境设置、构建过程、测试程序和贡献指南。有关整体系统架构的信息,请参阅核心架构;有关扩展结构详情,请参阅扩展结构。
在为 Markdown Here 贡献代码之前,您需要设置本地开发环境。
克隆仓库:
git clone https://github.com/adam-p/markdown-here.git
cd markdown-here
安装依赖:项目使用 npm 管理依赖。运行
npm install
配置您的浏览器进行测试:
chrome://extensions/,启用“开发者模式”,然后使用“加载已解压的扩展程序”从您的本地 src 目录加载扩展程序。about:debugging,点击“此 Firefox”,然后点击“加载临时附加组件”,并选择您本地 src 目录中的任意文件。来源:Makefile,README.md
Markdown Here 代码库的组织方式旨在支持多种浏览器平台,同时共享核心功能。
来源:系统架构图
Markdown Here 使用构建脚本为不同平台打包扩展程序。
为所有平台构建扩展程序
make build
此命令将
dist/ 目录utils/build.js 中的构建脚本dist/ 目录中为 Chrome、Firefox 和 Thunderbird 创建扩展程序包或者,您可以使用 npm
npm run build
来源:Makefile:12-14
在向 Markdown Here 提交更改之前,测试至关重要。有几种方法可以测试您的更改
make build 构建扩展程序src/ 加载已解压的扩展程序dist/ 安装 .xpi 文件测试时,请确保涵盖以下内容
来源:系统架构图
欢迎并鼓励为 Markdown Here 做出贡献。请遵循以下步骤进行贡献
来源:CLA-individual.md,CLA-entity.md
所有贡献者在接受其贡献之前,都必须签署贡献者许可协议 (CLA)
签署 CLA
/contributors 目录中创建一个以您的 GitHub 用户名命名的文件(例如,contributors/username.md)Markdown Here 在 MIT 许可下获得授权。所有贡献都将在此许可下涵盖。
来源:LICENSE,contributors/adam-p.md,CLA-individual.md,CLA-entity.md
下图说明了 Markdown Here 典型的开发工作流程
此工作流程确保所有贡献在合并到主代码库之前都经过充分测试和审查。
来源:CLA-individual.md,Makefile
在处理国际化 (i18n) 功能时,请遵循以下指南
src/_locales/ 中找到相应的语言文件src/_locales/ 中创建一个包含相应语言代码的新目录en) 目录复制模板文件来源:src/_locales/fr/description.txt,src/_locales/zh_CN/description.txt,src/_locales/ru/description.txt
| 任务 | 命令 | 描述 |
|---|---|---|
| 构建所有扩展程序 | make build | 为所有平台创建扩展程序包 |
| 清理构建产物 | make clean | 删除 dist/ 目录 |
| 完全重建 | make all | 结合清理和构建 |
| 开发构建 | 从 src/ 加载已解压的扩展程序 | 用于开发期间更快的测试 |
来源:Makefile
| 问题 | 解决方案 |
|---|---|
| 构建失败 | 检查 Node.js 版本,更新依赖 |
| 扩展程序无法加载 | 检查浏览器控制台是否存在错误 |
| 更改未显示 | 确保在浏览器中重新加载扩展程序 |
| CLA 验证问题 | 确保您的 CLA 文件遵循确切的格式 |
遵循本开发指南,您将能够有效地为 Markdown Here 项目做出贡献。如果您遇到本文未涵盖的任何问题,请在 GitHub 仓库中提出一个 issue。