WebStoating.Markdig.PrismWithPlugins 1.0.0

dotnet add package WebStoating.Markdig.PrismWithPlugins --version 1.0.0
NuGet\Install-Package WebStoating.Markdig.PrismWithPlugins -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WebStoating.Markdig.PrismWithPlugins" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WebStoating.Markdig.PrismWithPlugins --version 1.0.0
#r "nuget: WebStoating.Markdig.PrismWithPlugins, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install WebStoating.Markdig.PrismWithPlugins as a Cake Addin
#addin nuget:?package=WebStoating.Markdig.PrismWithPlugins&version=1.0.0

// Install WebStoating.Markdig.PrismWithPlugins as a Cake Tool
#tool nuget:?package=WebStoating.Markdig.PrismWithPlugins&version=1.0.0

Markdig.Prism (Forked Version)

This is a forked version of the Markdig.Prism library, an extension that adds syntax highlighting to a Markdig pipeline through Prism.js JavaScript library.

This forked version includes additional features such as a download button for code blocks. Please note that some of these features require additional JavaScript to function correctly.

Usage

  1. Add this forked version of Markdig.Prism to your project.
dotnet add package WebStoating.Markdig.PrismWithPlugins --version 1.0.0
  1. Create Markdig pipeline
private static readonly MarkdownPipeline MarkdownPipeline = new MarkdownPipelineBuilder()
    .UseAdvancedExtensions()
    .UsePrism()
    .Build();
  1. Download Prism and add it to your Razor page or layout template. Make sure to include the additional JavaScript required for the plugins.
<!DOCTYPE html>
<html>
<head>
	...
	<link href="themes/prism.css" rel="stylesheet" />
</head>
<body>
	...
	<script src="prism.js"></script>
	
	<script src="yourAdditionalScript.js"></script>
</body>
</html>
  1. Convert Markdown to HTML
var html = Markdown.ToHtml(markdown, MarkdownPipeline);

Configuration

You can configure the extension by passing a PrismExtensionOptions object to the UsePrism method.

private static readonly MarkdownPipeline MarkdownPipeline = new MarkdownPipelineBuilder()
	.UseAdvancedExtensions()
	.UsePrism(new PrismExtensionOptions
	{
		UseDownloadButton = true,
		UseLineNumbers = true,
	})
	.Build();

It will default to the following options:

new PrismExtensionOptions
{
	UseDownloadButton = false,
	UseLineNumbers = false,
}

Supported Plugins

Supported Plugin Name Usage Guide
Line Highlight Guide
Line Numbers Guide
Show Invisibles Guide
Autolinker Guide
WebPlatform Docs Guide
Custom Class Guide
File Highlight Guide
Show Language Guide
JSONP Highlight Guide
Highlight Keywords Guide
Remove initial line feed Guide
Inline color Guide
Previewers Guide
Autoloader Guide
Keep Markup Guide
Command Line Guide
Unescaped Markup Guide
Normalize Whitespace Guide
Data-URI Highlight Guide
Toolbar Guide
Copy to Clipboard Button Guide
Download Button Guide
Match braces Guide
Diff Highlight Guide
Filter highlightAll Guide
Treeview Guide

Credits

This library is a fork of Markdig.Prism by Ilya Verbitskiy. All credit for the original work goes to them.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 569 7/5/2023

This version added the UseDownloadBotton and UseLineNumbers to the pipeline.