diff --git a/README.md b/README.md index 8788718..20b12f4 100644 --- a/README.md +++ b/README.md @@ -202,7 +202,7 @@ plugins: [instant-preview]: https://squidfunk.github.io/mkdocs-material/setup/setting-up-navigation/#instant-previews -By default, HTML tags are only preserved in titles if the current theme in use in Material for MkDocs. If the theme you are using does support HTML tags titles, you can prevent tags stripping with the `strip_title_tags` option: +By default, HTML tags are only preserved in titles if the current theme in use is Material for MkDocs and its `content.tooltips` feature is enabled. If your chosen theme does support HTML tags in titles, you can prevent tags stripping with the `strip_title_tags` option: ```yaml plugins: diff --git a/src/mkdocs_autorefs/_internal/plugin.py b/src/mkdocs_autorefs/_internal/plugin.py index 5c640b5..a6967cc 100644 --- a/src/mkdocs_autorefs/_internal/plugin.py +++ b/src/mkdocs_autorefs/_internal/plugin.py @@ -189,7 +189,10 @@ def on_config(self, config: MkDocsConfig) -> MkDocsConfig | None: self._link_titles = self.config.link_titles if self.config.strip_title_tags == "auto": - if getattr(config.theme, "name", None) == "material": + if getattr(config.theme, "name", None) == "material" and "content.tooltips" in config.theme.get( + "features", + (), + ): self._strip_title_tags = False else: self._strip_title_tags = True diff --git a/tests/test_plugin.py b/tests/test_plugin.py index 13ed4ba..d5af4ea 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -183,7 +183,7 @@ def test_auto_strip_title_tags_false() -> None: plugin.config = AutorefsConfig() plugin.config.strip_title_tags = "auto" config = MkDocsConfig() - config.theme = Theme(name="material") + config.theme = Theme(name="material", features=["content.tooltips"]) plugin.on_config(config=config) assert plugin._strip_title_tags is False @@ -195,6 +195,10 @@ def test_auto_strip_title_tags_true() -> None: plugin.config.strip_title_tags = "auto" config = MkDocsConfig() + config.theme = Theme(name="material", features=[]) + plugin.on_config(config=config) + assert plugin._strip_title_tags is True + config.theme = Theme("mkdocs") plugin.on_config(config=config) assert plugin._strip_title_tags is True