code: def event_html_page_context(app, pagename, templatename, context, doctree):
      
      assert app or pagename or templatename  # Unused, for linting.
      if 'script_files' in context and doctree and any(hasattr(n, 'disqus_shortname') for n in doctree.traverse()):
          # Clone list to prevent leaking into other pages and add disqus.js to this page.
          context['script_files'] = context['script_files'][:] + ['_static/disqus.js']
docs: Called when the HTML builder has created a context dictionary to render a template with.
  
      Conditionally adding disqus.js to <head /> if the directive is used in a page.
  
      :param sphinx.application.Sphinx app: Sphinx application object.
      :param str pagename: Name of the page being rendered (without .html or any file extension).
      :param str templatename: Page name with .html.
      :param dict context: Jinja2 HTML context.
      :param docutils.nodes.document doctree: Tree of docutils nodes.