From 2441d3bc014d68c447b8de0405648e46de3897f1 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: