code: def run(self):
      template_path = self.arguments[0]
      module_path, template_name = template_path.rsplit(".", 1)
  
      try:
          module = importlib.import_module(module_path)
      except ImportError:
          SphinxError(
              f"Unable to import Bokeh template module: {module_path}"
          )
  
      template = getattr(module, template_name, None)
      if template is None:
          SphinxError(f"Unable to find Bokeh template: {template_path}")
  
      template_text = open(template.filename).read()
      m = _DOCPAT.match(template_text)
      doc = m.group(1) if m else None
  
      filename = basename(template.filename)
      rst_text = JINJA_DETAIL.render(
          name=template_name,
          module=module_path,
          objrepr=repr(template),
          noindex=self.options.get("noindex", False),
          doc="" if doc is None else textwrap.dedent(doc),
          filename=filename,
          template_text=_DOCPAT.sub("", template_text),
      )
  
      return self.parse(rst_text, "<bokeh-jinja>")
  
file_path: bokeh/src/bokeh/sphinxext/bokeh_jinja.py
imports: from __future__ import annotations
  import logging
  import importlib
  import re
  import textwrap
  from os.path import basename
  from sphinx.errors import SphinxError
  from .None import PARALLEL_SAFE
  from .bokeh_directive import BokehDirective
  from .templates import JINJA_DETAIL
label_desc: Use image node_id 1 for calling the BokehJinjaDirective obj's underlying member method code with example usage: obj.run() and returns: self