Git LFS is a popular method to store large files like e.g. documentation assets in git repositories.
Building such documentation on a system without Git LFS will typically result in broken documentation.
sphinx_lfs_content
is a minimalistic Sphinx extension that ensures that git-lfs
is installed and otherwise installs it and fetches LFS content.
It is motivated by the lack of LFS support on readthedocs.org.
The extension can be installed from PyPI using pip
:
python -m pip install sphinx_lfs_content
If you use a requirements file to describe the dependencies of your documentation build, simply add sphinx_lfs_content
to it.
Add the following lines to your conf.py
:
# The list of enabled extensions
extensions = [
"sphinx_lfs_content",
]
That's all. The extension will check whether the system has git-lfs
and download a version
from the git-lfs
GitHub page, verify its checksum
and checkout any LFS content.
Additionally, a configuration value lfs_content_post_commands
is available. It accepts a list
of strings with commands that will be executed after the git-lfs checkout was performed.
This can be used to resolve chicken-egg situations with other setup code.
The extension is very likely to only work on Linux right now, as it does not properly select the git-lfs
archive to download.