summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2025-06-25 21:40:07 +0100
committerNatalia <124304+nessita@users.noreply.github.com>2025-08-05 12:20:13 -0300
commita9c7d4b703759e9903dd92899dd8ac662007baf3 (patch)
tree843808a338237963f0f8593281e6aff2f481b31e
parent5ad6d43cd9ae05d3575f9e7bb1cb488bce5d905d (diff)
[5.2.x] Refs #36485 -- Grouped docs checks under a unified make check target.
Added a new 'check' rule to the docs Makefile which runs both the black and spelling checks. Backport of 7f9bf357feac06bb34017e1f6c7a7730b1991ede from main.
-rw-r--r--docs/Makefile4
-rw-r--r--docs/internals/contributing/writing-documentation.txt23
-rw-r--r--docs/make.bat28
3 files changed, 47 insertions, 8 deletions
diff --git a/docs/Makefile b/docs/Makefile
index bbdd2bb4c8..9935ad09e5 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -174,3 +174,7 @@ black:
| xargs blacken-docs --rst-literal-block; echo $$? > "$(BUILDDIR)/black/output.txt"
@echo
@echo "Code blocks reformatted"
+
+check: spelling black
+ @echo
+ @echo "Style and spelling checks completed."
diff --git a/docs/internals/contributing/writing-documentation.txt b/docs/internals/contributing/writing-documentation.txt
index f16cdc7cc7..52d543e97b 100644
--- a/docs/internals/contributing/writing-documentation.txt
+++ b/docs/internals/contributing/writing-documentation.txt
@@ -152,10 +152,29 @@ To edit this page, for example, we would edit the file
:source:`docs/internals/contributing/writing-documentation.txt` and rebuild the
HTML with ``make html``.
+.. _documentation-checks:
+
+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>`.
+
+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:
+
+.. console::
+
+ $ make check
+
+This command runs all current checks and will include any new checks added in
+the future.
+
.. _documentation-spelling-check:
Spelling check
---------------
+~~~~~~~~~~~~~~
Before you commit your docs, it's a good idea to run the spelling checker.
You'll need to install :pypi:`sphinxcontrib-spelling` first. Then from the
@@ -180,7 +199,7 @@ one of the following:
.. _documentation-code-block-format-check:
Code block format check
------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
All Python code blocks should be formatted using the :pypi:`blacken-docs`
auto-formatter. This is automatically run by the :ref:`pre-commit hook
diff --git a/docs/make.bat b/docs/make.bat
index 72d71136c2..8376db57f0 100644
--- a/docs/make.bat
+++ b/docs/make.bat
@@ -189,20 +189,36 @@ results in %BUILDDIR%/doctest/output.txt.
)
if "%1" == "spelling" (
- %SPHINXBUILD% -b spelling %ALLSPHINXOPTS% %BUILDDIR%/spelling
- if errorlevel 1 exit /b 1
- echo.
- echo.Check finished. Wrong words can be found in %BUILDDIR%/^
-spelling/output.txt.
+ call :run_spelling
goto end
)
if "%1" == "black" (
+ call :run_black
+ goto end
+)
+
+if "%1" == "check" (
+ call :run_black
+ call :run_spelling
+ echo.
+ echo.All checks completed.
+ goto end
+)
+
+:run_spelling
+ %SPHINXBUILD% -b spelling %ALLSPHINXOPTS% %BUILDDIR%/spelling
+ if errorlevel 1 exit /b 1
+ echo.
+ echo.Check finished. Wrong words can be found in %BUILDDIR%/spelling/output.txt.
+ exit /b
+
+:run_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
-)
+ exit /b
:end