summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2019-03-28 20:32:17 -0400
committerGitHub <noreply@github.com>2019-03-28 20:32:17 -0400
commita68c029e224cebe540da7447dbbd27993b4aa793 (patch)
tree37f01cfc4eace55401c768fd35c506669b7b83b0 /docs
parent8e675e2bd8366adf5d0b579accfef75a7b1bc3bf (diff)
Used extlinks for Django's source code.
Diffstat (limited to 'docs')
-rw-r--r--docs/conf.py2
-rw-r--r--docs/faq/general.txt17
-rw-r--r--docs/intro/whatsnext.txt6
-rw-r--r--docs/ref/contrib/flatpages.txt4
-rw-r--r--docs/ref/contrib/gis/db-api.txt6
-rw-r--r--docs/ref/contrib/redirects.txt6
-rw-r--r--docs/ref/contrib/syndication.txt4
-rw-r--r--docs/ref/django-admin.txt17
-rw-r--r--docs/ref/settings.txt10
-rw-r--r--docs/ref/templates/api.txt5
-rw-r--r--docs/topics/auth/customizing.txt6
-rw-r--r--docs/topics/db/queries.txt6
12 files changed, 31 insertions, 58 deletions
diff --git a/docs/conf.py b/docs/conf.py
index 7df6c853c9..625c383965 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -46,6 +46,8 @@ extensions = [
extlinks = {
'commit': ('https://github.com/django/django/commit/%s', ''),
'cve': ('https://nvd.nist.gov/view/vuln/detail?vulnId=%s', 'CVE-'),
+ # A file or directory. GitHub redirects from blob to tree if needed.
+ 'source': ('https://github.com/django/django/blob/master/%s', ''),
'ticket': ('https://code.djangoproject.com/ticket/%s', '#'),
}
diff --git a/docs/faq/general.txt b/docs/faq/general.txt
index 2d01d337f1..9dc4d1b0d4 100644
--- a/docs/faq/general.txt
+++ b/docs/faq/general.txt
@@ -74,17 +74,16 @@ newspaper in Lawrence, Kansas, USA. Django's now run by an international
How is Django licensed?
=======================
-Django is distributed under `the 3-clause BSD license
-<https://github.com/django/django/blob/master/LICENSE>`_. This is an open
-source license granting broad permissions to modify and redistribute Django.
+Django is distributed under :source:`the 3-clause BSD license <LICENSE>`. This
+is an open source license granting broad permissions to modify and redistribute
+Django.
Why does Django include Python's license file?
==============================================
Django includes code from the Python standard library. Python is distributed
-under a permissive open source license. `A copy of the Python license
-<https://github.com/django/django/blob/master/LICENSE.python>`_ is
-included with Django for compliance with Python's terms.
+under a permissive open source license. :source:`A copy of the Python license
+<LICENSE.python>` is included with Django for compliance with Python's terms.
Which sites use Django?
=======================
@@ -183,15 +182,13 @@ The Django docs are available in the ``docs`` directory of each Django tarball
release. These docs are in reST (reStructuredText) format, and each text file
corresponds to a Web page on the official Django site.
-Because the documentation is `stored in revision control`_, you can browse
-documentation changes just like you can browse code changes.
+Because the documentation is :source:`stored in revision control <docs>`, you
+can browse documentation changes just like you can browse code changes.
Technically, the docs on Django's site are generated from the latest development
versions of those reST documents, so the docs on the Django site may offer more
information than the docs that come with the latest Django release.
-.. _stored in revision control: https://github.com/django/django/tree/master/docs/
-
How do I cite Django?
=====================
diff --git a/docs/intro/whatsnext.txt b/docs/intro/whatsnext.txt
index 499376d1a3..718be49669 100644
--- a/docs/intro/whatsnext.txt
+++ b/docs/intro/whatsnext.txt
@@ -97,10 +97,8 @@ reasons:
Django APIs or behaviors change.
Django's documentation is kept in the same source control system as its code. It
-lives in the `docs`_ directory of our Git repository. Each document online is a
-separate text file in the repository.
-
-.. _docs: https://github.com/django/django/tree/master/docs
+lives in the :source:`docs` directory of our Git repository. Each document
+online is a separate text file in the repository.
Where to get it
===============
diff --git a/docs/ref/contrib/flatpages.txt b/docs/ref/contrib/flatpages.txt
index dfffb61ec6..f9126cc9e2 100644
--- a/docs/ref/contrib/flatpages.txt
+++ b/docs/ref/contrib/flatpages.txt
@@ -213,11 +213,9 @@ Via the Python API
Flatpages are represented by a standard
:doc:`Django model </topics/db/models>`,
- which lives in `django/contrib/flatpages/models.py`_. You can access
+ which lives in :source:`django/contrib/flatpages/models.py`. You can access
flatpage objects via the :doc:`Django database API </topics/db/queries>`.
-.. _django/contrib/flatpages/models.py: https://github.com/django/django/blob/master/django/contrib/flatpages/models.py
-
.. currentmodule:: django.contrib.flatpages
.. admonition:: Check for duplicate flatpage URLs.
diff --git a/docs/ref/contrib/gis/db-api.txt b/docs/ref/contrib/gis/db-api.txt
index 1520f06d37..a8a257aa88 100644
--- a/docs/ref/contrib/gis/db-api.txt
+++ b/docs/ref/contrib/gis/db-api.txt
@@ -262,8 +262,8 @@ to be in the units of the field.
in your field definition.
For example, let's say we have a ``SouthTexasCity`` model (from the
-`GeoDjango distance tests`__ ) on a *projected* coordinate system valid for cities
-in southern Texas::
+:source:`GeoDjango distance tests <tests/gis_tests/distapp/models.py>` ) on a
+*projected* coordinate system valid for cities in southern Texas::
from django.contrib.gis.db import models
@@ -297,8 +297,6 @@ both. To specify the band index of a raster input on the right hand side, a
Where the band with index 2 (the third band) of the raster ``rst`` would be
used for the lookup.
-__ https://github.com/django/django/blob/master/tests/gis_tests/distapp/models.py
-
.. _compatibility-table:
Compatibility Tables
diff --git a/docs/ref/contrib/redirects.txt b/docs/ref/contrib/redirects.txt
index 15417d6f30..a37aee8711 100644
--- a/docs/ref/contrib/redirects.txt
+++ b/docs/ref/contrib/redirects.txt
@@ -72,10 +72,8 @@ Via the Python API
.. class:: models.Redirect
Redirects are represented by a standard :doc:`Django model </topics/db/models>`,
- which lives in `django/contrib/redirects/models.py`_. You can access redirect
- objects via the :doc:`Django database API </topics/db/queries>`.
-
-.. _django/contrib/redirects/models.py: https://github.com/django/django/blob/master/django/contrib/redirects/models.py
+ which lives in :source:`django/contrib/redirects/models.py`. You can access
+ redirect objects via the :doc:`Django database API </topics/db/queries>`.
Middleware
==========
diff --git a/docs/ref/contrib/syndication.txt b/docs/ref/contrib/syndication.txt
index ab3fcba5d4..d79db5a94a 100644
--- a/docs/ref/contrib/syndication.txt
+++ b/docs/ref/contrib/syndication.txt
@@ -892,7 +892,7 @@ The low-level framework
Behind the scenes, the high-level RSS framework uses a lower-level framework
for generating feeds' XML. This framework lives in a single module:
-`django/utils/feedgenerator.py`_.
+:source:`django/utils/feedgenerator.py`.
You use this framework on your own, for lower-level feed generation. You can
also create custom feed generator subclasses for use with the ``feed_type``
@@ -1006,8 +1006,6 @@ For example, to create an Atom 1.0 feed and print it to standard output::
...
</feed>
-.. _django/utils/feedgenerator.py: https://github.com/django/django/blob/master/django/utils/feedgenerator.py
-
.. currentmodule:: django.contrib.syndication
Custom feed generators
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
index d52e827f18..41f5eefea5 100644
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -1199,10 +1199,9 @@ Generate squashed migration file without Django version and timestamp header.
Creates a Django app directory structure for the given app name in the current
directory or the given destination.
-By default the directory created contains a ``models.py`` file and other app
-template files. (See the `source`_ for more details.) If only the app
-name is given, the app directory will be created in the current working
-directory.
+By default, :source:`the new directory <django/conf/app_template>` contains a
+``models.py`` file and other app template files. If only the app name is given,
+the app directory will be created in the current working directory.
If the optional destination is provided, Django will use that existing
directory rather than creating a new one. You can use '.' to denote the current
@@ -1274,8 +1273,6 @@ files is:
byte-compile invalid ``*.py`` files, template files ending with ``.py-tpl``
will be renamed to ``.py``.
-.. _source: https://github.com/django/django/tree/master/django/conf/app_template/
-
``startproject``
----------------
@@ -1284,9 +1281,9 @@ files is:
Creates a Django project directory structure for the given project name in
the current directory or the given destination.
-By default, the new directory contains ``manage.py`` and a project package
-(containing a ``settings.py`` and other files). See the `template source`_ for
-details.
+By default, :source:`the new directory <django/conf/project_template>` contains
+``manage.py`` and a project package (containing a ``settings.py`` and other
+files).
If only the project name is given, both the project directory and project
package will be named ``<projectname>`` and the project directory
@@ -1329,8 +1326,6 @@ The :class:`template context <django.template.Context>` used is:
Please also see the :ref:`rendering warning <render_warning>` as mentioned
for :djadmin:`startapp`.
-.. _`template source`: https://github.com/django/django/tree/master/django/conf/project_template/
-
``test``
--------
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index 1ddfc66603..0eb5bed1fc 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -1158,8 +1158,6 @@ requests being returned as "Bad Request (400)".
The default :file:`settings.py` file created by :djadmin:`django-admin
startproject <startproject>` sets ``DEBUG = True`` for convenience.
-.. _django/views/debug.py: https://github.com/django/django/blob/master/django/views/debug.py
-
.. setting:: DEBUG_PROPAGATE_EXCEPTIONS
``DEBUG_PROPAGATE_EXCEPTIONS``
@@ -1810,9 +1808,7 @@ deletes the one.
Default: A list of all available languages. This list is continually growing
and including a copy here would inevitably become rapidly out of date. You can
see the current list of translated languages by looking in
-``django/conf/global_settings.py`` (or view the `online source`_).
-
-.. _online source: https://github.com/django/django/blob/master/django/conf/global_settings.py
+:source:`django/conf/global_settings.py`.
The list is a list of two-tuples in the format
(:term:`language code<language code>`, ``language name``) -- for example,
@@ -1891,9 +1887,7 @@ errors to an email log handler when :setting:`DEBUG` is ``False``. See also
:ref:`configuring-logging`.
You can see the default logging configuration by looking in
-``django/utils/log.py`` (or view the `online source`__).
-
-__ https://github.com/django/django/blob/master/django/utils/log.py
+:source:`django/utils/log.py`.
.. setting:: LOGGING_CONFIG
diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt
index 5bd55cff65..86ef097749 100644
--- a/docs/ref/templates/api.txt
+++ b/docs/ref/templates/api.txt
@@ -1026,9 +1026,8 @@ Loader methods
.. admonition:: Building your own
- For examples, `read the source code for Django's built-in loaders`_.
-
-.. _read the source code for Django's built-in loaders: https://github.com/django/django/tree/master/django/template/loaders
+ For examples, read the :source:`source code for Django's built-in loaders
+ <django/template/loaders>`.
.. currentmodule:: django.template.base
diff --git a/docs/topics/auth/customizing.txt b/docs/topics/auth/customizing.txt
index cc0c791f59..87988873a4 100644
--- a/docs/topics/auth/customizing.txt
+++ b/docs/topics/auth/customizing.txt
@@ -204,14 +204,12 @@ Notice that in addition to the same arguments given to the associated
all take the user object, which may be an anonymous user, as an argument.
A full authorization implementation can be found in the ``ModelBackend`` class
-in `django/contrib/auth/backends.py`_, which is the default backend and queries
-the ``auth_permission`` table most of the time. If you wish to provide
+in :source:`django/contrib/auth/backends.py`, which is the default backend and
+queries the ``auth_permission`` table most of the time. If you wish to provide
custom behavior for only part of the backend API, you can take advantage of
Python inheritance and subclass ``ModelBackend`` instead of implementing the
complete API in a custom backend.
-.. _django/contrib/auth/backends.py: https://github.com/django/django/blob/master/django/contrib/auth/backends.py
-
.. _anonymous_auth:
Authorization for anonymous users
diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt
index bb8b755297..bcdaaea359 100644
--- a/docs/topics/db/queries.txt
+++ b/docs/topics/db/queries.txt
@@ -867,10 +867,8 @@ precede the definition of any keyword arguments. For example::
.. seealso::
- The `OR lookups examples`_ in the Django unit tests show some possible uses
- of ``Q``.
-
- .. _OR lookups examples: https://github.com/django/django/blob/master/tests/or_lookups/tests.py
+ The :source:`OR lookups examples <tests/or_lookups/tests.py>` in Django's
+ unit tests show some possible uses of ``Q``.
Comparing objects
=================