summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2025-06-02 08:22:08 +0100
committernessita <124304+nessita@users.noreply.github.com>2025-08-25 10:51:10 -0300
commit43e4d0a1422d87cc804097f7eb127b6ffa07e840 (patch)
tree7a559d75c990963a272c8546022ee4d84924f968 /docs
parentf81e6e3a53ee36e3f730a71aa55a5744982dd016 (diff)
Fixed #36485 -- Added lint-docs check in Tox and GitHub Actions.
The `check` docs target now runs spelling, black, and lint, so all current documentation quality checks can be run with a single command. Also documented the lint-docs check's availability and usage.
Diffstat (limited to 'docs')
-rw-r--r--docs/Makefile2
-rw-r--r--docs/internals/contributing/writing-code/unit-tests.txt11
-rw-r--r--docs/internals/contributing/writing-documentation.txt30
-rw-r--r--docs/make.bat1
-rw-r--r--docs/spelling_wordlist1
5 files changed, 37 insertions, 8 deletions
diff --git a/docs/Makefile b/docs/Makefile
index 78cbccd00e..3545332a40 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -181,6 +181,6 @@ lint:
@echo
@echo "Documentation lint complete."
-check: spelling black
+check: spelling black lint
@echo
@echo "Style and spelling checks completed."
diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt
index 05b2bf09c6..b4bc429af5 100644
--- a/docs/internals/contributing/writing-code/unit-tests.txt
+++ b/docs/internals/contributing/writing-code/unit-tests.txt
@@ -69,11 +69,11 @@ 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``, ``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:
+SQLite, ``black``, ``blacken-docs``, ``flake8``, ``isort``, ``lint-docs`` 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::
@@ -84,6 +84,7 @@ can be seen as follows:
flake8>=3.7.0
docs
isort>=5.1.0
+ lint-docs
Testing other Python versions and database backends
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/docs/internals/contributing/writing-documentation.txt b/docs/internals/contributing/writing-documentation.txt
index ff9bf5da47..42e8aa7a89 100644
--- a/docs/internals/contributing/writing-documentation.txt
+++ b/docs/internals/contributing/writing-documentation.txt
@@ -158,8 +158,9 @@ Documentation quality checks
----------------------------
Several checks help maintain Django's documentation quality, including
-:ref:`spelling <documentation-spelling-check>` and
-:ref:`code block formatting <documentation-code-block-format-check>`.
+:ref:`spelling <documentation-spelling-check>`,
+:ref:`code block formatting <documentation-code-block-format-check>`, and
+:ref:`documentation style <documentation-lint-check>`.
These checks are run automatically in CI and must pass before documentation
changes can be merged. They can also be run locally with a single command:
@@ -215,6 +216,31 @@ installed, run the following command from the ``docs`` directory:
The formatter will report any issues by printing them to the terminal and will
reformat code blocks where possible.
+.. _documentation-lint-check:
+
+Documentation lint check
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Django's documentation is checked for reStructuredText style and formal issues
+using :pypi:`sphinx-lint`. This helps catch problems like stray tabs, trailing
+whitespace, excessive line length, and similar formatting problems.
+
+Once ``sphinx-lint`` is installed, the check can be run with the following
+command from the ``docs`` directory:
+
+.. console::
+
+ $ make lint
+
+The command prints any violations to the terminal in the form
+``path:line: message``. If problems are encountered:
+
+* Read the message and fix the indicated issue (for example, remove trailing
+ whitespace, adjust backticks, or replace tabs with spaces).
+* For long lines consider wrapping text onto new lines or breaking long inline
+ links into named references. The custom line length check should already skip
+ common false positives such as headings, tables and long links.
+
.. _documentation-link-check:
Link check
diff --git a/docs/make.bat b/docs/make.bat
index 27e3c1143d..5c06278972 100644
--- a/docs/make.bat
+++ b/docs/make.bat
@@ -205,6 +205,7 @@ if "%1" == "lint" (
)
if "%1" == "check" (
+ call :run_lint
call :run_black
call :run_spelling
echo.
diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist
index 0923fae08e..864b99f84a 100644
--- a/docs/spelling_wordlist
+++ b/docs/spelling_wordlist
@@ -39,6 +39,7 @@ backport
backported
backports
backtick
+backticks
backtraces
balancer
basename