Contributing to rst2html5

Contributions are welcome! So don’t be afraid to contribute with anything that you think will be helpful. Help with maintaining the English documentation are particularly appreciated.

The bugtracker, wiki and Mercurial repository can be found at the rst2html5 projects’s page on BitBucket.

How to contribute

Please, follow the procedure:

  1. Check for the open issues or open a new issue on the BitBucket issue tracker to start a discussion about a feature or a bug.
  2. Fork the rst2html5 project on BitBucket and start making your modifications.
  3. Send a pull request.

Installing OS Packages

You will need:

  1. pip. A tool for installing and managing Python packages.
  2. virtualenvwrapper. A set of extensions to Ian Bicking’s virtualenv tool. Using a virtual environment will make the installation easier, and will help to avoid clutter in your system-wide libraries.
  3. Mercurial. Version control used by rst2html5 project.
sudo apt-get install python-dev python-pip mercurial
sudo pip install virtualenvwrapper

Add these two lines to ~/.bashrc:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

Project Setup

  1. Clone the repository:

    $ hg clone http://www.bitbucket.org/andre_felipe_dias/rst2html5
    $ cd rst2html5
    
  2. Make a new virtual enviroment for development:

    $ mkvirtualenv rst2html5
    
  3. Install project’s requirements:

    $ pip install -r requirements.txt -r dev_test_requirements.txt
    

Now you are ready!

Note

To come back to the virtualenv in another session, use the command workon rst2html5.

Running the test suite

To run the tests, just type the following on a terminal:

$ nosetests

To get a complete test verification, run:

$ tox

The complete tests save some interesting metrics at rst2html5/.tox/metrics/log.

Important

Before sending a patch or a pull request, ensure that all tests pass and there is no flake8 error or warning codes.

Documentation

Contributing to documentation is as simple as editing the specified file in the docs directory. We use restructuredtext markup and Sphinx for building the documentation.

Reporting an issue

Proposals, enhancements, bugs or tasks should be directly reported on BitBucket issue tracker.

If there are issues please let us know so we can improve rst2html5. If you don’t report it, we probably won’t fix it. When creating a bug issue, try to provide the following information at least:

  1. Steps to reproduce the bug
  2. The produced output
  3. The expected output

For proposals or enhancements, you should provide input and output examples. Whenever possible, you should also provide external references to articles or documentation that endorses your request.

While it’s handy to provide useful code snippets in an issue, it is better for you as a developer to submit pull requests. By submitting pull request your contribution to rst2html5 will be recorded by BitBucket.

Contacting the author

rst2html5 is written and maintained by André Felipe Dias. You can reach me at google plus or twitter.