Trouble with custom footer in sphinx-rtd-theme

Do you want to add a custom footer or replace the default one? in my case, I only need to override the footer.html file instead of layout.html.

Here's what I do that 100% worked for my Sphinx documentation:

  1. create a footer.html in the _template folder of your Sphinx project.
  2. then add this:
{% extends "!footer.html" %}
{%- block contentinfo %}
{{ super }}
<!-- your custom footer here-->
{% endblock %}

be mindful in which block your footer is actually contained within. In my case it's inside contentinfo


So I found a workaround.

1. Copy existing RTD html files

I copied the existing RTD .html files from my virtual environment folder. On my system it was located at the usual place:

.../Miniconda3/envs/my_env_name/Lib/site-packages/sphinx_rtd_theme/

I found the following files:

  • breadcrumbs.html
  • footer.html
  • Layout.html
  • search.html
  • searchbox.html
  • theme.conf
  • versions.html

I copied those to my working directory for my project:

.../Documentation-repo/Sphinx/root/source/_templates/

2. Edit conf.py file in working directory

I opened my conf.py file and changed the following:

# Add any paths that contain templates here, relative to this directory.
#   Uncomment the line below to enable customized template #
#
# templates_path = ['_templates']

to this:

# Add any paths that contain templates here, relative to this directory.
#   Uncomment the line below to enable customized template #
#
templates_path = ['_templates']

3. Add new content to footer.html file

I opened footer.html and edited it to add the content I wanted at the bottom. In my case it was as simple as adding my single sentence of changes below the {%- block extrafooter %} {% endblock %} line. Easy. Might not be the perfect solution but it works for what I need.