We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Logo doesn't appear on documentation sub-pages
# 🐛 Bug

<!-- A clear and concise description of what the bug is. -->

Currently, the `xFormers` logo only appears on the main docs page and the `what_is_xformers` page which is present in the same directory as it, but not on the other sub-pages. I was wondering whether setting the Sphinx option `html_logo` in the `conf.py` file would fix this.

Would be happy to make a PR for this, let me know what you think.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `docs/source/conf.py`
Content:
```
1 # Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
2 #
3 # This source code is licensed under the BSD license found in the
4 # LICENSE file in the root directory of this source tree.
5 
6 
7 # type: ignore
8 # Configuration file for the Sphinx documentation builder.
9 #
10 # This file only contains a selection of the most common options. For a full
11 # list see the documentation:
12 # https://www.sphinx-doc.org/en/master/usage/configuration.html
13 
14 # -- Path setup --------------------------------------------------------------
15 
16 # If extensions (or modules to document with autodoc) are in another directory,
17 # add these directories to sys.path here. If the directory is relative to the
18 # documentation root, use os.path.abspath to make it absolute, like shown here.
19 #
20 import os
21 import sys
22 from typing import Any, List
23 
24 # The theme to use for HTML and HTML Help pages.  See the documentation for
25 # a list of builtin themes.
26 #
27 from recommonmark.transform import AutoStructify
28 
29 sys.path.insert(0, os.path.abspath("../.."))
30 
31 # -- Project information -----------------------------------------------------
32 
33 project = "xFormers"
34 copyright = "2021, Facebook AI Research"
35 author = "Facebook AI Research"
36 
37 # The full version, including alpha/beta/rc tags
38 release = "0.0.1"
39 
40 
41 # -- General configuration ---------------------------------------------------
42 
43 # Add any Sphinx extension module names here, as strings. They can be
44 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
45 # ones.
46 extensions = [
47     "sphinx.ext.autodoc",
48     "sphinx.ext.autosectionlabel",
49     "sphinx.ext.napoleon",  # support NumPy and Google style docstrings
50     "recommonmark",
51     "sphinx.ext.intersphinx",
52     "sphinx.ext.todo",
53     "sphinx.ext.coverage",
54     "sphinx.ext.mathjax",
55     "sphinx.ext.viewcode",
56     "sphinx.ext.githubpages",
57     "sphinx.ext.doctest",
58     "sphinx.ext.ifconfig",
59 ]
60 
61 # autosectionlabel throws warnings if section names are duplicated.
62 # The following tells autosectionlabel to not throw a warning for
63 # duplicated section names that are in different documents.
64 autosectionlabel_prefix_document = True
65 
66 # -- Configurations for plugins ------------
67 napoleon_google_docstring = True
68 napoleon_include_init_with_doc = True
69 napoleon_include_special_with_doc = True
70 napoleon_numpy_docstring = False
71 napoleon_use_rtype = False
72 autodoc_inherit_docstrings = False
73 autodoc_member_order = "bysource"
74 
75 intersphinx_mapping = {
76     "python": ("https://docs.python.org/3.6", None),
77     "numpy": ("https://docs.scipy.org/doc/numpy/", None),
78     "torch": ("https://pytorch.org/docs/master/", None),
79 }
80 # -------------------------
81 
82 # Add any paths that contain templates here, relative to this directory.
83 templates_path = ["_templates"]
84 
85 # List of patterns, relative to source directory, that match files and
86 # directories to ignore when looking for source files.
87 # This pattern also affects html_static_path and html_extra_path.
88 exclude_patterns: List[Any] = []
89 
90 # The suffix(es) of source filenames.
91 # You can specify multiple suffix as a list of string:
92 #
93 source_suffix = [".rst", ".md"]
94 
95 # The master toctree document.
96 master_doc = "index"
97 
98 # If true, `todo` and `todoList` produce output, else they produce nothing.
99 todo_include_todos = True
100 
101 # -- Options for HTML output -------------------------------------------------
102 
103 
104 html_theme = "pytorch_sphinx_theme"
105 templates_path = ["_templates"]
106 
107 
108 # Add any paths that contain custom static files (such as style sheets) here,
109 # Theme options are theme-specific and customize the look and feel of a theme
110 # further.  For a list of options available for each theme, see the
111 # documentation.
112 #
113 html_theme_options = {
114     "includehidden": True,
115     "canonical_url": "https://fairinternal.github.io/xformers",
116     "pytorch_project": "docs",
117     "logo_only": True,  # default = False
118 }
119 
120 # relative to this directory. They are copied after the builtin static files,
121 # so a file named "default.css" will overwrite the builtin "default.css".
122 html_static_path = ["_static"]
123 
124 # setting custom stylesheets https://stackoverflow.com/a/34420612
125 html_context = {"css_files": ["_static/css/customize.css"]}
126 
127 # -- Options for HTMLHelp output ------------------------------------------
128 
129 # Output file base name for HTML help builder.
130 htmlhelp_basename = "xformersdocs"
131 github_doc_root = "https://github.com/fairinternal/xformers/blob/v0.1/"
132 
133 
134 # Over-ride PyTorch Sphinx css
135 def setup(app):
136     app.add_config_value(
137         "recommonmark_config",
138         {
139             "url_resolver": lambda url: github_doc_root + url,
140             "auto_toc_tree_section": "Contents",
141             "enable_math": True,
142             "enable_inline_math": True,
143             "enable_eval_rst": True,
144             "enable_auto_toc_tree": True,
145         },
146         True,
147     )
148     app.add_transform(AutoStructify)
149     app.add_css_file("css/customize.css")
150
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -112,7 +112,7 @@
 #
 html_theme_options = {
     "includehidden": True,
-    "canonical_url": "https://fairinternal.github.io/xformers",
+    "canonical_url": "https://facebookresearch.github.io/xformers",
     "pytorch_project": "docs",
     "logo_only": True,  # default = False
 }
@@ -128,7 +128,7 @@
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = "xformersdocs"
-github_doc_root = "https://github.com/fairinternal/xformers/blob/v0.1/"
+github_doc_root = "https://github.com/facebookresearch/xformers/tree/main/docs/"
 
 
 # Over-ride PyTorch Sphinx css

{"golden_diff": "diff --git a/docs/source/conf.py b/docs/source/conf.py\n--- a/docs/source/conf.py\n+++ b/docs/source/conf.py\n@@ -112,7 +112,7 @@\n #\n html_theme_options = {\n     \"includehidden\": True,\n-    \"canonical_url\": \"https://fairinternal.github.io/xformers\",\n+    \"canonical_url\": \"https://facebookresearch.github.io/xformers\",\n     \"pytorch_project\": \"docs\",\n     \"logo_only\": True,  # default = False\n }\n@@ -128,7 +128,7 @@\n \n # Output file base name for HTML help builder.\n htmlhelp_basename = \"xformersdocs\"\n-github_doc_root = \"https://github.com/fairinternal/xformers/blob/v0.1/\"\n+github_doc_root = \"https://github.com/facebookresearch/xformers/tree/main/docs/\"\n \n \n # Over-ride PyTorch Sphinx css\n", "issue": "Logo doesn't appear on documentation sub-pages\n# \ud83d\udc1b Bug\r\n\r\n<!-- A clear and concise description of what the bug is. -->\r\n\r\nCurrently, the `xFormers` logo only appears on the main docs page and the `what_is_xformers` page which is present in the same directory as it, but not on the other sub-pages. I was wondering whether setting the Sphinx option `html_logo` in the `conf.py` file would fix this.\r\n\r\nWould be happy to make a PR for this, let me know what you think.\r\n\n", "before_files": [{"content": "# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.\n#\n# This source code is licensed under the BSD license found in the\n# LICENSE file in the root directory of this source tree.\n\n\n# type: ignore\n# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\nimport sys\nfrom typing import Any, List\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nfrom recommonmark.transform import AutoStructify\n\nsys.path.insert(0, os.path.abspath(\"../..\"))\n\n# -- Project information -----------------------------------------------------\n\nproject = \"xFormers\"\ncopyright = \"2021, Facebook AI Research\"\nauthor = \"Facebook AI Research\"\n\n# The full version, including alpha/beta/rc tags\nrelease = \"0.0.1\"\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.autosectionlabel\",\n    \"sphinx.ext.napoleon\",  # support NumPy and Google style docstrings\n    \"recommonmark\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.todo\",\n    \"sphinx.ext.coverage\",\n    \"sphinx.ext.mathjax\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinx.ext.doctest\",\n    \"sphinx.ext.ifconfig\",\n]\n\n# autosectionlabel throws warnings if section names are duplicated.\n# The following tells autosectionlabel to not throw a warning for\n# duplicated section names that are in different documents.\nautosectionlabel_prefix_document = True\n\n# -- Configurations for plugins ------------\nnapoleon_google_docstring = True\nnapoleon_include_init_with_doc = True\nnapoleon_include_special_with_doc = True\nnapoleon_numpy_docstring = False\nnapoleon_use_rtype = False\nautodoc_inherit_docstrings = False\nautodoc_member_order = \"bysource\"\n\nintersphinx_mapping = {\n    \"python\": (\"https://docs.python.org/3.6\", None),\n    \"numpy\": (\"https://docs.scipy.org/doc/numpy/\", None),\n    \"torch\": (\"https://pytorch.org/docs/master/\", None),\n}\n# -------------------------\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns: List[Any] = []\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\nsource_suffix = [\".rst\", \".md\"]\n\n# The master toctree document.\nmaster_doc = \"index\"\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n\n# -- Options for HTML output -------------------------------------------------\n\n\nhtml_theme = \"pytorch_sphinx_theme\"\ntemplates_path = [\"_templates\"]\n\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\nhtml_theme_options = {\n    \"includehidden\": True,\n    \"canonical_url\": \"https://fairinternal.github.io/xformers\",\n    \"pytorch_project\": \"docs\",\n    \"logo_only\": True,  # default = False\n}\n\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# setting custom stylesheets https://stackoverflow.com/a/34420612\nhtml_context = {\"css_files\": [\"_static/css/customize.css\"]}\n\n# -- Options for HTMLHelp output ------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"xformersdocs\"\ngithub_doc_root = \"https://github.com/fairinternal/xformers/blob/v0.1/\"\n\n\n# Over-ride PyTorch Sphinx css\ndef setup(app):\n    app.add_config_value(\n        \"recommonmark_config\",\n        {\n            \"url_resolver\": lambda url: github_doc_root + url,\n            \"auto_toc_tree_section\": \"Contents\",\n            \"enable_math\": True,\n            \"enable_inline_math\": True,\n            \"enable_eval_rst\": True,\n            \"enable_auto_toc_tree\": True,\n        },\n        True,\n    )\n    app.add_transform(AutoStructify)\n    app.add_css_file(\"css/customize.css\")\n", "path": "docs/source/conf.py"}], "after_files": [{"content": "# Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.\n#\n# This source code is licensed under the BSD license found in the\n# LICENSE file in the root directory of this source tree.\n\n\n# type: ignore\n# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\nimport sys\nfrom typing import Any, List\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nfrom recommonmark.transform import AutoStructify\n\nsys.path.insert(0, os.path.abspath(\"../..\"))\n\n# -- Project information -----------------------------------------------------\n\nproject = \"xFormers\"\ncopyright = \"2021, Facebook AI Research\"\nauthor = \"Facebook AI Research\"\n\n# The full version, including alpha/beta/rc tags\nrelease = \"0.0.1\"\n\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = [\n    \"sphinx.ext.autodoc\",\n    \"sphinx.ext.autosectionlabel\",\n    \"sphinx.ext.napoleon\",  # support NumPy and Google style docstrings\n    \"recommonmark\",\n    \"sphinx.ext.intersphinx\",\n    \"sphinx.ext.todo\",\n    \"sphinx.ext.coverage\",\n    \"sphinx.ext.mathjax\",\n    \"sphinx.ext.viewcode\",\n    \"sphinx.ext.githubpages\",\n    \"sphinx.ext.doctest\",\n    \"sphinx.ext.ifconfig\",\n]\n\n# autosectionlabel throws warnings if section names are duplicated.\n# The following tells autosectionlabel to not throw a warning for\n# duplicated section names that are in different documents.\nautosectionlabel_prefix_document = True\n\n# -- Configurations for plugins ------------\nnapoleon_google_docstring = True\nnapoleon_include_init_with_doc = True\nnapoleon_include_special_with_doc = True\nnapoleon_numpy_docstring = False\nnapoleon_use_rtype = False\nautodoc_inherit_docstrings = False\nautodoc_member_order = \"bysource\"\n\nintersphinx_mapping = {\n    \"python\": (\"https://docs.python.org/3.6\", None),\n    \"numpy\": (\"https://docs.scipy.org/doc/numpy/\", None),\n    \"torch\": (\"https://pytorch.org/docs/master/\", None),\n}\n# -------------------------\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = [\"_templates\"]\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns: List[Any] = []\n\n# The suffix(es) of source filenames.\n# You can specify multiple suffix as a list of string:\n#\nsource_suffix = [\".rst\", \".md\"]\n\n# The master toctree document.\nmaster_doc = \"index\"\n\n# If true, `todo` and `todoList` produce output, else they produce nothing.\ntodo_include_todos = True\n\n# -- Options for HTML output -------------------------------------------------\n\n\nhtml_theme = \"pytorch_sphinx_theme\"\ntemplates_path = [\"_templates\"]\n\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#\nhtml_theme_options = {\n    \"includehidden\": True,\n    \"canonical_url\": \"https://facebookresearch.github.io/xformers\",\n    \"pytorch_project\": \"docs\",\n    \"logo_only\": True,  # default = False\n}\n\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = [\"_static\"]\n\n# setting custom stylesheets https://stackoverflow.com/a/34420612\nhtml_context = {\"css_files\": [\"_static/css/customize.css\"]}\n\n# -- Options for HTMLHelp output ------------------------------------------\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = \"xformersdocs\"\ngithub_doc_root = \"https://github.com/facebookresearch/xformers/tree/main/docs/\"\n\n\n# Over-ride PyTorch Sphinx css\ndef setup(app):\n    app.add_config_value(\n        \"recommonmark_config\",\n        {\n            \"url_resolver\": lambda url: github_doc_root + url,\n            \"auto_toc_tree_section\": \"Contents\",\n            \"enable_math\": True,\n            \"enable_inline_math\": True,\n            \"enable_eval_rst\": True,\n            \"enable_auto_toc_tree\": True,\n        },\n        True,\n    )\n    app.add_transform(AutoStructify)\n    app.add_css_file(\"css/customize.css\")\n", "path": "docs/source/conf.py"}]}