class_docstr: A Theme object.
  
  Args:
      name: The name of the theme as defined by its entrypoint.
      custom_dir: User defined directory for custom templates.
      static_templates: A list of templates to render as static pages.
  
  All other keywords are passed as-is and made available as a key/value mapping.
docstr: Recursively load theme and any parent themes.
docstr_tok: ["Recursively","load","theme","and","any","parent","themes","."]
code: def _load_theme_config(self, name: str) -> None:
      """Recursively load theme and any parent themes."""
      theme_dir = utils.get_theme_dir(name)
      utils.get_themes.cache_clear()
      self.dirs.append(theme_dir)
  
      try:
          file_path = os.path.join(theme_dir, "mkdocs_theme.yml")
          with open(file_path, "rb") as f:
              theme_config = yaml.load(f, SafeLoader)
      except OSError as e:
          log.debug(e)
          raise ValidationError(
              f"The theme '{name}' does not appear to have a configuration file. "
              f"Please upgrade to a current version of the theme."
          )
  
      log.debug(
          f"Loaded theme configuration for '{name}' from '{file_path}': {theme_config}"
      )
  
      if parent_theme := theme_config.pop("extends", None):
          themes = utils.get_theme_names()
          if parent_theme not in themes:
              raise ValidationError(
                  f"The theme '{name}' inherits from '{parent_theme}', which does not appear to be installed. "
                  f"The available installed themes are: {', '.join(themes)}"
              )
          self._load_theme_config(parent_theme)
  
      self.static_templates.update(
          theme_config.pop("static_templates", [])
      )
      self.__vars.update(theme_config)
  
imports: from __future__ import annotations
  import logging
  import os
  import warnings
  from typing import Any, Collection, MutableMapping
  import jinja2
  import yaml
  from mkdocs import localization, utils
  from mkdocs.config.base import ValidationError
  from mkdocs.utils import templates
label_desc: Use image node_id 12 for calling the Theme obj's underlying member method code with example usage: obj._load_theme_config(name) without return types