贡献芒果工具箱
我们欢迎任何人向工具箱提交贡献,无论是文档更新、错误修复还是仅提交issue。
项目结构
芒果工具箱的当前版本于GitHub仓库开源,仓库目前拥有master
、dev
和gh-pages
三个分支。
准备贡献时,你应该基于dev
分支的目前状况进行贡献,因为dev
分支总是拥有比master
分支更新的commit,包含了新版本中已经在开发或已经开发完成的新的特性与错误修复。
每当一个新的版本发布时,master
分支会与dev
分支同步,然后分发一个新的工具箱版本。这意味着master
分支总是可用的正式版本的代码,而dev
分支是实验性的代码。
gh-pages
分支是基于 MkDocs 的工具箱文档静态站点,已经停止维护,曾经由MkDocs
自动生成并部署。
综上所述,你应该基于dev
分支的目前状况进行贡献。
从源码运行工具箱
在 PySide6 的基础上,工具箱还使用了 QFluentWidgets 与 QFluentWidgets Pro,后者需要许可证才能使用其中的组件。不过没关系,工具箱的本体尽可能避免了使用 Pro 组件,您可以使用测试模式启动项目来直接启动工具箱本体。
调试模式
查阅仓库中的 FanWeather.py
,只要你会一点点 Python,就可以知道如何在测试模式下启动项目啦。
调试模式下,工具箱会跳过登录窗口而直接显示主窗口,用户的身份是一个「测试用户(Test User)」。在未来的用户系统的进一步更新中,测试模式也将无法使用任何在线用户系统有关的功能。
工具箱的主窗口目前没有使用 Pro 组件,因此可以在测试模式下正常使用;但是,许多工具使用了 Pro 组件,启动它们将会导致进程立刻结束。
您可以在您的 IDE 中专门配置一个运行配置来区分测试模式与普通模式。
测试模式避免了强制要求提供许可证的过程,但您依然可以通过环境变量的方式引入 Pro 许可证,从而运行使用了 Pro 许可证的工具。请参阅 FanWeather.py
的代码来了解。
普通模式
在 FanWeather.py
中查看可知,普通模式需要导入 main.py
,但仓库中并没有这个东西。
所以普通模式就挂了,用调试模式吧()
代码要求
你正在考虑写谁的代码?
这里的代码要求,是针对你想要为工具箱本体贡献代码,而不是你想要写一个工具!
写个工具而已需要什么代码要求?只要有个工具的结构,随便写写不也就行了嘛真的是QwQ
我们对代码风格不做严格限制,最好能够遵循PEP8(Python风格指南),且避免出现拼音命名等让人忍俊不禁的情况。
然后是一些细节:如果你为工具箱本体添加了新的模块、特性等,请记得多多记录日志,参见这里来查看工具箱对日志等级的规定。