Contributing

You want to contribute to this package? Great!

If you want to contribute to the documentation, you're at the right place. Otherwise, you should have a look at the readme

The documentation is written using mkdocs. So, if you want to just fix a typo for example, you might not need to download everything, just edit the corresponding markdown file (it's really simple), and if you're a bit careful, it should be all right. But as soon as you start making some bigger changes, please do the following to have a preview to know how it's going to look like.

Whichever option you chose, you first need to fork this repo.

Note

You can just raise an issue on the GitHub issue tracker to request a fix in the docs, it's up to you

Install mkdocs

So, you want to make big changes? Or you just want to have the beautiful material theme on your computer 😄

So, here's how to get going:

Note

You'll need Python installed on your system. It works with both 2 and 3.

$ git clone <your_fork>
$ cd FileManager
$ virtualenv venv
$ source venv/bin/activate  # Windows: .\venv\Scripts\activate.bat
$ pip install -r requirements.txt

I don't have pip!

Quickly, pip is a package manager for python. You can install it by saving this script: get-pip.py and running it like so

$ python get-pip.py

I don't have virtualenv!

Well, you can install it by using pip like so:

$ pip install virtualenv

Once you have this installed, you have access to the command mkdocs.

Make your changes!

Now, you need to create a new branch, with the "name" of what your adding. For example:

$ git checkout -b improve-fm-create-explanation

Make your changes. You can preview them in your browser by running:

$ mkdocs serve

Now, commit your changes, and push them. In this case, it'd be:

$ git push origin improve-fm-create-explanation

And then, just send a pull request 😉

Note

If you're creating a new page, you'll need to add it the mkdocs.yml pages object.

pages:
  - pagename: page/path.md

Convention

To keep this doc enjoyable to edit, here are the conventions that it has to respect:

  • keep the line length under 100 chars (\n included). I advice you to add this to your project settings: rulers: [99]. Tables are the only exception. URLs are not, because you can specify them at the bottom of the file — more info
  • prefer files link instead of URL link. You can do this: [my link](relative/path/to/file.md) Mkdocs will convert it to the valid URL for you
  • use !!! block with avidity! Na, not that much, but don't hesitate to use them, it brings rhythm to the doc, which make it more enjoyable to read. — more info
  • use fenced code block: ```more info

Warning

Those convention haven't been respected since the beginning.

{
    "folders":
    [
        {
            "path": "C:\\Users\\math\\AppData\\Roaming\\Sublime Text 3\\Packages\\FileManager",
            "folder_exclude_patterns": [".sublime", "FMCommands", "messages", "send2trash", "site",
                                        "tests"],
            "file_exclude_patterns": ["messages.json", "*.py"]
        }
    ],
    "settings":
    {
        "save_on_focus_lost": false,
        "spell_check": true,
        "rulers": [99]
    }
}