|
|
|
@ -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"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|