diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 2596fd135..66298c199 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,3 +1,10 @@ +############ +Contributing +############ + +.. contents:: + :depth: 3 + Thank you! ========== @@ -52,19 +59,19 @@ Programming docs `__. Getting the Source -~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^ The easiest way to get started with the latest beets source is to use `pip `__ to install an “editable” package. This can be done with one command: -:: +.. code-block:: bash $ pip install -e git+https://github.com/beetbox/beets.git#egg=beets Or, equivalently: -:: +.. code-block:: bash $ git clone https://github.com/beetbox/beets.git $ cd beets @@ -80,7 +87,7 @@ package will be installed to your home directory (compare with the output of ``pip install --help``). Code Contribution Ideas -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ - We maintain a set of `issues marked as “bite-sized” `__. @@ -107,7 +114,7 @@ Code Contribution Ideas to, for example, refer to a class name. Your First Contribution ------------------------ +======================= If this is your first time contributing to an open source project, welcome! If you are confused at all about how to contribute or what to @@ -123,7 +130,7 @@ contributing to an open source project, please do not hesitate to ask any questions. How to Submit Your Work ------------------------ +======================= Do you have a great bug fix, new feature, or documentation expansion you’d like to contribute? Follow these steps to create a GitHub pull @@ -160,15 +167,17 @@ section `__ that serves as an introduction to beets’ design. Coding Conventions ------------------- +================== +General +------- There are a few coding conventions we use in beets: - Whenever you access the library database, do so through the provided Library methods or via a Transaction object. Never call ``lib.conn.*`` directly. For example, do this: - :: + .. code-block:: python with g.lib.transaction() as tx: rows = tx.query('SELECT DISTINCT "{0}" FROM "{1}" ORDER BY "{2}"' @@ -179,7 +188,7 @@ There are a few coding conventions we use in beets: query. If you must use lower-level queries into the database, do this: - :: + .. code-block:: python with lib.transaction() as tx: rows = tx.query('SELECT …') @@ -206,6 +215,8 @@ There are a few coding conventions we use in beets: - Exception handlers must use ``except A as B:`` instead of ``except A, B:``. +Style +----- We follow `PEP 8 `__ for style. You can use ``tox -e lint`` to check your code for any style errors. @@ -238,7 +249,7 @@ guidelines to follow: with the ``logging`` module, feed it through this function. Editor Settings ---------------- +^^^^^^^^^^^^^^^ Personally, I work on beets with `vim `__. Here are some ``.vimrc`` lines that might help with PEP 8-compliant Python