Repository: python-pillow/Pillow

Issue:
Docs: Link to mode explanation
On the crucial references pages, especially http://pillow.readthedocs.org/reference/Image.html, it would be super helpful to link to a definition/explanation and list of values for the **mode** argument that is used for so many of the functions. This is pretty much required reading for every reader, so links would help all readers.  (Note that some functions have a mode argument that refers to file access mode rather than image mode.)



Discussion:
@gwideman Mode is detailed on the [concepts page](http://pillow.readthedocs.org/handbook/concepts.html#mode), but it's a bit buried and links would definitely be helpful.

Would you like to create a pull request?

The docs are all in this repo under https://github.com/python-pillow/Pillow/tree/master/docs and http://pillow.readthedocs.org/ is rebuilt for each commit to master.

Thanks!

One day I will learn the entire procedure of forking the docs, making an edit, committing it, issuing a pull request and so forth. Right now, I don't have time to learn that entire procedure, but I am recording that there is this problem in the docs.

Thanks. 

For reference, you can edit single pages almost as easily as editing a wiki page, it just adds an extra stage so the changes can be reviewed.
1. In your web browser, open the file you want to edit in and click the little pen icon at the top right (near History). 
2. It'll say something about forking the project for you so you can edit. This means it's making your own temporary, personal copy.
3. Make the edit to the document in the webpage, add a brief summary of changes at the bottom, then click "Propose file change".
4. Next it shows another form where you submit your change for review. Again, just enter a brief summary, and mention the #number of any related issues and click "Create pull request".
5. This then makes a "pull request", which is basically just a request for review before it's merged back into the main, master branch. 

If you want you can play around with this at one of GitHub's test repositories: 
https://github.com/octocat/Hello-World


Resolving patch:
diff --git a/PIL/Image.py b/PIL/Image.py
--- a/PIL/Image.py
+++ b/PIL/Image.py
@@ -804,7 +804,7 @@ def convert(self, mode=None, matrix=None, dither=None,
         use other thresholds, use the :py:meth:`~PIL.Image.Image.point`
         method.
 
-        :param mode: The requested mode.
+        :param mode: The requested mode. See: :ref:`concept-modes`.
         :param matrix: An optional conversion matrix.  If given, this
            should be 4- or 16-tuple containing floating point values.
         :param dither: Dithering method, used when converting from
@@ -2007,7 +2007,8 @@ def new(mode, size, color=0):
     """
     Creates a new image with the given mode and size.
 
-    :param mode: The mode to use for the new image.
+    :param mode: The mode to use for the new image. See:
+       :ref:`concept-modes`.
     :param size: A 2-tuple, containing (width, height) in pixels.
     :param color: What color to use for the image.  Default is black.
        If given, this should be a single integer or floating point value
@@ -2047,7 +2048,7 @@ def frombytes(mode, size, data, decoder_name="raw", *args):
     :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load
     it.
 
-    :param mode: The image mode.
+    :param mode: The image mode. See: :ref:`concept-modes`.
     :param size: The image size.
     :param data: A byte buffer containing raw data for the given mode.
     :param decoder_name: What decoder to use.
@@ -2099,7 +2100,7 @@ def frombuffer(mode, size, data, decoder_name="raw", *args):
     issues a warning if you do this; to disable the warning, you should provide
     the full set of parameters.  See below for details.
 
-    :param mode: The image mode.
+    :param mode: The image mode. See: :ref:`concept-modes`.
     :param size: The image size.
     :param data: A bytes or other buffer object containing raw
         data for the given mode.
@@ -2150,7 +2151,8 @@ def fromarray(obj, mode=None):
 
     :param obj: Object with array interface
     :param mode: Mode to use (will be determined from type if None)
-    :returns: An image memory.
+      See: :ref:`concept-modes`.
+    :returns: An image object.
 
     .. versionadded:: 1.1.6
     """
@@ -2367,7 +2369,8 @@ def merge(mode, bands):
     """
     Merge a set of single band images into a new multiband image.
 
-    :param mode: The mode to use for the output image.
+    :param mode: The mode to use for the output image. See:
+        :ref:`concept-modes`.
     :param bands: A sequence containing one single-band image for
         each band in the output image.  All bands must have the
         same size.


Test patch: