diff --git a/doc_src/conf.py b/doc_src/conf.py
index 0ffb72f..16c8213 100644
--- a/doc_src/conf.py
+++ b/doc_src/conf.py
@@ -29,7 +29,7 @@ import categories # noqa
extensions = []
# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
+# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
@@ -95,7 +95,7 @@ pygments_style = 'sphinx'
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
-html_theme = 'default'
+# html_theme = 'alabaster'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
diff --git a/docs/.buildinfo b/docs/.buildinfo
deleted file mode 100644
index 0885fbe..0000000
--- a/docs/.buildinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-# Sphinx build info version 1
-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config:
-tags:
diff --git a/docs/_sources/adding_the_fields.txt b/docs/_sources/adding_the_fields.txt
deleted file mode 100644
index a6a920f..0000000
--- a/docs/_sources/adding_the_fields.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-.. _adding_the_fields:
-
-=================================
-Adding the fields to the database
-=================================
-
-While Django will create the appropriate columns and tables if you configure Django Categories first, many times that is not possible. You could also reset the table, but you would loose all data in it. There is another way.
-
-Enter South
-***********
-
-`South `_ is a Django application for managing database schema changes. South's default behavior is for managing permanent changes to a model's structure. In the case of dynamically adding a field or fields to a model, this doesn't work because you are not making the change permanent. And probably don't want to.
-
-Django Categories has a management command to create any missing fields. It requires South because it uses the South's API for making changes to databases. The management command is simple: ``python manage.py add_category_fields [app]``\ . If you do not include an app name, it will attempt to do all applications configured.
-
-Running this command several times will not hurt any data or cause any errors.
-
-Reconfiguring Fields
-********************
-
-You can make changes to the field configurations as long as they do not change the underlying database structure. For example, adding a ``related_name`` (see :ref:`registering_a_m2one_relationship`\ ) because it only affects Django code. Changing the name of the field, however, is a different matter.
-
-Django Categories provides a complementary management command to drop a field from the database (the field must still be in the configuration to do so): ``python manage.py drop_category_field app_name model_name field_name``
\ No newline at end of file
diff --git a/docs/_sources/custom_categories.txt b/docs/_sources/custom_categories.txt
deleted file mode 100644
index f4ce71e..0000000
--- a/docs/_sources/custom_categories.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-.. _creating_custom_categories:
-
-==========================
-Creating Custom Categories
-==========================
-
-Django Categories isn't just for using a single category model. It allows you to create your own custom category-like models with as little or much customization as you need.
-
-Name only
-=========
-
-For many cases, you want a simple user-managed lookup table. You can do this with just a little bit of code. The resulting model will include name, slug and active fields and a hierarchical admin.
-
-#. Create a model that subclasses :py:class:`CategoryBase`
-
- .. literalinclude:: code_examples/custom_categories1.py
- :linenos:
-
-#. Create a subclass of CategoryBaseAdmin.
-
- .. literalinclude:: code_examples/custom_categories2.py
- :linenos:
-
-#. Register your model and custom model admin class.
-
-Name and other data
-===================
-
-Sometimes you need more functionality, such as extra metadata and custom functions. The :py:class:`Category` model in this package does this.
-
-#. Create a model that subclasses :py:class:`CategoryBase` as above.
-
-#. Add new fields to the model. The :py:class:`Category` model adds these extra fields.
-
- .. literalinclude:: code_examples/custom_categories3.py
- :linenos:
-
-#. Add new methods to the model. For example, the :py:class:`Category` model adds several new methods, including overriding the :py:meth:`save` method.
-
- .. literalinclude:: code_examples/custom_categories4.py
- :linenos:
-
-#. Alter :py:class:`Meta` or :py:class:`MPTTMeta` class. Either of these inner classes can be overridden, however your :py:class:`Meta` class should inherit :py:class:`CategoryBase.Meta`. Options for :py:class:`Meta` are in the `Django-MPTT docs `_.
-
- .. literalinclude:: code_examples/custom_categories5.py
- :linenos:
-
-#. For the admin, you must create a form that subclasses :py:class:`CategoryBaseAdminForm` and at least sets the ``Meta.model`` attribute. You can also alter the form fields and cleaning methods, as :py:class:`Category` does.
-
- .. literalinclude:: code_examples/custom_categories6.py
- :linenos:
-
-#. Next you must subclass :py:class:`CategoryBaseAdmin` and assign the ``form`` attribute the form class created above. You can alter any other attributes as necessary.
-
- .. literalinclude:: code_examples/custom_categories7.py
- :linenos:
diff --git a/docs/_sources/getting_started.txt b/docs/_sources/getting_started.txt
deleted file mode 100644
index 4885628..0000000
--- a/docs/_sources/getting_started.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-===============
-Getting Started
-===============
-
-You can use Django Categories in two ways:
-
-1. As storage for one tree of categories, using the :py:class:`Category` model::
-
- Top Category 1
- Subcategory 1-1
- Subcategory 1-2
- subcategory 1-2-1
- Top Category 2
- Subcategory 2-1
-
-2. As the basis for several custom categories (see :ref:`creating_custom_categories`), e.g. a **MusicGenre** model
-
- ::
-
- MusicGenre 1
- MusicSubGenre 1-1
- MusicSubGenre 1-2
- MusicSubGenre 1-2-1
- MusicGenre 2
- MusicSubGenre 2-1
-
- and a **Subject** model
-
- ::
-
- Subject 1
- Discipline 1-1
- Discipline 1-2
- SubDiscipline 1-2-1
- Subject 2
- Discipline 2-1
-
-
-
-Connecting your model with Django-Categories
-============================================
-
-There are two ways to add Category fields to an application. If you are in control of the code (it's your application) or you are willing to take control of the code (fork someone else's app) you can make a :ref:`hard_coded_connection`\ .
-
-For 3rd-party apps or even your own apps that you don't wish to add Django-Categories as a dependency, you can configure a :ref:`lazy_connection`\ .
-
-.. _hard_coded_connection:
-
-Hard Coded Connection
----------------------
-
-Hard coded connections are done in the exact same way you handle any other foreign key or many-to-many relations to a model.
-
-.. code-block:: python
-
- from django.db import models
-
- class MyModel(models.Model):
- name = models.CharField(max_length=100)
- category = models.ForeignKey('categories.Category')
-
-Don't forget to add the field or fields to your ``ModelAdmin`` class as well.
-
-
-.. _lazy_connection:
-
-Lazy Connection
----------------
-
-Lazy connections are done through configuring Django Categories in the project's ``settings.py`` file. When the project starts up, the configured fields are dynamically added to the configured models and admin.
-
-If you do this before you have created the database (before you ran ``manage.py syncdb``), the fields will also be in the tables. If you do this after you have already created all the tables, you can run ``manage.py add_category_fields`` to create the fields (this requires Django South to be installed).
-
-You add a many-to-one or many-to-many relationship with Django Categories using the :ref:`FK_REGISTRY` and :ref:`M2M_REGISTRY` settings respectively. For more information see :ref:`registering_models`\ .
diff --git a/docs/_sources/index.txt b/docs/_sources/index.txt
deleted file mode 100644
index 33705cd..0000000
--- a/docs/_sources/index.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-=============================
-Django Categories v |version|
-=============================
-
-Django Categories grew out of our need to provide a basic hierarchical taxonomy management system that multiple applications could use independently or in concert.
-
-As a news site, our stories, photos, and other content get divided into "sections" and we wanted all the apps to use the same set of sections. As our needs grew, the Django Categories grew in the functionality it gave to category handling within web pages.
-
-New in 1.1
-==========
-
-* Fixed a cosmetic bug in the Django 1.4 admin. Action checkboxes now only appear once.
-
-* Template tags are refactored to allow easy use of any model derived from ``CategoryBase``.
-
-* Improved test suite.
-
-* Improved some of the documentation.
-
-
-
-Contents
-========
-
-.. toctree::
- :maxdepth: 2
- :glob:
-
- installation
- getting_started
- usage
- registering_models
- adding_the_fields
- custom_categories
- reference/index
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff --git a/docs/_sources/installation.txt b/docs/_sources/installation.txt
deleted file mode 100644
index 1cff18a..0000000
--- a/docs/_sources/installation.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-============
-Installation
-============
-
-To use the Category model
-=========================
-
-1. Install django-categories::
-
- pip install django-categories
-
-2. Add ``"categories"`` and ``"categories.editor"`` to your ``INSTALLED_APPS`` list in your project's ``settings.py`` file.
-
- .. code-block:: python
-
- INSTALLED_APPS = [
- # ...
- "categories",
- "categories.editor",
- ]
-
-3. Run ``./manage.py syncdb`` (or ``./manage.py migrate categories`` if you are using `South `_)
-
-
-To only subclass CategoryBase
-=============================
-
-If you are going to create your own models using :py:class:`CategoryBase`, (see :ref:`creating_custom_categories`) you'll need a few different steps.
-
-1. Install django-categories::
-
- pip install django-categories
-
-2. Add ``"categories.editor"`` to your ``INSTALLED_APPS`` list in your project's ``settings.py`` file.
-
- .. code-block:: python
-
- INSTALLED_APPS = [
- # ...
- "categories.editor",
- ]
-
-3. Create your own models.
diff --git a/docs/_sources/reference/index.txt b/docs/_sources/reference/index.txt
deleted file mode 100644
index 9bca020..0000000
--- a/docs/_sources/reference/index.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-=========
-Reference
-=========
-
-.. toctree::
- :maxdepth: 2
- :glob:
-
- management_commands
- models
- settings
- templatetags
diff --git a/docs/_sources/reference/management_commands.txt b/docs/_sources/reference/management_commands.txt
deleted file mode 100644
index b090695..0000000
--- a/docs/_sources/reference/management_commands.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-.. _management-commands:
-
-===================
-Management Commands
-===================
-
-.. _import_categories:
-
-import_categories
-=================
-
-**Usage:** ``./manage.py import_categories /path/to/file.txt [/path/to/file2.txt]``
-
-Imports category tree(s) from a file. Sub categories must be indented by the same multiple of spaces or tabs. The first line in the file cannot start with a space or tab and you can't mix spaces and tabs.
-
-
-.. _add_category_fields:
-
-add_category_fields
-===================
-
-**Usage:** ``./manage.py add_category_fields [app1 app2 ...]``
-
-Add missing registered category fields to the database table of a specified application or all registered applications.
-
-Requires Django South.
-
-
-.. _drop_category_field:
-
-drop_category_field
-===================
-
-**Usage:** ``./manage.py drop_category_field app_name model_name field_name``
-
-Drop the ``field_name`` field from the ``app_name_model_name`` table, if the field is currently registered in ``CATEGORIES_SETTINGS``\ .
-
-Requires Django South.
\ No newline at end of file
diff --git a/docs/_sources/reference/models.txt b/docs/_sources/reference/models.txt
deleted file mode 100644
index 2ec5444..0000000
--- a/docs/_sources/reference/models.txt
+++ /dev/null
@@ -1,115 +0,0 @@
-======
-Models
-======
-
-CategoryBase
-============
-
-.. py:class:: CategoryBase
-
- .. py:attribute:: parent
-
- :py:class:`TreeForeignKey` ``(self)``
-
- The category's parent category. Leave this blank for an root category.
-
- .. py:attribute:: name
-
- **Required** ``CharField(100)``
-
- The name of the category.
-
- .. py:attribute:: slug
-
- **Required** ``SlugField``
-
- URL-friendly title. It is automatically generated from the title.
-
- .. py:attribute:: active
-
- **Required** ``BooleanField`` *default:* ``True``
-
- Is this item active. If it is inactive, all children are set to inactive as well.
-
- .. py:attribute:: objects
-
- ``CategoryManager``
-
- An object manager that adds an ``active`` method for only selecting items whose ``active`` attribute is ``True``.
-
- .. py:attribute:: tree
-
- ``TreeManager``
-
- A Django-MPTT `TreeManager `_ instance.
-
-Category
-========
-
-.. py:class:: Category
-
- Category is a subclass of :py:class:`CategoryBase` and includes all its attributes.
-
- .. py:attribute:: thumbnail
-
- ``FileField``
-
- An optional thumbnail, that is uploaded to :ref:`thumbnail_upload_path` via :ref:`THUMBNAIL_STORAGE`.
-
- .. note:: Why isn't this an ``ImageField``?
-
- For ``ImageField``\ s, Django checks the file system for the existance of the files to handle the height and width. In many cases this can lead to problems and impact performance.
-
- For these reasons, a ``FileField`` that manually manages the width and height was chosen.
-
- .. py:attribute:: thumbnail_width
-
- ``IntegerField``
-
- The thumbnail width. Automatically set on save if a thumbnail is uploaded.
-
- .. py:attribute:: thumbnail_height
-
- ``IntegerField``
-
- The thumbnail height. Automatically set on save if a thumbnail is uploaded.
-
- .. py:attribute:: order
-
- **Required** ``IntegerField`` *default:* 0
-
- A manually-managed order of this category in the listing. Items with the same order are sorted alphabetically.
-
- .. py:attribute:: alternate_title
-
- ``CharField(100)``
-
- An alternative title to use on pages with this category.
-
- .. py:attribute:: alternate_url
-
- ``CharField(200)``
-
- An alternative URL to use instead of the one derived from the category hierarchy.
-
- .. note:: Why isn't this a ``URLField``?
-
- For ``URLField``\ s, Django checks that the URL includes ``http://`` and the site name. This makes it impossible to use relative URLs in that field.
-
- .. py:attribute:: description
-
- ``TextField``
-
- An optional longer description of the category. Very useful on category landing pages.
-
- .. py:attribute:: meta_keywords
-
- ``CharField(255)``
-
- Comma-separated keywords for search engines.
-
- .. py:attribute:: meta_extra
-
- ``TextField``
-
- (Advanced) Any additional HTML to be placed verbatim in the ```` of the page.
diff --git a/docs/_sources/reference/settings.txt b/docs/_sources/reference/settings.txt
deleted file mode 100644
index 78df52d..0000000
--- a/docs/_sources/reference/settings.txt
+++ /dev/null
@@ -1,121 +0,0 @@
-.. _reference_settings:
-
-========
-Settings
-========
-
-The ``CATEGORIES_SETTINGS`` dictionary is where you can override the default settings. You don't have to include all the settings; only the ones which you want to override.
-
-.. contents::
- :local:
-
-
-The default settings are:
-
-.. code-block:: python
-
- CATEGORIES_SETTINGS = {
- 'ALLOW_SLUG_CHANGE': False,
- 'CACHE_VIEW_LENGTH': 0,
- 'RELATION_MODELS': [],
- 'M2M_REGISTRY': {},
- 'FK_REGISTRY': {},
- 'THUMBNAIL_UPLOAD_PATH': 'uploads/categories/thumbnails',
- 'THUMBNAIL_STORAGE': settings.DEFAULT_FILE_STORAGE,
- 'SLUG_TRANSLITERATOR': lambda x: x,
- }
-
-
-.. _ALLOW_SLUG_CHANGE:
-
-ALLOW_SLUG_CHANGE
-=================
-
-**Default:** ``False``
-
-**Description:** Changing the slug for a category can have serious consequences if it is used as part of a URL. Setting this to ``True`` will allow users to change the slug of a category.
-
-.. _SLUG_TRANSLITERATOR:
-
-SLUG_TRANSLITERATOR
-===================
-
-**Default:** ``lambda x: x``
-
-**Description:** Allows the specification of a function to convert non-ASCII characters in the potential slug to ASCII characters. Allows specifying a ``callable()`` or a string in the form of ``'path.to.module.function'``.
-
-A great tool for this is `Unidecode `_. Use it by setting ``SLUG_TRANSLITERATOR`` to ``'unidecode.unidecode``.
-
-
-.. _CACHE_VIEW_LENGTH:
-
-CACHE_VIEW_LENGTH
-=================
-
-**Default:** ``0``
-
-**Description:** This setting will be deprecated soon, but in the mean time, it allows you to specify the amount of time each view result is cached.
-
-.. _RELATION_MODELS:
-
-RELATION_MODELS
-===============
-
-**Default:** ``[]``
-
-**Description:** Relation models is a set of models that a user can associate with this category. You specify models using ``'app_name.modelname'`` syntax.
-
-.. _M2M_REGISTRY:
-
-M2M_REGISTRY
-============
-
-**Default:** {}
-
-**Description:** A dictionary where the keys are in ``'app_name.model_name'`` syntax, and the values are a string, dict, or tuple of dicts. See :ref:`registering_models`\ .
-
-.. _FK_REGISTRY:
-
-FK_REGISTRY
-============
-
-**Default:** {}
-
-**Description:** A dictionary where the keys are in ``'app_name.model_name'`` syntax, and the values are a string, dict, or tuple of dicts. See :ref:`registering_models`\ .
-
-.. _THUMBNAIL_UPLOAD_PATH:
-
-.. _REGISTER_ADMIN:
-
-REGISTER_ADMIN
-==============
-
-**Default:** ``True``
-
-**Description:** If you write your own category class by subclassing ``CategoryBase`` then you probably have no use for registering the default ``Category`` class in the admin.
-
-
-THUMBNAIL_UPLOAD_PATH
-=====================
-
-**Default:** ``'uploads/categories/thumbnails'``
-
-**Description:** Where thumbnails for the categories will be saved.
-
-.. _THUMBNAIL_STORAGE:
-
-THUMBNAIL_STORAGE
-=================
-
-**Default:** ``settings.DEFAULT_FILE_STORAGE``
-
-**Description:** How to store the thumbnails. Allows for external storage engines like S3.
-
-.. _JAVASCRIPT_URL:
-
-JAVASCRIPT_URL
-==============
-
-**Default:** ``STATIC_URL or MEDIA_URL + 'js/'``
-
-**Description:** Allows for customization of javascript placement.
diff --git a/docs/_sources/reference/templatetags.txt b/docs/_sources/reference/templatetags.txt
deleted file mode 100644
index 9f846fd..0000000
--- a/docs/_sources/reference/templatetags.txt
+++ /dev/null
@@ -1,348 +0,0 @@
-=========================
-Template tags and filters
-=========================
-
-.. contents::
- :depth: 2
- :local:
- :backlinks: top
-
-
-Filters
-=======
-
-
-``category_path``
------------------
-
-**Optional Parameter:** separator string. *Default:* ``" :: "``
-
-Creates a path represented by a categories by joining the items with a separator.
-
-Each path item will be coerced to unicode, so you can pass a list of category instances, if required.
-
-**Example using a list of categories:**
-
-.. code-block:: django
-
- {{ some_list|category_path }}
-
-If ``some_list`` is ``[ , , ]`` the result will be::
-
- Country :: Country pop :: Urban Cowboy
-
-**Example using a category node and optional separator parameter:**
-
-.. code-block:: django
-
- {{ some_node.get_ancestors|category_path:" > " }}
-
-If ``some_node`` was category "Urban Cowboy", the result will be::
-
- Country > Country pop > Urban Cowboy
-
-.. _tree_info:
-
-``tree_info``
--------------
-
-**Optional Parameter:** ``"ancestors"``
-
-Given a list of categories, it iterates over the list, generating a tuple of the current category and a dict containing information about the tree structure around it, with the following keys:
-
-``'new_level'``
- ``True`` if the current item is the start of a new level in the tree, ``False`` otherwise.
-
-``'closed_levels'``
- A list of levels which end after the current item. This will be an empty list if the next category's level is the same as or greater than the level of the current item.
-
-Provide the optional argument, ``"ancestors"``, to add a list of unicode representations of the ancestors of the current category, in descending order (root node first, immediate parent last), under the key 'ancestors'.
-
-For example: given the sample tree below, the contents of the list which would be available under the 'ancestors' key are given on the right::
-
- Country -> []
- Country pop -> [u'Country pop']
- Urban Cowboy -> [u'Country', u'Country pop']
-
-Using this filter with unpacking in a {% for %} tag, you should have enough information about the tree structure to create a hierarchical representation of the tree.
-
-.. code-block:: django
-
- {% for node,structure in objects|tree_info %}
- {% if structure.new_level %}
{% else %}
{% endif %}
- {{ node.name }}
- {% for level in structure.closed_levels %}
{% endfor %}
- {% endfor %}
-
-``tree_queryset``
------------------
-
-Convert a regular category :py:class:`QuerySet` into a new, ordered :py:class:`QuerySet` that includes the categories selected and their ancestors.
-
-This is especially helpful when you have a subset of categories and want to show the hierarchy for all the items.
-
-For example, if we add it to the example for :ref:`tree_info`:
-
-.. code-block:: django
-
- {% for node,structure in objects|tree_queryset|tree_info %}
- {% if structure.new_level %}
{% else %}
{% endif %}
- {{ node.name }}
- {% for level in structure.closed_levels %}
{% endfor %}
- {% endfor %}
-
-A list of unrelated categories such as ``[, ]``, the above template example will output the two categories and their ancestors:
-
-.. code-block:: html
-
-
- Country
-
- Country pop
-
- Urban cowboy
-
-
- Rhythm and blues
-
- Urban contemporary
-
-
-.. note::
- Categories that have similar ancestors are grouped accordingly. There is no duplication of the ancestor tree.
-
-
-Inclusion tags
-==============
-
-``display_path_as_ul``
-----------------------
-
-**Template Rendered:** ``categories/ul_tree.html``
-
-**Syntax 1:** ``{% display_path_as_ul %}``
-
-**Syntax 2:** ``{% display_path_as_ul [ using="app.Model"] %}``
-
-Render the category with ancestors, but no children.
-
-Pass either an object that subclasses :py:class:`CategoryBase` or a path string for the category. Add ``using="app.Model"`` to specify which model when using a path string. The default model used is :py:class:`Category`.
-
-**Example, using Category model:**
-
-.. code-block:: django
-
- {% display_path_as_ul "/Grandparent/Parent" %}
-
-**Example, using custom model:**
-
-.. code-block:: django
-
- {% display_path_as_ul "/Grandparent/Parent" using="coolapp.MusicGenre" %}
-
-**Example, using an object:**
-
-.. code-block:: django
-
- {% display_path_as_ul category_obj %}
-
-Returns:
-
-.. code-block:: html
-
-