(
self,
name: str | None = None,
*,
custom_dir: str | None = None,
static_templates: Collection[str] = (),
locale: str | None = None,
**user_config,
)
| 33 | """ |
| 34 | |
| 35 | def __init__( |
| 36 | self, |
| 37 | name: str | None = None, |
| 38 | *, |
| 39 | custom_dir: str | None = None, |
| 40 | static_templates: Collection[str] = (), |
| 41 | locale: str | None = None, |
| 42 | **user_config, |
| 43 | ) -> None: |
| 44 | self.name = name |
| 45 | self._custom_dir = custom_dir |
| 46 | _vars: dict[str, Any] = {'name': name, 'locale': 'en'} |
| 47 | self.__vars = _vars |
| 48 | |
| 49 | # MkDocs provided static templates are always included |
| 50 | package_dir = os.path.abspath(os.path.dirname(__file__)) |
| 51 | mkdocs_templates = os.path.join(package_dir, 'templates') |
| 52 | self.static_templates = set(os.listdir(mkdocs_templates)) |
| 53 | |
| 54 | # Build self.dirs from various sources in order of precedence |
| 55 | self.dirs = [] |
| 56 | |
| 57 | if custom_dir is not None: |
| 58 | self.dirs.append(custom_dir) |
| 59 | |
| 60 | if name: |
| 61 | self._load_theme_config(name) |
| 62 | |
| 63 | # Include templates provided directly by MkDocs (outside any theme) |
| 64 | self.dirs.append(mkdocs_templates) |
| 65 | |
| 66 | # Handle remaining user configs. Override theme configs (if set) |
| 67 | self.static_templates.update(static_templates) |
| 68 | _vars.update(user_config) |
| 69 | |
| 70 | # Validate locale and convert to Locale object |
| 71 | if locale is None: |
| 72 | locale = _vars['locale'] |
| 73 | _vars['locale'] = localization.parse_locale(locale) |
| 74 | |
| 75 | name: str | None |
| 76 |
nothing calls this directly
no test coverage detected