From 0544970b74833b79119f74ef03d4ce3c8bcdd24e Mon Sep 17 00:00:00 2001 From: squidfunk Date: Fri, 1 Oct 2021 08:50:19 +0200 Subject: [PATCH 1/2] Allow third-party plugins to override core plugins --- mkdocs/plugins.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mkdocs/plugins.py b/mkdocs/plugins.py index 117e182f83..08e7ef886e 100644 --- a/mkdocs/plugins.py +++ b/mkdocs/plugins.py @@ -26,7 +26,15 @@ def get_plugins(): plugins = importlib_metadata.entry_points(group='mkdocs.plugins') - return {plugin.name: plugin for plugin in plugins} + # Allow third-party plugins to override core plugins + pluginmap = {} + for plugin in plugins: + if plugin.name in pluginmap and "mkdocs.contrib" in plugin.value: + continue + + pluginmap[plugin.name] = plugin + + return pluginmap class BasePlugin: From d01d979770ac9c2d786bf28d0330c58d90467532 Mon Sep 17 00:00:00 2001 From: squidfunk Date: Thu, 7 Oct 2021 08:52:27 +0200 Subject: [PATCH 2/2] Improve resilience of check for core plugin --- mkdocs/plugins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs/plugins.py b/mkdocs/plugins.py index 08e7ef886e..8cd60e2d36 100644 --- a/mkdocs/plugins.py +++ b/mkdocs/plugins.py @@ -29,7 +29,7 @@ def get_plugins(): # Allow third-party plugins to override core plugins pluginmap = {} for plugin in plugins: - if plugin.name in pluginmap and "mkdocs.contrib" in plugin.value: + if plugin.name in pluginmap and plugin.value.startswith("mkdocs.contrib."): continue pluginmap[plugin.name] = plugin