Skip to main content

Get the "last updated" time for each Sphinx page from Git

Project description

This is a little Sphinx extension that does exactly that.

It also checks for included files and other dependencies.

If a page doesn’t have a source file, its last_updated time is set to None.

If a source file is not tracked by Git (e.g. because it has been auto-generated on demand by autosummary_generate) but its dependencies are, the last_updated time is taken from them. If you don’t want this to happen, use git_untracked_check_dependencies = False.

If a source file is not tracked by Git, its HTML page doesn’t get a source link. If you do want those pages to have a sourcelink, set git_untracked_show_sourcelink = True. Of course, in this case html_copy_source and html_show_sourcelink must also be True, and the theme you are using must support source links in the first place.

The default value for html_last_updated_fmt is changed from None to the empty string.

Usage
  1. Install the Python package sphinx-last-updated-by-git

  2. Add 'sphinx_last_updated_by_git' to extensions in your conf.py

  3. Run Sphinx!

Caveats
  • Timestamps are stored using the local time zone. If you are running Sphinx on a server that doesn’t happen to be in your desired time zone, you can change it with time.tzset:

    import os
    import time
    
    os.environ['TZ'] = 'Europe/Berlin'
    time.tzset()
  • When using a “Git shallow clone” (with the --depth option), the “last updated” commit for a long-unchanged file might not have been checked out. In this case, the last_updated time is set to None (and a warning is shown during the build).

    This might happen on https://readthedocs.org/ because they use shallow clones by default. The DONT_SHALLOW_CLONE feature should fix this.

    If you want to get rid of the warning, use this in your conf.py:

    suppress_warnings = ['git.too_shallow']
  • The date might not be displayed on https://readthedocs.org/ when using the sphinx_rtd_theme (which is their default). See issue #1.

License

BSD-2-Clause (same as Sphinx itself), for more information take a look at the LICENSE file.

Similar stuff

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx-last-updated-by-git-0.2.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file sphinx-last-updated-by-git-0.2.0.tar.gz.

File metadata

  • Download URL: sphinx-last-updated-by-git-0.2.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for sphinx-last-updated-by-git-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5c3d834defc3b0a8774e2f31cc451105e6949661115193a712a9f011f143c209
MD5 217e082e16236483b1f6a4cfd1035186
BLAKE2b-256 a89bcc4e0ffcd12dc27e23ced3525d8718dce7b59c6f6aca1f5de7b13232deda

See more details on using hashes here.

File details

Details for the file sphinx_last_updated_by_git-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sphinx_last_updated_by_git-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

File hashes

Hashes for sphinx_last_updated_by_git-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 718d7e1355ab007b35156c0ba8a93699fef42508ade157a6f0e2356354c3d3a5
MD5 3fea86458e3621d76d2b773c11971225
BLAKE2b-256 71dfb5406bf93e91dbbc473cbc4265d733e3180723baeb68e5ebc5cdb1c285e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page