diff --git a/.flake8 b/.flake8 index 0f41face227..e01c0e5c803 100644 --- a/.flake8 +++ b/.flake8 @@ -29,4 +29,3 @@ exclude = doc/usage/extensions/example*.py, per-file-ignores = tests/*: E501 - sphinx/util/jsdump.py: SIM905 diff --git a/.github/workflows/builddoc.yml b/.github/workflows/builddoc.yml index bcf6e91d80a..83186ad4343 100644 --- a/.github/workflows/builddoc.yml +++ b/.github/workflows/builddoc.yml @@ -1,14 +1,20 @@ -name: Build document +name: Render documentation -on: [push, pull_request] +on: + push: + pull_request: + workflow_dispatch: permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true +env: + FORCE_COLOR: "1" + jobs: build: runs-on: ubuntu-latest @@ -27,11 +33,11 @@ jobs: python -m pip install .[docs] - name: Render the documentation run: > - python - -X dev - -X warn_default_encoding - -m sphinx + sphinx-build -M html ./doc ./build/sphinx + -T -W + --jobs=auto -n + -vvv --keep-going diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 12ac825fb71..27971612f11 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -4,20 +4,87 @@ on: push: tags: - "v*.*.*" + workflow_dispatch: permissions: contents: read jobs: - create-release: + publish-pypi: + runs-on: ubuntu-latest + name: PyPI Release + environment: release permissions: - contents: write # for softprops/action-gh-release to create GitHub release + id-token: write # for PyPI trusted publishing + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3 + cache: pip + cache-dependency-path: pyproject.toml + + - name: Install build dependencies (pypa/build, twine) + run: | + pip install -U pip + pip install build twine + + - name: Build distribution + run: python -m build + + - name: Mint PyPI API token + id: mint-token + uses: actions/github-script@v6 + with: + # language=JavaScript + script: | + // retrieve the ambient OIDC token + const oidc_request_token = process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN; + const oidc_request_url = process.env.ACTIONS_ID_TOKEN_REQUEST_URL; + const oidc_resp = await fetch(`${oidc_request_url}&audience=pypi`, { + headers: {Authorization: `bearer ${oidc_request_token}`}, + }); + const oidc_token = (await oidc_resp.json()).value; + + // exchange the OIDC token for an API token + const mint_resp = await fetch('https://pypi.org/_/oidc/github/mint-token', { + method: 'post', + body: `{"token": "${oidc_token}"}` , + headers: {'Content-Type': 'application/json'}, + }); + const api_token = (await mint_resp.json()).token; + + // mask the newly minted API token, so that we don't accidentally leak it + core.setSecret(api_token) + core.setOutput('api-token', api_token) + + - name: Upload to PyPI + env: + TWINE_NON_INTERACTIVE: "true" + TWINE_USERNAME: "__token__" + TWINE_PASSWORD: "${{ steps.mint-token.outputs.api-token }}" + run: | + twine check dist/* + twine upload dist/* + + github-release: runs-on: ubuntu-latest + name: GitHub release + environment: release + permissions: + contents: write # for softprops/action-gh-release to create GitHub release steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Release + - uses: actions/checkout@v3 + - name: Get release version + id: get_version + uses: actions/github-script@v6 + with: + script: core.setOutput('version', context.ref.replace("refs/tags/v", "")) + + - name: Create GitHub release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: + name: "Sphinx ${{ steps.get_version.outputs.version }}" body: "Changelog: https://www.sphinx-doc.org/en/master/changes.html" diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index 857a6ede8fd..1eaeccaa99a 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -6,7 +6,7 @@ permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fb23ae1a927..963906e822c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,7 +6,7 @@ permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8db64c118d0..723aa472014 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,14 +6,14 @@ permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: FORCE_COLOR: "1" PYTHONDEVMODE: "1" # -X dev PYTHONWARNDEFAULTENCODING: "1" # -X warn_default_encoding - PYTHONWARNINGS: "error,always:unclosed:ResourceWarning::" # default: all warnings as errors, except ResourceWarnings about unclosed items + PYTHONWARNINGS: "error" # default: all warnings as errors jobs: ubuntu: @@ -23,14 +23,15 @@ jobs: fail-fast: false matrix: python: - - "3.8" - "3.9" - "3.10" - "3.11" - "3.12-dev" + - "3.13-dev" docutils: - "0.18" - "0.19" + - "0.20" steps: - uses: actions/checkout@v3 @@ -57,13 +58,7 @@ jobs: env: PYTHONWARNINGS: "" - name: Install Docutils ${{ matrix.docutils }} - run: python -m pip install --upgrade "docutils==${{ matrix.docutils }}.*" - if: "!endsWith(matrix.python, '-dev')" - env: - PYTHONWARNINGS: "error,default:pkg_resources is deprecated:DeprecationWarning::,default:Deprecated call to `pkg_resources.declare_namespace:DeprecationWarning::" - - name: Install Docutils ${{ matrix.docutils }} (ignore warnings) - run: python -m pip install --upgrade "docutils==${{ matrix.docutils }}.*" - if: "endsWith(matrix.python, '-dev')" + run: python -m pip install --upgrade "docutils~=${{ matrix.docutils }}.0" env: PYTHONWARNINGS: "" - name: Test with pytest diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index d021748578d..184d33211a3 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -6,7 +6,7 @@ permissions: contents: read concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: diff --git a/AUTHORS b/AUTHORS index a35c27044f0..786d28c70be 100644 --- a/AUTHORS +++ b/AUTHORS @@ -93,12 +93,3 @@ Contributors * Zac Hatfield-Dodds -- doctest reporting improvements, intersphinx performance Many thanks for all contributions! - -Included software -================= - -There are also a few modules or functions incorporated from other -authors and projects: - -* sphinx.util.jsdump uses the basestring encoding from simplejson, - written by Bob Ippolito, released under the MIT license diff --git a/CHANGES b/CHANGES index e7099805500..3a2f997ff47 100644 --- a/CHANGES +++ b/CHANGES @@ -1,9 +1,183 @@ -Release 6.2.0 (in development) +Release 7.2.0 (in development) ============================== Dependencies ------------ +* #11511: Drop Python 3.8 support. + +Incompatible changes +-------------------- + +Deprecated +---------- + +* #11512: Deprecate ``sphinx.util.md5`` and ``sphinx.util.sha1``. + Use ``hashlib`` instead. + +Features added +-------------- + +Bugs fixed +---------- + +Testing +------- + +Release 7.1.0 (released Jul 24, 2023) +===================================== + +Incompatible changes +-------------------- + +* Releases are no longer signed, given the `change in PyPI policy`_. + + .. _change in PyPI policy: https://blog.pypi.org/posts/2023-05-23-removing-pgp/ + +Deprecated +---------- + +* #11412: Emit warnings on using a deprecated Python-specific index entry type + (namely, ``module``, ``keyword``, ``operator``, ``object``, ``exception``, + ``statement``, and ``builtin``) in the :rst:dir:`index` directive, and + set the removal version to Sphinx 9. Patch by Adam Turner. + +Features added +-------------- + +* #11415: Add a checksum to JavaScript and CSS asset URIs included within + generated HTML, using the CRC32 algorithm. +* :meth:`~sphinx.application.Sphinx.require_sphinx` now allows the version + requirement to be specified as ``(major, minor)``. +* #11011: Allow configuring a line-length limit for object signatures, via + :confval:`maximum_signature_line_length` and the domain-specific variants. + If the length of the signature (in characters) is greater than the configured + limit, each parameter in the signature will be split to its own logical line. + This behaviour may also be controlled by options on object description + directives, for example :rst:dir:`py:function:single-line-parameter-list`. + Patch by Thomas Louf, Adam Turner, and Jean-François B. +* #10983: Support for multiline copyright statements in the footer block. + Patch by Stefanie Molin +* ``sphinx.util.display.status_iterator`` now clears the current line + with ANSI control codes, rather than overprinting with space characters. +* #11431: linkcheck: Treat SSL failures as broken links. + Patch by Bénédikt Tran +* #11157: Keep the ``translated`` attribute on translated nodes. +* #11451: Improve the traceback displayed when using :option:`sphinx-build -T` + in parallel builds. Patch by Bénédikt Tran +* #11324: linkcheck: Use session-basd HTTP requests. +* #11438: Add support for the :rst:dir:`py:class` and :rst:dir:`py:function` + directives for PEP 695 (generic classes and functions declarations) and + PEP 696 (default type parameters). Multi-line support (#11011) is enabled + for type parameters list and can be locally controlled on object description + directives, e.g., :rst:dir:`py:function:single-line-type-parameter-list`. + Patch by Bénédikt Tran. +* #11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis + via :confval:`linkcheck_anchors_ignore_for_url` while + still checking the validity of the page itself. + Patch by Bénédikt Tran +* #1246: Add translation progress statistics and inspection support, + via a new substitution (``|translation progress|``) and a new + configuration variable (:confval:`translation_progress_classes`). + These enable determining the percentage of translated elements within + a document, and the remaining translated and untranslated elements. + +Bugs fixed +---------- + +* Restored the ``footnote-reference`` class that has been removed in + the latest (unreleased) version of Docutils. +* #11486: Use :rfc:`8081` font file MIME types in the EPUB builder. + Using the correct MIME type will prevent warnings from ``epubcheck`` + and will generate a valid EPUB. +* #11435: Use microsecond-resolution timestamps for outdated file detection + in ``BuildEnvironment.get_outdated_files``. +* #11437: Top-level headings starting with a reStructuredText role + now render properly when :confval:`rst_prolog` is set. + Previously, a file starting with the below would have + improperly rendered due to where the prologue text + was inserted into the document. + + .. code:: rst + + :mod:`lobster` -- The lobster module + ==================================== + + ... + + Patch by Bénédikt Tran. +* #11337: Fix a ``MemoryError`` in ``sphinx.ext.intersphinx`` when using ``None`` + or ``typing.*`` as inline type references. Patch by Bénédikt Tran (picnixz) + +Testing +------- + +* #11345: Always delete ``docutils.conf`` in test directories when running + ``SphinxTestApp.cleanup()``. + +Release 7.0.1 (released May 12, 2023) +===================================== + +Dependencies +------------ + +* #11411: Support `Docutils 0.20`_. Patch by Adam Turner. + +.. _Docutils 0.20: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-20-2023-05-04 + +Bugs fixed +---------- + +* #11418: Clean up remaining references to ``sphinx.setup_command`` + following the removal of support for setuptools. + Patch by Willem Mulder. + +Release 7.0.0 (released Apr 29, 2023) +===================================== + +Incompatible changes +-------------------- + +* #11359: Remove long-deprecated aliases for ``MecabSplitter`` and + ``DefaultSplitter`` in ``sphinx.search.ja``. +* #11360: Remove deprecated ``make_old_id`` functions in domain object + description classes. +* #11363: Remove the Setuptools integration (``build_sphinx`` hook in + ``setup.py``). +* #11364: Remove deprecated ``sphinx.ext.napoleon.iterators`` module. +* #11365: Remove support for the ``jsdump`` format in ``sphinx.search``. +* #11366: Make ``locale`` a required argument to + ``sphinx.util.i18n.format_date()``. +* #11370: Remove deprecated ``sphinx.util.stemmer`` module. +* #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. +* #11372: Remove deprecated ``sphinx.io.read_doc()`` function. +* #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function. +* #11378: Remove deprecated ``sphinx.util.docutils.is_html5_writer_available()`` + function. +* #11379: Make the ``env`` argument to ``Builder`` subclasses required. +* #11380: autosummary: Always emit grouped import exceptions. +* #11381: Remove deprecated ``style`` key for HTML templates. +* #11382: Remove deprecated ``sphinx.writers.latex.LaTeXTranslator.docclasses`` + attribute. +* #11383: Remove deprecated ``sphinx.builders.html.html5_ready`` and + ``sphinx.builders.html.HTMLTranslator`` attributes. +* #11385: Remove support for HTML 4 output. + +Release 6.2.1 (released Apr 25, 2023) +===================================== + +Bugs fixed +---------- + +* #11355: Revert the default type of :confval:`nitpick_ignore` and + :confval:`nitpick_ignore_regex` to ``list``. + +Release 6.2.0 (released Apr 23, 2023) +===================================== + +Dependencies +------------ + * Require Docutils 0.18.1 or greater. Incompatible changes @@ -23,11 +197,7 @@ Deprecated ---------- * #11247: Deprecate the legacy ``intersphinx_mapping`` format -* #11165: Warn when the ``_t`` suffix is used for template files. The formal - deprecation process will begin no earlier than 31 December 2024. - Templates should change to use the ``.jinja`` filename suffix instead. - For more information, see :ref:`theming-static-templates`. - Patch by James Addison and Adam Turner +* ``sphinx.util.osutil.cd`` is deprecated in favour of ``contextlib.chdir``. Features added -------------- @@ -65,16 +235,15 @@ Features added ``= 'xelatex'``. Patch by Dimitar Dimitrov * #11109, #9643: Add :confval:`python_display_short_literal_types` option for condensed rendering of ``Literal`` types. -* #11165: Support the `officially recommended`_ ``.jinja`` suffix for template - files. Patch by James Addison - - .. _officially recommended: https://jinja.palletsprojects.com/en/latest/templates/#template-file-extension Bugs fixed ---------- * #11079: LaTeX: figures with align attribute may disappear and strangely impact following lists +* #11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or + more reST labels directly precede an :rst:dir:`py:module` or :rst:dir:`automodule` + directive. Patch by Bénédikt Tran (picnixz) * #11110: LaTeX: Figures go missing from latex pdf if their files have the same base name and they use a post transform. Patch by aaron-cooper * LaTeX: fix potential color leak from shadow to border of rounded boxes, if @@ -94,37 +263,14 @@ Bugs fixed * #11192: Restore correct parallel search index building. Patch by Jeremy Maitin-Shepard * Use the new Transifex ``tx`` client -* #9778: Disable localisation when the ``SOURCE_DATE_EPOCH`` environment - variable is set, to assist with 'reproducible builds'. Patch by James Addison Testing --------- +------- * Fail testing when any Python warnings are emitted * Migrate remaining ``unittest.TestCase`` style test functions to pytest style * Remove tests that rely on setuptools -Release 6.1.4 (in development) -============================== - -Dependencies ------------- - -Incompatible changes --------------------- - -Deprecated ----------- - -Features added --------------- - -Bugs fixed ----------- - -Testing --------- - Release 6.1.3 (released Jan 10, 2023) ===================================== @@ -1832,7 +1978,7 @@ Bugs fixed * #8320: make "inline" line numbers un-selectable Testing --------- +------- * #8257: Support parallel build in sphinx.testing @@ -3279,7 +3425,7 @@ Bugs fixed * #6196: py domain: unexpected prefix is generated Testing --------- +------- 2.0.0b1 @@ -3612,8 +3758,7 @@ Deprecated * The ``trim_doctest_flags`` argument of ``sphinx.highlighting.PygmentsBridge`` is deprecated -For more details, see `deprecation APIs list -`_ +For more details, see :ref:`deprecation APIs list `. Features added -------------- @@ -3963,8 +4108,7 @@ Deprecated been changed (Since 1.7.0) * #4664: ``sphinx.ext.intersphinx.debug()`` is deprecated. -For more details, see `deprecation APIs list -`_ +For more details, see :ref:`deprecation APIs list `. Bugs fixed ---------- @@ -4195,7 +4339,7 @@ Bugs fixed Testing --------- +------- 1.7.0b1 @@ -4670,7 +4814,7 @@ Deprecated Please move customization into new macro ``\sphinxstyletheadfamily``. Testing --------- +------- 1.6 final @@ -5160,7 +5304,7 @@ Bugs fixed cannot be encoded into console encoding. Testing --------- +------- * To simplify, sphinx uses external mock package even if unittest.mock exists. diff --git a/EXAMPLES b/EXAMPLES index 53127983727..5a787c36aef 100644 --- a/EXAMPLES +++ b/EXAMPLES @@ -13,7 +13,7 @@ Documentation using the alabaster theme --------------------------------------- * `Alabaster `__ -* `Blinker `__ +* `Blinker `__ * `Calibre `__ * `CherryPy `__ * `Click `__ (customized) @@ -55,7 +55,6 @@ Documentation using the classic theme * `Apache CouchDB `__ (customized) * `APSW `__ * `Arb `__ -* `Bazaar `__ (customized) * `Beautiful Soup `__ * `Blender API `__ * `Bugzilla `__ @@ -66,7 +65,6 @@ Documentation using the classic theme * `DEAP `__ (customized) * `Director `__ * `EZ-Draw `__ (customized) -* `F2py `__ * `Generic Mapping Tools (GMT) `__ (customized) * `Genomedata `__ * `GetFEM++ `__ (customized) @@ -115,11 +113,10 @@ Documentation using the sphinxdoc theme * `ABRT `__ * `cartopy `__ -* `Jython `__ +* `Jython `__ * `LLVM `__ * `MDAnalysis Tutorial `__ * `PyCantonese `__ -* `PyRe `__ * `Pyre `__ * `pySPACE `__ * `Pysparse `__ @@ -150,18 +147,20 @@ Documentation using another builtin theme ----------------------------------------- * `Breathe `__ (haiku) +* `Breezy (fork of Bazaar) `__ (agogo) * `MPipe `__ (sphinx13) * `NLTK `__ (agogo) * `PyPubSub `__ (bizstyle) * `Pylons `__ (pyramid) * `Pyramid web framework `__ (pyramid) -* `RxDock `__ +* `RxDock `__ (bizstyle) * `Sphinx `__ (sphinx13) :-) * `Valence `__ (haiku, customized) Documentation using sphinx_rtd_theme ------------------------------------ +* `Aesara (fork of Theano) `__ * `Annotator `__ * `Ansible `__ (customized) * `Arcade `__ @@ -226,7 +225,7 @@ Documentation using sphinx_rtd_theme * `Linux kernel `__ * `Mailman `__ * `MathJax `__ -* `MDTraj `__ (customized) +* `MDTraj `__ (customized) * `Mesa 3D `__ * `micca - MICrobial Community Analysis `__ * `MicroPython `__ @@ -256,7 +255,6 @@ Documentation using sphinx_rtd_theme * `PHPUnit `__ * `PHPWord `__ * `PROS `__ (customized) -* `Pushkin `__ * `Pweave `__ * `pyca/cryptograhpy `__ * `PyNaCl `__ @@ -272,12 +270,10 @@ Documentation using sphinx_rtd_theme * `Qtile `__ * `Quex `__ * `QuTiP `__ -* `Satchmo `__ * `Scapy `__ * `SimGrid `__ * `SimPy `__ * `six `__ -* `SlamData `__ * `Solidity `__ * `Sonos Controller (SoCo) `__ * `Sphinx AutoAPI `__ @@ -289,11 +285,10 @@ Documentation using sphinx_rtd_theme * `StarUML `__ * `Sublime Text Unofficial Documentation `__ * `SunPy `__ -* `Sylius `__ +* `Sylius `__ * `Syncthing `__ * `Tango Controls `__ (customized) * `Topshelf `__ -* `Theano `__ * `ThreatConnect `__ * `TrueNAS `__ (customized) * `Tuleap `__ @@ -319,7 +314,6 @@ Documentation using sphinx_bootstrap_theme * `Hangfire `__ * `Hedge `__ * `ObsPy `__ -* `Open Dylan `__ * `OPNFV `__ * `Pootle `__ * `PyUblas `__ @@ -343,6 +337,7 @@ Documentation using pydata_sphinx_theme * `NetworkX `__ * `Numpy `__ * `Pandas `__ +* `Pystra (continuation of PyRe) `__ * `PyVista `__ * `SciPy `__ * `SEPAL `__ @@ -375,10 +370,10 @@ Documentation using a custom theme or integrated in a website * `Heka `__ * `Istihza (Turkish Python documentation project) `__ * `JupyterHub `__ -* `Kombu `__ -* `Lasso `__ +* `Kombu `__ +* `Lasso `__ * `Mako `__ -* `MirrorBrain `__ +* `MirrorBrain `__ * `Mitiq `__ * `MongoDB `__ * `Music21 `__ @@ -389,6 +384,7 @@ Documentation using a custom theme or integrated in a website * `ObjectListView `__ * `OpenERP `__ * `OpenCV `__ +* `Open Dylan `__ * `OpenLayers `__ * `OpenTURNS `__ * `Open vSwitch `__ @@ -401,7 +397,6 @@ Documentation using a custom theme or integrated in a website * `PyMOTW `__ * `python-aspectlib `__ (`sphinx_py3doc_enhanced_theme `__) * `QGIS `__ -* `qooxdoo `__ * `Roundup `__ * `SaltStack `__ * `scikit-learn `__ @@ -415,7 +410,6 @@ Documentation using a custom theme or integrated in a website * `tinyTiM `__ * `Twisted `__ * `Ubuntu Packaging Guide `__ -* `WebFaction `__ * `WTForms `__ Homepages and other non-documentation sites @@ -429,15 +423,14 @@ Homepages and other non-documentation sites * `Florian Diesch `__ * `Institute for the Design of Advanced Energy Systems (IDAES) `__ (sphinx_rtd_theme) * `IDAES Examples `__ (sphinx_rtd_theme) -* `Lei Ma's Statistical Mechanics lecture notes `__ (sphinx_bootstrap_theme) +* `Lei Ma's Statistical Mechanics lecture notes `__ (sphinx_bootstrap_theme) * `Loyola University Chicago CS Academic Programs `__ (sphinx_rtd_theme, customized) * `PyXLL `__ (sphinx_bootstrap_theme, customized) * `SciPy Cookbook `__ (sphinx_rtd_theme) -* `Tech writer at work blog `__ (custom theme) -* `The Wine Cellar Book `__ (sphinxdoc) +* `Tech writer at work blog `__ (custom theme) * `Thomas Cokelaer's Python, Sphinx and reStructuredText tutorials `__ (standard) * `UC Berkeley ME233 Advanced Control Systems II course `__ (sphinxdoc) -* `Željko Svedružić's Biomolecular Structure and Function Laboratory (BioSFLab) `__ (sphinx_bootstrap_theme) +* `Željko Svedružić's Biomolecular Structure and Function Laboratory (BioSFLab) `__ (sphinx_bootstrap_theme) Books produced using Sphinx --------------------------- @@ -448,7 +441,7 @@ Books produced using Sphinx * `"Expert Python Programming" (Japanese translation) `__ * `"Expert Python Programming 2nd Edition" (Japanese translation) `__ * `"The Hitchhiker's Guide to Python" `__ -* `"LassoGuide" `__ +* `"LassoGuide" `__ * `"Learning Sphinx" (in Japanese) `__ * `"Learning System Programming with Go (Japanese)" `__ * `"Mercurial: the definitive guide (Second edition)" `__ @@ -472,8 +465,6 @@ Books produced using Sphinx Theses produced using Sphinx ---------------------------- -* `"A Web-Based System for Comparative Analysis of OpenStreetMap Data by the Use - of CouchDB" `__ * `"Content Conditioning and Distribution for Dynamic Virtual Worlds" `__ * `"The Sphinx Thesis Resource" `__ diff --git a/Makefile b/Makefile index 4602246d9cf..5293f6330ca 100644 --- a/Makefile +++ b/Makefile @@ -1,56 +1,43 @@ PYTHON ?= python3 .PHONY: all -all: clean-pyc clean-backupfiles style-check type-check test +all: style-check type-check test .PHONY: clean -clean: clean-pyc clean-pycache clean-patchfiles clean-backupfiles clean-generated clean-testfiles clean-buildfiles clean-mypyfiles - -.PHONY: clean-pyc -clean-pyc: +clean: clean + # clean Python cache files: find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + - -.PHONY: clean-pycache -clean-pycache: find . -name __pycache__ -exec rm -rf {} + -.PHONY: clean-patchfiles -clean-patchfiles: - find . -name '*.orig' -exec rm -f {} + - find . -name '*.rej' -exec rm -f {} + - -.PHONY: clean-backupfiles -clean-backupfiles: + # clean backup files: find . -name '*~' -exec rm -f {} + find . -name '*.bak' -exec rm -f {} + find . -name '*.swp' -exec rm -f {} + find . -name '*.swo' -exec rm -f {} + -.PHONY: clean-generated -clean-generated: + # clean generated: find . -name '.DS_Store' -exec rm -f {} + - rm -rf Sphinx.egg-info/ - rm -rf dist/ + + # clean rendered documentation : + rm -rf doc/build/ rm -rf doc/_build/ - rm -f sphinx/pycode/*.pickle - rm -f utils/*3.py* - rm -f utils/regression_test.js + rm -rf build/sphinx/ -.PHONY: clean-testfiles -clean-testfiles: + # clean caches: + find . -name '.mypy_cache' -exec rm -rf {} + + find . -name '.ruff_cache' -exec rm -rf {} + + + # clean test files: rm -rf tests/.coverage rm -rf tests/build rm -rf .tox/ rm -rf .cache/ + find . -name '.pytest_cache' -exec rm -rf {} + -.PHONY: clean-buildfiles -clean-buildfiles: - rm -rf build - -.PHONY: clean-mypyfiles -clean-mypyfiles: - find . -name '.mypy_cache' -exec rm -rf {} + + # clean build files: + rm -rf dist/ + rm -rf build/ .PHONY: style-check style-check: diff --git a/README.rst b/README.rst index 277d17dfd31..d1ad3f4e34f 100644 --- a/README.rst +++ b/README.rst @@ -58,15 +58,6 @@ Contributing We appreciate all contributions! Refer to `the contributors guide`_ for information. -Release signatures -================== - -Releases are signed with following keys: - -* `498D6B9E `_ -* `5EBA0E07 `_ -* `61F0FB52 `_ - .. _the documentation: https://www.sphinx-doc.org/ .. _the contributors guide: https://www.sphinx-doc.org/en/master/internals/contributing.html .. _Python Package Index: https://pypi.org/project/Sphinx/ diff --git a/doc/_themes/sphinx13/layout.html b/doc/_themes/sphinx13/layout.html index afab3693ba8..86a794306b9 100644 --- a/doc/_themes/sphinx13/layout.html +++ b/doc/_themes/sphinx13/layout.html @@ -32,7 +32,7 @@

{{ _('Navigation') }}

{%- block content %}