docstr: This is largely copied from bokeh.sphinxext.bokeh_plot.run
docstr_tok: ["This","is","largely","copied","from","bokeh.sphinxext.bokeh_plot.run"]
code: def get_code_language(self):
      """
      This is largely copied from bokeh.sphinxext.bokeh_plot.run
      """
      js_source = self.get_js_source()
      if self.options.get("include_html", False):
          resources = get_sphinx_resources(include_bokehjs_api=True)
          html_source = BJS_HTML.render(
              css_files=resources.css_files,
              js_files=resources.js_files,
              hashes=resources.hashes,
              bjs_script=js_source,
          )
          return [html_source, "html"]
      else:
          return [js_source, "javascript"]
  
imports: from __future__ import annotations
  import logging
  from os.path import basename, join
  from docutils import nodes
  from docutils.parsers.rst.directives import unchanged
  from sphinx.directives.code import CodeBlock, container_wrapper, dedent_lines
  from sphinx.errors import SphinxError
  from sphinx.locale import __
  from sphinx.util import logging, parselinenos
  from sphinx.util.nodes import set_source_info
  from .None import PARALLEL_SAFE
  from .templates import BJS_CODEPEN_INIT, BJS_EPILOGUE, BJS_HTML, BJS_PROLOGUE
  from .util import get_sphinx_resources
label_desc: Use image node_id 3 for calling the BokehJSContent obj's underlying member method code with example usage: obj.get_code_language() and returns: list, list