prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add (opengraph) metadata to documentation
  Previews to links to the documentation are currently not available due to missing opengraph metadata.
  
  Also, a description meta tag should be added.
  
  
  
  
  
  --- 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 # Configuration file for the Sphinx documentation builder.
  2 #
  3 # This file only contains a selection of the most common options. For a full
  4 # list see the documentation:
  5 # https://www.sphinx-doc.org/en/master/usage/configuration.html
  6 
  7 # -- Path setup --------------------------------------------------------------
  8 
  9 # If extensions (or modules to document with autodoc) are in another directory,
  10 # add these directories to sys.path here. If the directory is relative to the
  11 # documentation root, use os.path.abspath to make it absolute, like shown here.
  12 
  13 import os
  14 import subprocess
  15 import sys
  16 from distutils.sysconfig import get_python_lib
  17 from pathlib import Path
  18 
  19 sys.path.insert(0, os.path.abspath("."))
  20 
  21 
  22 if os.environ.get("READTHEDOCS") == "True":
  23     site_path = get_python_lib()
  24     # bindings for pangocffi, cairocffi, pangocairocffi need to be generated
  25     subprocess.run(["python", "pangocffi/ffi_build.py"], cwd=site_path)
  26     subprocess.run(["python", "cairocffi/ffi_build.py"], cwd=site_path)
  27     subprocess.run(["python", "pangocairocffi/ffi_build.py"], cwd=site_path)
  28     # we need to add ffmpeg to the path
  29     ffmpeg_path = os.path.join(site_path, "imageio_ffmpeg", "binaries")
  30     # the included binary is named ffmpeg-linux..., create a symlink
  31     [ffmpeg_bin] = [
  32         file for file in os.listdir(ffmpeg_path) if file.startswith("ffmpeg-")
  33     ]
  34     os.symlink(
  35         os.path.join(ffmpeg_path, ffmpeg_bin), os.path.join(ffmpeg_path, "ffmpeg")
  36     )
  37     os.environ["PATH"] += os.pathsep + ffmpeg_path
  38 
  39 
  40 # -- Project information -----------------------------------------------------
  41 
  42 project = "Manim"
  43 copyright = "2020, The Manim Community Dev Team"
  44 author = "The Manim Community Dev Team"
  45 
  46 
  47 # -- General configuration ---------------------------------------------------
  48 
  49 # Add any Sphinx extension module names here, as strings. They can be
  50 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
  51 # ones.
  52 extensions = [
  53     "sphinx.ext.autodoc",
  54     "recommonmark",
  55     "sphinx_copybutton",
  56     "sphinx.ext.napoleon",
  57     "sphinx.ext.autosummary",
  58     "sphinx.ext.doctest",
  59     "manim_directive",
  60 ]
  61 
  62 # Automatically generate stub pages when using the .. autosummary directive
  63 autosummary_generate = True
  64 
  65 # controls whether functions documented by the autofunction directive
  66 # appear with their full module names
  67 add_module_names = False
  68 
  69 # Add any paths that contain templates here, relative to this directory.
  70 templates_path = ["_templates"]
  71 
  72 # List of patterns, relative to source directory, that match files and
  73 # directories to ignore when looking for source files.
  74 # This pattern also affects html_static_path and html_extra_path.
  75 exclude_patterns = []
  76 
  77 
  78 # -- Options for HTML output -------------------------------------------------
  79 
  80 # The theme to use for HTML and HTML Help pages.  See the documentation for
  81 # a list of builtin themes.
  82 #
  83 import guzzle_sphinx_theme
  84 
  85 html_theme_path = guzzle_sphinx_theme.html_theme_path()
  86 html_theme = "guzzle_sphinx_theme"
  87 html_favicon = str(Path("_static/favicon.ico"))
  88 
  89 # There's a standing issue with Sphinx's new-style sidebars.  This is a
  90 # workaround.  Taken from
  91 # https://github.com/guzzle/guzzle_sphinx_theme/issues/33#issuecomment-637081826
  92 html_sidebars = {"**": ["logo-text.html", "globaltoc.html", "searchbox.html"]}
  93 
  94 # Register the theme as an extension to generate a sitemap.xml
  95 extensions.append("guzzle_sphinx_theme")
  96 
  97 # Add any paths that contain custom static files (such as style sheets) here,
  98 # relative to this directory. They are copied after the builtin static files,
  99 # so a file named "default.css" will overwrite the builtin "default.css".
  100 html_static_path = ["_static"]
  101 
  102 # This specifies any additional css files that will override the theme's
  103 html_css_files = ["custom.css"]
  104
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/docs/source/conf.py b/docs/source/conf.py
  --- a/docs/source/conf.py
  +++ b/docs/source/conf.py
  @@ -56,6 +56,7 @@
       "sphinx.ext.napoleon",
       "sphinx.ext.autosummary",
       "sphinx.ext.doctest",
  +    "sphinxext.opengraph",
       "manim_directive",
   ]
   
  @@ -101,3 +102,8 @@
   
   # This specifies any additional css files that will override the theme's
   html_css_files = ["custom.css"]
  +
  +# opengraph settings
  +ogp_image = "https://www.manim.community/logo.png"
  +ogp_site_name = "Manim Community | Documentation"
  +ogp_site_url = "https://docs.manim.community/"
  
verification_info: {"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@@ -56,6 +56,7 @@\n     \"sphinx.ext.napoleon\",\n     \"sphinx.ext.autosummary\",\n     \"sphinx.ext.doctest\",\n+    \"sphinxext.opengraph\",\n     \"manim_directive\",\n ]\n \n@@ -101,3 +102,8 @@\n \n # This specifies any additional css files that will override the theme's\n html_css_files = [\"custom.css\"]\n+\n+# opengraph settings\n+ogp_image = \"https://www.manim.community/logo.png\"\n+ogp_site_name = \"Manim Community | Documentation\"\n+ogp_site_url = \"https://docs.manim.community/\"\n", "issue": "Add (opengraph) metadata to documentation\nPreviews to links to the documentation are currently not available due to missing opengraph metadata.\r\n\r\nAlso, a description meta tag should be added.\r\n\r\n\r\n\r\n\n", "before_files": [{"content": "# 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 subprocess\nimport sys\nfrom distutils.sysconfig import get_python_lib\nfrom pathlib import Path\n\nsys.path.insert(0, os.path.abspath(\".\"))\n\n\nif os.environ.get(\"READTHEDOCS\") == \"True\":\n    site_path = get_python_lib()\n    # bindings for pangocffi, cairocffi, pangocairocffi need to be generated\n    subprocess.run([\"python\", \"pangocffi/ffi_build.py\"], cwd=site_path)\n    subprocess.run([\"python\", \"cairocffi/ffi_build.py\"], cwd=site_path)\n    subprocess.run([\"python\", \"pangocairocffi/ffi_build.py\"], cwd=site_path)\n    # we need to add ffmpeg to the path\n    ffmpeg_path = os.path.join(site_path, \"imageio_ffmpeg\", \"binaries\")\n    # the included binary is named ffmpeg-linux..., create a symlink\n    [ffmpeg_bin] = [\n        file for file in os.listdir(ffmpeg_path) if file.startswith(\"ffmpeg-\")\n    ]\n    os.symlink(\n        os.path.join(ffmpeg_path, ffmpeg_bin), os.path.join(ffmpeg_path, \"ffmpeg\")\n    )\n    os.environ[\"PATH\"] += os.pathsep + ffmpeg_path\n\n\n# -- Project information -----------------------------------------------------\n\nproject = \"Manim\"\ncopyright = \"2020, The Manim Community Dev Team\"\nauthor = \"The Manim Community Dev Team\"\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    \"recommonmark\",\n    \"sphinx_copybutton\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.autosummary\",\n    \"sphinx.ext.doctest\",\n    \"manim_directive\",\n]\n\n# Automatically generate stub pages when using the .. autosummary directive\nautosummary_generate = True\n\n# controls whether functions documented by the autofunction directive\n# appear with their full module names\nadd_module_names = False\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 = []\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nimport guzzle_sphinx_theme\n\nhtml_theme_path = guzzle_sphinx_theme.html_theme_path()\nhtml_theme = \"guzzle_sphinx_theme\"\nhtml_favicon = str(Path(\"_static/favicon.ico\"))\n\n# There's a standing issue with Sphinx's new-style sidebars.  This is a\n# workaround.  Taken from\n# https://github.com/guzzle/guzzle_sphinx_theme/issues/33#issuecomment-637081826\nhtml_sidebars = {\"**\": [\"logo-text.html\", \"globaltoc.html\", \"searchbox.html\"]}\n\n# Register the theme as an extension to generate a sitemap.xml\nextensions.append(\"guzzle_sphinx_theme\")\n\n# Add any paths that contain custom static files (such as style sheets) here,\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# This specifies any additional css files that will override the theme's\nhtml_css_files = [\"custom.css\"]\n", "path": "docs/source/conf.py"}], "after_files": [{"content": "# 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 subprocess\nimport sys\nfrom distutils.sysconfig import get_python_lib\nfrom pathlib import Path\n\nsys.path.insert(0, os.path.abspath(\".\"))\n\n\nif os.environ.get(\"READTHEDOCS\") == \"True\":\n    site_path = get_python_lib()\n    # bindings for pangocffi, cairocffi, pangocairocffi need to be generated\n    subprocess.run([\"python\", \"pangocffi/ffi_build.py\"], cwd=site_path)\n    subprocess.run([\"python\", \"cairocffi/ffi_build.py\"], cwd=site_path)\n    subprocess.run([\"python\", \"pangocairocffi/ffi_build.py\"], cwd=site_path)\n    # we need to add ffmpeg to the path\n    ffmpeg_path = os.path.join(site_path, \"imageio_ffmpeg\", \"binaries\")\n    # the included binary is named ffmpeg-linux..., create a symlink\n    [ffmpeg_bin] = [\n        file for file in os.listdir(ffmpeg_path) if file.startswith(\"ffmpeg-\")\n    ]\n    os.symlink(\n        os.path.join(ffmpeg_path, ffmpeg_bin), os.path.join(ffmpeg_path, \"ffmpeg\")\n    )\n    os.environ[\"PATH\"] += os.pathsep + ffmpeg_path\n\n\n# -- Project information -----------------------------------------------------\n\nproject = \"Manim\"\ncopyright = \"2020, The Manim Community Dev Team\"\nauthor = \"The Manim Community Dev Team\"\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    \"recommonmark\",\n    \"sphinx_copybutton\",\n    \"sphinx.ext.napoleon\",\n    \"sphinx.ext.autosummary\",\n    \"sphinx.ext.doctest\",\n    \"sphinxext.opengraph\",\n    \"manim_directive\",\n]\n\n# Automatically generate stub pages when using the .. autosummary directive\nautosummary_generate = True\n\n# controls whether functions documented by the autofunction directive\n# appear with their full module names\nadd_module_names = False\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 = []\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nimport guzzle_sphinx_theme\n\nhtml_theme_path = guzzle_sphinx_theme.html_theme_path()\nhtml_theme = \"guzzle_sphinx_theme\"\nhtml_favicon = str(Path(\"_static/favicon.ico\"))\n\n# There's a standing issue with Sphinx's new-style sidebars.  This is a\n# workaround.  Taken from\n# https://github.com/guzzle/guzzle_sphinx_theme/issues/33#issuecomment-637081826\nhtml_sidebars = {\"**\": [\"logo-text.html\", \"globaltoc.html\", \"searchbox.html\"]}\n\n# Register the theme as an extension to generate a sitemap.xml\nextensions.append(\"guzzle_sphinx_theme\")\n\n# Add any paths that contain custom static files (such as style sheets) here,\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# This specifies any additional css files that will override the theme's\nhtml_css_files = [\"custom.css\"]\n\n# opengraph settings\nogp_image = \"https://www.manim.community/logo.png\"\nogp_site_name = \"Manim Community | Documentation\"\nogp_site_url = \"https://docs.manim.community/\"\n", "path": "docs/source/conf.py"}]}