You also need Haystack for searching within the documentation.
Just use PIP:
$ pip install django-sphinxdoc
If you want the lates development version, isntall it from Bitbucket:
$ pip install https://email@example.com/sscherfke/django-sphinxdoc $ # or $ hg clone ssh://firstname.lastname@example.org/sscherfke/django-sphinxdoc $ pip install -e django-sphinxdoc
'sphinxdoc' to your
INSTALLED_APPS in your
settings.py and add
the following line to your project’s
Install the required database tables with:
$ python manage.py migrate
In order get Haystack working with django-sphinxdoc, you only need to executes the steps under Configuration in the Haystack tutorial (if not already done). You don’t need to create any search indexes, views or templates yourself.
Optional sphinxdoc settings in your
- Sets the length of the cache duration for sphinxdoc pages in minutes. If not set, defaults to 5 minutes. For caching to be active, you must enable Django’s cache framework
- Sets the name of target directory (within the project root) for the sphinx builder and the sphinxdoc updater. If not set, defaults to _build.
- A mapping of project slugs to lists of permissions indicating that users are required to log in and have the list of permissions to view the documented project. An empty list will just require a log in.
Add a project¶
Django-sphinxdoc adds the application Sphinxdoc with the Project and Document models to your admin panel. Create a new project and fill out these fields:
- The name of the documented project
- A sluggified version of the project name; will be generated automatically
- A file system path to the Sphinx project (where Sphinx’
conf.pyis located), e.g.:
Build & import the documentation¶
You need to build JSON files from your documentation and import their content into your site’s database. Django-sphinxdoc provides a management command to help you with that:
$ python manage.py updatedoc -b <project-slug>
Note that the -b option requires Sphinx to be installed. If you wish to build your documentation elsewhere, you can use the same command without the build option to update the database with the pre-built files:
$ python manage.py updatedoc <project-slug>
You can now find the application’s documentation under /docs/<slug>/.