Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET

License

NotificationsYou must be signed in to change notification settings

xoofx/markdig

Repository files navigation

Markdig is a fast, powerful,CommonMark compliant, extensible Markdown processor for .NET.

NOTE: The repository is under construction. There will be a dedicated website and proper documentation at some point!

You cantry Markdig online and compare it to other implementations onbabelmark3

Features

If you are looking for support for an old .NET Framework 3.5 or 4.0, you can download Markdig0.18.3.

Third Party Extensions

Documentation

The repository is under construction. There will be a dedicated website and proper documentation at some point!

While there is not yet a dedicated documentation, you can find from thespecs documentation how to use these extensions.

In the meantime, you can have a "behind the scene" article about Markdig in my blog post"Implementing a Markdown Engine for .NET"

Download

Markdig is available as a NuGet package:NuGet

AlsoMarkdig.Signed NuGet package provides signed assemblies.

Usage

The main entry point for the API is theMarkdig.Markdown class:

By default, without any options, Markdig is using the plain CommonMark parser:

varresult=Markdown.ToHtml("This is a text with some *emphasis*");Console.WriteLine(result);// prints: <p>This is a text with some <em>emphasis</em></p>

In order to activate most of all advanced extensions (except Emoji, SoftLine as HardLine, Bootstrap, YAML Front Matter, JiraLinks and SmartyPants)

// Configure the pipeline with all advanced extensions activevarpipeline=newMarkdownPipelineBuilder().UseAdvancedExtensions().Build();varresult=Markdown.ToHtml("This is a text with some *emphasis*",pipeline);

Try it online!

You can have a look at theMarkdownExtensions that describes all actionable extensions (by modifying the MarkdownPipeline)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. For detailed contributing guidelines, please seecontributing.md.

Build

In order to build Markdig, you need to install.NET 6.0

License

This software is released under theBSD-Clause 2 license.

Benchmarking

The latest benchmark was collected on April 23 2022, against the following implementations:

  • Markdig (version: 0.30.2): itself
  • cmark (version: 0.30.2): Reference C implementation of CommonMark, no support for extensions
  • CommonMark.NET(master) (version: 0.15.1): CommonMark implementation for .NET, no support for extensions, port of cmark, deprecated.
  • MarkdownSharp (version: 2.0.5): Open source C# implementation of Markdown processor, as featured previously on Stack Overflow, regexp based.
// * Summary *BenchmarkDotNet=v0.13.1, OS=Windows 10.0.22000AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores.NET SDK=6.0.202  [Host]     : .NET 6.0.4 (6.0.422.16404), X64 RyuJIT  DefaultJob : .NET 6.0.4 (6.0.422.16404), X64 RyuJIT|            Method |       Mean |     Error |    StdDev ||------------------ |-----------:|----------:|----------:||           markdig |   1.979 ms | 0.0221 ms | 0.0185 ms ||             cmark |   2.571 ms | 0.0081 ms | 0.0076 ms ||    CommonMark.NET |   2.016 ms | 0.0169 ms | 0.0158 ms ||     MarkdownSharp | 221.455 ms | 1.4442 ms | 1.3509 ms |
  • Markdig is roughlyx100 times faster than MarkdownSharp
  • 20% faster than the reference cmark C implementation

Sponsors

Supports this project with a monthly donation and help me continue improving it. [Become a sponsor]

lilith Lilith River, author ofImageflow Server, an easy on-demandimage editing, optimization, and delivery server

Credits

Thanks to the fantastic work done byJohn Mac Farlane for the CommonMark specs and all the people involved in making Markdown a better standard!

This project would not have been possible without this huge foundation.

Thanks also to the projectBenchmarkDotNet that makes benchmarking so easy to setup!

Some decoding part (e.g HTMLEntityHelper.cs) have been re-used fromCommonMark.NET

Thanks to the work done by @clarkd on theJIRA Link extension, now included with this project!

Author

Alexandre MUTEL akaxoofx

About

A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors96

Languages


[8]ページ先頭

©2009-2025 Movatter.jp