From 679855134d5f30483fa8490305a568b8c83c5bfb Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Sun, 9 May 2021 16:49:28 +0300 Subject: [PATCH] add more supported languages for highlighting. closes #3111 --- ...mjsScriptBundleContributorDocsExtension.cs | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs index 9406c2f6f2..9309234be7 100644 --- a/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs +++ b/modules/docs/src/Volo.Docs.Web/Bundling/PrismjsScriptBundleContributorDocsExtension.cs @@ -5,14 +5,47 @@ namespace Volo.Docs.Bundling { public class PrismjsScriptBundleContributorDocsExtension : BundleContributor { + private static readonly string[] SupportedLanguages = new[] { + "csharp", + "json", + "aspnet", + "bash", + "css", + "css-extras", + "docker", + "javascript", + "less", + "markdown", + "nginx", + "powershell", + "regex", + "sass", + "scss", + "sql", + "typescript" + }; + public override void ConfigureBundle(BundleConfigurationContext context) + { + AddPlugins(context); + AddLanguages(context); + } + + private static void AddLanguages(IBundleConfigurationContext context) + { + const string componentsPath = "/libs/prismjs/components/prism-{0}.js"; + foreach (var language in SupportedLanguages) + { + context.Files.AddIfNotContains(string.Format(componentsPath, language)); + } + } + + private static void AddPlugins(IBundleConfigurationContext context) { context.Files.AddIfNotContains("/libs/prismjs/plugins/toolbar/prism-toolbar.js"); context.Files.AddIfNotContains("/libs/prismjs/plugins/show-language/prism-show-language.js"); context.Files.AddIfNotContains("/libs/prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard.js"); context.Files.AddIfNotContains("/libs/prismjs/plugins/line-highlight/prism-line-highlight.js"); - context.Files.AddIfNotContains("/libs/prismjs/components/prism-csharp.js"); - context.Files.AddIfNotContains("/libs/prismjs/components/prism-json.js"); } } }