docs: def _insert_html_configs(c, *, project_name, short_project_name):
      """Insert HTML theme configurations.
      """
      # Use the lsst-sphinx-bootstrap-theme
      c['templates_path'] = [
          '_templates',
          lsst_sphinx_bootstrap_theme.get_html_templates_path()]
      c['html_theme'] = 'lsst_sphinx_bootstrap_theme'
      c['html_theme_path'] = [lsst_sphinx_bootstrap_theme.get_html_theme_path()]
  
      # Theme options are theme-specific and customize the look and feel of a
      # theme further.  For a list of options available for each theme, see the
      # documentation.
      c['html_theme_options'] = {'logotext': short_project_name}
  
      # The name for this set of Sphinx documents.  If None, it defaults to
      # "<project> v<release> documentation".
      c['html_title'] = project_name
  
      # A shorter title for the navigation bar.  Default is the same as
      # html_title.
      c['html_short_title'] = short_project_name
  
      # The name of an image file (relative to this directory) to place at the
      # top of the sidebar.
      c['html_logo'] = None
  
      # The name of an image file (within the static path) to use as favicon of
      # the docs.  This file should be a Windows icon file (.ico) being 16x16 or
      # 32x32 pixels large.
      c['html_favicon'] = None
  
      # Add any paths that contain custom static files (such as style sheets)
      # here, relative to this directory. They are copied after the builtin
      # static files, so a file named "default.css" will overwrite the builtin
      # "default.css".
      if os.path.isdir('_static'):
          c['html_static_path'] = ['_static']
      else:
          # If a project does not have a _static/ directory, don't list it
          # so that there isn't a warning.
          c['html_static_path'] = []
  
      # Add any extra paths that contain custom files (such as robots.txt or
      # .htaccess) here, relative to this directory. These files are copied
      # directly to the root of the documentation.
      # html_extra_path = []
  
      # If not '', a 'Last updated on:' timestamp is inserted at every page
      # bottom, using the given strftime format.
      c['html_last_updated_fmt'] = '%b %d, %Y'
  
      # If true, SmartyPants will be used to convert quotes and dashes to
      # typographically correct entities.
      c['html_use_smartypants'] = True
  
      # If false, no module index is generated.
      c['html_domain_indices'] = False
  
      # If false, no index is generated.
      c['html_use_index'] = False
  
      # If true, the index is split into individual pages for each letter.
      c['html_split_index'] = False
  
      # If true, links to the reST sources are added to the pages.
      c['html_show_sourcelink'] = True
  
      # If true, "Created using Sphinx" is shown in the HTML footer. Default is
      # True.
      c['html_show_sphinx'] = True
  
      # If true, "(C) Copyright ..." is shown in the HTML footer. Default is
      # True.
      c['html_show_copyright'] = True
  
      # If true, an OpenSearch description file will be output, and all pages
      # will contain a <link> tag referring to it.  The value of this option must
      # be the base URL from which the finished HTML is served.
      # html_use_opensearch = ''
  
      # This is the file name suffix for HTML files (e.g. ".xhtml").
      c['html_file_suffix'] = '.html'
  
      # Language to be used for generating the HTML full-text search index.
      c['html_search_language'] = 'en'
  
      # A dictionary with options for the search language support, empty by
      # default.  Now only 'ja' uses this config value
      # html_search_options = {'type': 'default'}
  
      # The name of a javascript file (relative to the configuration directory)
      # that implements a search results scorer. If empty, the default will be
      # used.
      # html_search_scorer = 'scorer.js'
  
      return c