开发人员指南

捐款类型

报告bug

请访问https://github.com/django-wiki/django-wiki/issues报告错误。

如果您报告错误,请包括:

  • 您的操作系统名称和版本。

  • 有关本地设置的任何可能有助于故障排除的详细信息。

  • 重现错误的详细步骤。

修复bug

查看GitHub问题中的bug。任何带有“bug”和“Help Wanted”标签的东西都对任何想要实现它的人开放。

机具特性

查看GitHub问题以寻找功能。任何标有“增强”和“需要帮助”的东西都对想要实施它的人开放。

撰写文档

Django-wiki总是可以使用更多文档,无论是作为官方Django-wiki文档的一部分、文档字符串,甚至是网络上的博客文章、文章等。

提交反馈

发送反馈的最佳方法是在https://github.com/django-wiki/django-wiki/issues上提交问题。

如果您提出一个功能:

  • 详细解释它是如何工作的。

  • 保持范围尽可能窄,以使其更容易实施。

  • 请记住,这是一个志愿者驱动的项目,欢迎捐款:)

开始!

准备好贡献了吗?以下是设置方法 django-wiki 为了当地发展。

  1. 用复刻叉 django-wiki GitHub上的回购。

  2. 本地克隆您的复刻::

    $ git clone git@github.com:your_name_here/django-wiki.git
    
  3. 前往您的复刻并安装 hatch 这是我们用来管理django-wiki的工具

  4. 将本地副本安装到新环境中。假设你有 hatch 安装后,这就是您为本地开发设置分叉的方式::

    $ cd django-wiki/
    $ hatch env create
    
  5. 创建一个促进地方发展的分支机构:

    $ git checkout -b name-of-your-bugfix-or-feature
    

    现在您可以在本地进行更改。

  6. 当您进行更改时,您可能需要验证更改是否通过了所有相关功能/单元测试::

    $ hatch run test:all
    
  7. If you made changes related to the style sheets (SCSS), you need to install sassc (sudo apt install sassc) and run this to compile css:

    $ hatch run assets
    
  8. 完成更改后,请使用我们的矩阵执行最后一轮测试,并确保所有受支持的Python版本的相关测试均通过::

    $ hatch run test
    $ hatch run test:all # Runs all tests that pytest would run, just with various Python/Django combinations
    
  9. 提交您的更改并将您的分支推送到GitHub::

    $ git add .
    $ git commit -m "Your detailed description of your changes."
    $ git push origin name-of-your-bugfix-or-feature
    
  10. 通过GitHub网站提交拉取请求。

拉取请求指南

在提交拉取请求之前,请检查其是否符合以下准则:

  1. 拉取请求应包括测试。

  2. 如果拉取请求添加功能,则应更新文档。将您的新功能放入带有文档字符串的函数中,并将该功能添加到README.rst中的列表中。

  3. 拉取请求应该适用于Python 3.6、3.7、3.8和PyPy。检查为您的拉取请求自动生成的状态消息。

提示

要运行测试子集::

$ hatch run test:all tests/core/test_basic.py # All tests from a single file.
$ hatch run test:all tests/core/test_basic.py::URLPathTests # All tests from a single class.
$ hatch run test:all tests/core/test_basic.py::URLPathTests::test_manager # Just one test.

路线图

最好的贡献方式是使用我们的Github问题列表来查看当前的愿望。该列表位于此处:

https://github.com/django-wiki/django-wiki/issues/

如果您想添加功能,请考虑编写一个插件。请创建一个问题来讨论您的插件想法是否是核心插件 (wiki.plugins.* )或外部插件。如果插件API需要添加内容,我们也可以讨论!在Github问题上总是欢迎讨论。

一般来说,我们需要更多 unit tests 以提高覆盖率,未经测试将不会接受新功能。在没有测试的情况下向项目添加更多内容对项目或您的辛勤工作是不公平的。我们使用覆盖率指标来查看每个新贡献不会显着影响测试覆盖率。