mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Refs #34140 -- Added configurations to run blacken-docs linter and adjusted docs.
This adds: - GitHub actions, - tox configuration, - pre-commit hook, and - makefile rules to run blacken-docs linter. Co-authored-by: David Smith <smithdc@gmail.com>
This commit is contained in:
@@ -49,6 +49,7 @@ help:
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
@echo " spelling to check for typos in documentation"
|
||||
@echo " black to apply the black formatting to code blocks in documentation"
|
||||
|
||||
|
||||
clean:
|
||||
@@ -165,3 +166,10 @@ spelling:
|
||||
@echo
|
||||
@echo "Check finished. Wrong words can be found in " \
|
||||
"$(BUILDDIR)/spelling/output.txt."
|
||||
|
||||
black:
|
||||
@mkdir -p $(BUILDDIR)/black
|
||||
find -name "*.txt" -not -path "./_build/*" -not -path "./_theme/*" \
|
||||
| xargs blacken-docs --rst-literal-block; echo $$? > "$(BUILDDIR)/black/output.txt"
|
||||
@echo
|
||||
@echo "Code blocks reformatted"
|
||||
|
||||
@@ -291,9 +291,9 @@ All code changes
|
||||
|
||||
* Does the :doc:`coding style
|
||||
</internals/contributing/writing-code/coding-style>` conform to our
|
||||
guidelines? Are there any ``black``, ``flake8``, or ``isort`` errors? You
|
||||
can install the :ref:`pre-commit <coding-style-pre-commit>` hooks to
|
||||
automatically catch these errors.
|
||||
guidelines? Are there any ``black``, ``blacken-docs``, ``flake8``, or
|
||||
``isort`` errors? You can install the :ref:`pre-commit
|
||||
<coding-style-pre-commit>` hooks to automatically catch these errors.
|
||||
* If the change is backwards incompatible in any way, is there a note
|
||||
in the release notes (``docs/releases/A.B.txt``)?
|
||||
* Is Django's test suite passing?
|
||||
|
||||
@@ -69,17 +69,18 @@ command from any place in the Django source tree:
|
||||
$ tox
|
||||
|
||||
By default, ``tox`` runs the test suite with the bundled test settings file for
|
||||
SQLite, ``black``, ``flake8``, ``isort``, and the documentation spelling
|
||||
checker. In addition to the system dependencies noted elsewhere in this
|
||||
documentation, the command ``python3`` must be on your path and linked to the
|
||||
appropriate version of Python. A list of default environments can be seen as
|
||||
follows:
|
||||
SQLite, ``black``, ``blacken-docs``, ``flake8``, ``isort``, and the
|
||||
documentation spelling checker. In addition to the system dependencies noted
|
||||
elsewhere in this documentation, the command ``python3`` must be on your path
|
||||
and linked to the appropriate version of Python. A list of default environments
|
||||
can be seen as follows:
|
||||
|
||||
.. console::
|
||||
|
||||
$ tox -l
|
||||
py3
|
||||
black
|
||||
blacken-docs
|
||||
flake8>=3.7.0
|
||||
docs
|
||||
isort>=5.1.0
|
||||
|
||||
@@ -211,6 +211,9 @@ documentation:
|
||||
"last bit" of that path. So ``:mod:`~django.contrib.auth``` will
|
||||
display a link with the title "auth".
|
||||
|
||||
* All Python code blocks should be formatted using the `blacken-docs`_
|
||||
auto-formatter. This will be run by ``pre-commit`` if that is configured.
|
||||
|
||||
* Use :mod:`~sphinx.ext.intersphinx` to reference Python's and Sphinx'
|
||||
documentation.
|
||||
|
||||
@@ -258,6 +261,13 @@ documentation:
|
||||
also need to define a reference to the documentation for that environment
|
||||
variable using :rst:dir:`.. envvar:: <envvar>`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
All Python code blocks in the Django documentation were reformatted with
|
||||
`blacken-docs`_.
|
||||
|
||||
.. _blacken-docs: https://pypi.org/project/blacken-docs/
|
||||
|
||||
Django-specific markup
|
||||
======================
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ if "%1" == "help" (
|
||||
echo. linkcheck to check all external links for integrity
|
||||
echo. doctest to run all doctests embedded in the documentation if enabled
|
||||
echo. spelling to check for typos in documentation
|
||||
echo. black to apply the black formatting to code blocks in documentation
|
||||
goto end
|
||||
)
|
||||
|
||||
@@ -196,4 +197,12 @@ spelling/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "black" (
|
||||
for /f "usebackq tokens=*" %%i in (`dir *.txt /s /b ^| findstr /v /c:"_build" /c:"_theme"`) do (
|
||||
blacken-docs --rst-literal-block %%i
|
||||
)
|
||||
echo.
|
||||
echo.Code blocks reformatted
|
||||
)
|
||||
|
||||
:end
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
pyenchant
|
||||
Sphinx>=4.5.0
|
||||
sphinxcontrib-spelling
|
||||
blacken-docs
|
||||
|
||||
Reference in New Issue
Block a user