From 4ea78da2e93e1165c2600df5f5a66704ff8bc197 Mon Sep 17 00:00:00 2001 From: Martin Donath Date: Thu, 7 Oct 2021 09:57:14 +0200 Subject: [PATCH] Allow third-party plugins to override core plugins (#2591) * Allow third-party plugins to override core plugins * Improve resilience of check for core plugin --- mkdocs/plugins.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mkdocs/plugins.py b/mkdocs/plugins.py index 117e182f83..8cd60e2d36 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 plugin.value.startswith("mkdocs.contrib."): + continue + + pluginmap[plugin.name] = plugin + + return pluginmap class BasePlugin: