Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time

How to contribute

👋 Hi! Thanks for deciding to contribute! The following document tries to summarize all of the different ways in which you can support the development of my add-ons, be it as an end-user or programmer.

Table of Contents

Supporting my Work directly

Are you eager to contribute, but don't have the ability/time to work on the project yourself? Then please consider supporting my efforts by making a contribution on Ko-fi or becoming a sponsor on Patreon by clicking the buttons below. Each and every contribution is greatly appreciated and will help me maintain and improve Markdown_to_Anki even further.

Reporting a Bug or Suggesting a New Feature

This section guides you through submitting bug reports and feature requests. Following these guidelines helps the community and me to understand your report, reproduce the behavior, and find related reports.

Note: Most of the actions below require that you sign up to GitHub. Registration only takes a moment.

  1. Start by clicking on Markdown_to_Anki issues tab:

  2. Next, please ensure that the bug or suggestion has not been submitted before by performing a cursory search through the existing issues:

  3. If you're unable to find an open issue, click on New Issue to open a new one:

  4. If there are multiple issue types, click Get started next to the type of issue you'd like to open:

  5. Make sure to fill out the provided description template as best as you can, and enter a descriptive title that concisely summarizes the issue.

  6. When you're finished, click Submit new issue.

Contributing to the Codebase

Scope of Changes

Reviewing and testing outside changes takes time. A patch or pull request should therefore be the minimum necessary to address one issue. Please don't make a pull request for a bunch of unrelated changes, as they are likely to be rejected – split them up into separate requests instead.

Small patches that fix a specific problem and don't affect other functionality are more likely to be merged than broader changes that affect many parts of the code. If in doubt, please ask before you begin work on them so your work does not go to waste. The easiest way to get in touch with me is opening an issue in the corresponding repository and, when prompted, selecting the Question option.

Help wanted

If you'd like to contribute but don't know what to work on, please take a look at the issues tab of Markdown_to_Anki on GitHub.

Coding Style Conventions

Overview

  • < 80 column lines
  • succint variable names
  • general adherence to PEP8

Linting

Before submitting your changes, I recommend running them through a linter like flake8. The following command should more or less reflect the coding conventions listed above:

flake8 --ignore=F405,F408,F403,E302,E303,E305,W293,N802,E266,N806,E226,E402 --exclude=forms,resources src

Submitting a Pull Request

  1. Fork the repository and clone it to your local disk

  2. On your local copy of the repository, switch to the main development branch (if not otherwise noted this is the master branch):

     $ cd <repo_name>
     $ git checkout master
    
  3. Create a branch to hold your changes and start making changes. Do not work on the master branch!

      $ git checkout -b my-feature
    
  4. When tracking your changes through commits, please follow these guidelines:

    • Concisely summarize your changes with informative commit messages. For a general guide on writing commit messages please see here.
    • Try to limit your commits to a minimum amount to avoid crowding up the revision history.
    • If you can sensibly group the changes under one commit (i.e. squash them), please do so.
  5. Push your changes to GitHub with

     $ git push -u origin my-feature
    
  6. Create a pull request with your changes

  7. If you are presented with a description template, try to fill it out as best as you can. Otherwise try to succinctly summarize the problem you're addressing and the scope of your changes. Should your PR address an existing issue report, please link to it.

  8. Add a descriptive title that summarizes your changes at a glance.

  9. Submit your pull request for review.

For more information on working with Git and GitHub please see GitHub's help center.