Docs: simplify PyPI links

Use `:pypi:` sphinx-ext-extlink role for links to PyPI,
and add some missing package links.
This commit is contained in:
medmunds
2017-09-08 14:16:09 -07:00
parent 2faa5f96cb
commit 90b9dc6cfa
6 changed files with 15 additions and 14 deletions

View File

@@ -35,7 +35,7 @@ needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.intersphinx']
extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.extlinks']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
@@ -256,6 +256,11 @@ texinfo_documents = [
# How to display URL addresses: 'footnote', 'no', or 'inline'.
# texinfo_show_urls = 'footnote'
# -- Options for extlinks ---------------------------------------------------
extlinks = {
'pypi': ('https://pypi.python.org/pypi/%s', ''),
}
# -- Options for Intersphinx ------------------------------------------------

View File

@@ -20,8 +20,7 @@ transactional email service from MailChimp.
If you are integrating only Mandrill, and not considering one of Anymail's
other ESPs, you might prefer using MailChimp's official
`mandrill <https://pypi.python.org/pypi/mandrill/>`_ python package
instead of Anymail.
:pypi:`mandrill` python package instead of Anymail.
Settings

View File

@@ -4,16 +4,15 @@ SparkPost
=========
Anymail integrates with the `SparkPost`_ email service, using their
`python-sparkpost`_ API client.
:pypi:`python-sparkpost` API client.
.. _SparkPost: https://www.sparkpost.com/
.. _python-sparkpost: https://pypi.python.org/pypi/sparkpost
Installation
------------
You must ensure the `sparkpost` package is installed to use Anymail's SparkPost
You must ensure the :pypi:`sparkpost` package is installed to use Anymail's SparkPost
backend. Either include the "sparkpost" option when you install Anymail:
.. code-block:: console

View File

@@ -468,7 +468,7 @@ AnymailMessageMixin
Mixin class that adds Anymail's ESP extra attributes and convenience methods
to other :class:`~django.core.mail.EmailMessage` subclasses.
For example, with the `django-mail-templated`_ package's custom EmailMessage:
For example, with the :pypi:`django-mail-templated` package's custom EmailMessage:
.. code-block:: python
@@ -489,6 +489,3 @@ AnymailMessageMixin
)
msg.context = {"order_num": "12345"} # Mail-Templated attribute
msg.tags = ["templated"] # Anymail attribute
.. _django-mail-templated: https://pypi.python.org/pypi/django-mail-templated

View File

@@ -16,7 +16,7 @@ Anymail supports most of the functionality of Django's :class:`~django.core.mail
and :class:`~django.core.mail.EmailMultiAlternatives` classes.
Anymail handles **all** outgoing email sent through Django's
:mod:`django.core.mail` package, including :func:`~django.core.mail.send_mail`,
:mod:`django.core.mail` module, including :func:`~django.core.mail.send_mail`,
:func:`~django.core.mail.send_mass_mail`, the :class:`~django.core.mail.EmailMessage` class,
and even :func:`~django.core.mail.mail_admins`.
If you'd like to selectively send only some messages through Anymail,

View File

@@ -50,6 +50,7 @@ in Django:
.. TODO: flesh this out
* django-templated-mail, django-mail-templated, django-mail-templated-simple
* Premailer, for inlining css
* BeautifulSoup, lxml, or html2text, for auto-generating plaintext from your html
* :pypi:`django-templated-mail`, :pypi:`django-mail-templated`, or :pypi:`django-mail-templated-simple`
for building messages from sets of Django templates.
* :pypi:`premailer` for inlining css before sending
* :pypi:`BeautifulSoup`, :pypi:`lxml`, or :pypi:`html2text` for auto-generating plaintext from your html