.. _dev-contributing: ============== Contributing ============== This covers the basics you need to know for contributing to PyBlosxom. How to clone the project ======================== `PyBlosxom is on GitHub `_. If you have a GitHub account [Recommended] ------------------------------------------- This is the ideal way to contribute because GitHub makes things simple and convenient . Go to the project page (https://github.com/pyblosxom/pyblosxom) and click on "Fork" at the top right on the screen. GitHub will create a copy of the PyBlosxom repository in your account for you to work on. Create a new branch off of master for any new work that you do. When you want to send it upstream, create a pull request. If you need help with this process, `see the GitHub documentation `_. If you don't have a GitHub account ---------------------------------- Clone the project using git:: git clone https://github.com/pyblosxom/pyblosxom.git Set ``user.name`` and ``user.email`` git configuration:: git config user.name "your name" git config user.email "your@email.address" Create a new branch off of master for any new work that you do. When you want to send it upstream, do:: git format-patch --stdout origin/master > NAME_OF_PATCH_FILE.patch where ``NAME_OF_PATCH_FILE`` is a nice name that's short and descriptive of what the patch holds and master should be replaced with your branch name Then attach that ``.patch`` file and send it to pyblosxom-devel mailing list. Code conventions ================ Follow `PEP-8 `_. Tests ===== Please add tests for changes you make. In general, it's best to write a test, verify that it fails, then fix the code which should make the test pass. Tests go in ``Pyblosxom/tests/``. Documentation ============= New features should come with appropriate changes to the documentation. Documentation is in the ``docs/`` directory, written using `restructured text `_, and built with `Sphinx `_.