/WebMarkupMin

The Web Markup Minifier (abbreviated WebMarkupMin) - a .NET library that contains a set of markup minifiers. The objective of this project is to improve the performance of web applications by reducing the size of HTML, XHTML and XML code.

Primary LanguageC#Apache License 2.0Apache-2.0

Web Markup Minifier NuGet version Download count

WebMarkupMin logo

The Web Markup Minifier (abbreviated WebMarkupMin) - a .NET library that contains a set of markup minifiers. The objective of this project is to improve the performance of web applications by reducing the size of HTML, XHTML and XML code.

WebMarkupMin absorbed the best of existing solutions from non-microsoft platforms: Juriy Zaytsev's HTML Minifier (written in JavaScript) and Sergiy Kovalchuk's HtmlCompressor (written in Java).

Minification of markup produces by removing extra whitespace, comments and redundant code (only for HTML and XHTML). In addition, HTML and XHTML minifiers supports the minification of CSS code from style tags and attributes, and minification of JavaScript code from script tags, event attributes and hyperlinks with javascript: protocol. WebMarkupMin.Core contains built-in JavaScript minifier based on the Douglas Crockford's JSMin and built-in CSS minifier based on the Mads Kristensen's Efficient stylesheet minifier. The above mentioned minifiers produce only the most simple minifications of CSS and JavaScript code, but you can always install additional modules that support the more powerful algorithms of minification: WebMarkupMin.MsAjax (contains minifier-adapters for the Microsoft Ajax Minifier), WebMarkupMin.Yui (contains minifier-adapters for the YUI Compressor for .NET) and WebMarkupMin.NUglify (contains minifier-adapters for the NUglify).

Also supports minification of views of popular JavaScript template engines: KnockoutJS, Kendo UI MVVM and AngularJS 1.X.

In addition, there are several modules that integrate this library into ASP.NET: WebMarkupMin.AspNet4.HttpModules (for ASP.NET 4.X and ASP.NET Web Pages), WebMarkupMin.AspNet4.Mvc (for ASP.NET MVC 3, 4 or 5), WebMarkupMin.AspNet4.WebForms (for ASP.NET Web Forms 4.X), WebMarkupMin.AspNetCore1 (for ASP.NET Core 1.X), WebMarkupMin.AspNetCore2 (for ASP.NET Core 2.X), WebMarkupMin.AspNetCore3 (for ASP.NET Core 3.1+), WebMarkupMin.AspNetCore5 (for ASP.NET Core 5.X), WebMarkupMin.AspNetCore6 (for ASP.NET Core 6), WebMarkupMin.AspNetCore7 (for ASP.NET Core 7) and WebMarkupMin.AspNetCore8 (for ASP.NET Core 8).

You can try WebMarkupMin in action and experiment with different minification settings live on the WebMarkupMin Online site.

NuGet Packages

Core

  • WebMarkupMin: Core (supports .NET Framework 4.0 Client, .NET Framework 4.5, .NET Standard 1.3, .NET Standard 2.0 and .NET Standard 2.1)

External JS and CSS minifiers

ASP.NET Extensions

Unofficial modules

Requires NuGet Package Manager version 2.8.6 or higher.

Documentation

Documentation is located on the wiki of this Repo.

Previous Versions

Source code and documentation for previous versions of WebMarkupMin are located on CodePlex. If you have used old versions of WebMarkupMin, then I recommend to first read “How to upgrade applications to version 2.X” section of the documentation.

Who's Using WebMarkupMin

If you use WebMarkupMin in some project, please send me a message so I can include it in this list:

Software

Websites