感谢您考虑为 LVGL 做贡献。如果您有一些闲暇时间可以用来编程,您一定能找到改进 LVGL 的方法。不要害怕迈出第一步!无论性别、年龄、肤色、地区或技能水平如何,每个人都受欢迎。所以不要害羞,从下面的列表中选择一个您感兴趣的方向,让我们开始吧!
概述#
有很多方式可以加入社区。如果您有时间与我们一起工作,您一定会找到适合您的方式!您可以:
- 在论坛中帮助他人。
- 在论坛的我的项目类别中分享您的项目来激励他人。
- **改进和/或翻译文档。**访问文档仓库了解更多信息。
- 撰写博客文章分享您的经验。在博客仓库中查看如何操作。
- 在 GitHub 的问题跟踪器中报告和/或修复错误。
- **帮助开发。**查看开放的问题,特别是带有需要帮助标签的问题,分享您对某个主题的想法或实现功能。
我们有一些简单的规则:
- 友善和友好。
- 在一个问题/主题中只讨论一件事。
- 如果您的问题得到了答案,请给出反馈并关闭问题或将主题标记为已解决。
- 说明您遇到的情况或期望的结果。*"按钮不工作"*这样的信息不足以获得帮助。
- 使用 Markdown 格式化您的帖子。
- 我们使用论坛来提问和回答问题,使用 GitHub 的问题跟踪器进行开发相关的讨论。
- 如果可能,请提供一个绝对最小化的代码示例来重现问题。
如何发送拉取请求?#
将新代码合并到 LVGL、文档、博客和示例是通过 Pull Request 完成的。如果您还不熟悉 Pull Request(简称 PR),这里有一个简短的指南。虽然这里以 lvgl 仓库为例,但其他仓库的操作方式也是一样的。
- Fork lvgl 仓库。点击右上角的 "Fork" 按钮即可。这将把
lvgl仓库 "复制" 到您的 GitHub 账户(https://github.com/your_name?tab=repositories)。 - Clone 分叉的仓库并添加您的更改。
- 在您的
lvgl仓库页面(https://github.com/your_name/lvgl)上点击 "New pull request" 按钮来创建 PR。 - 设置基础分支。这意味着您想要将更新合并到哪里。修复提交到
master,新功能提交到功能分支。 - 描述更新的内容。如果适用,欢迎提供示例代码。
- 用新的提交更新您的
lvgl分支。这些提交也会出现在 PR 中。
一些建议:
- 对于重要的修复和功能,最好先开一个问题来讨论细节。
- 也许您的修复或更新一开始不会很完美。不要害怕,只需改进它并推送新的提交。PR 会相应地更新。
- 如果您的更新需要一些额外的工作,可以说:"我现在很忙,很快会改进它"或"抱歉,我没有时间改进它,希望它以这种形式也能有所帮助"。所以说明您没有时间继续比什么都不说要好。
- 请阅读并遵循这个关于代码风格的指南。
在论坛帮助他人#
如果您已经在使用这个库,在论坛帮助他人是一个很好的贡献方式。只需访问 https://forum.lvgl.io/ 并注册(也支持 Google 和 GitHub 登录)。登录后,阅读标题,如果您对某个主题已经很熟悉,不要害羞,写下您的建议。
改进或翻译文档#
如果您想为 LVGL 做贡献,文档是最好的起点。
修复错别字,添加缺失的部分#
如果您在英文文档中发现了错别字、晦涩的句子或解释不够清楚的内容,请点击右上角的 "Edit on GitHub" 按钮,通过发送 Pull Request 来修复问题。
翻译文档#
如果您有时间和兴趣,可以将文档翻译成您的母语或任何您精通的语言。您可以加入他人一起为已有的语言工作,或者开始一门新的语言。
我们使用 Zanata 来翻译文档,这是一个在线翻译平台。您可以在这里找到 LVGL 项目:LVGL on Zanata
开始之前您需要:
请注意,只有翻译了以下部分,该翻译才会被添加到文档中:
撰写博客文章#
您是否将 LVGL 移植到了新平台或创建了精美的 GUI?您是否知道一个很棒的技巧?您可以在 LVGL 的博客上分享您的知识!添加您自己的文章非常简单:
- Fork 并 clone 博客仓库。
- 将您的文章以 Markdown 格式添加到
_posts文件夹。 - 将图片和其他资源存储在
assets中的专用文件夹中。 - 创建一个 Pull Request。
博客使用 Jekyll 将 .md 文件转换为网页。您可以轻松地离线运行 Jekyll 来在创建 Pull Request 之前检查您的文章。
报告或修复错误#
对于简单的错误修复(错别字、缺少错误处理、修复警告),可以直接发送 Pull Request。但是,对于更复杂的错误,最好先开一个问题。在问题中,您应该描述如何重现错误并添加最小化的代码片段。
建议或实现新功能#
如果您有好的想法,请不要犹豫与我们分享。如果您有时间处理其实现就更好了。如果您对 LVGL 还不够了解,不要害怕。我们会帮助您开始。
要分享您的想法,请使用论坛的功能请求类别。
如果您准备好参与该功能的开发,请随时在 GitHub 上为其开一个新问题。
在实现过程中,不要忘记代码风格指南。
如果您实现了一个新功能,在文档中记录它非常重要,如果适用,还要为其创建一个示例:
总结#
我希望您已经喜欢上为 LVGL 做贡献。一个乐于助人且友好的社区正在等待您!
