Skip to content

deanhume/html-minifier

Repository files navigation

HTML Minifier

Github Actions Status License: MIT

A fast and efficient command-line tool to minify your HTML, Razor views, and Web Forms views. Reduce file sizes, improve load times, and deliver a better user experience by removing unnecessary whitespace and comments from your HTML files.

✨ Features

  • πŸš€ Fast Processing - Minifies files and entire directory trees quickly
  • πŸ“ Flexible Input - Process individual files, specific folders, or entire directory structures
  • βš™οΈ Configurable - Control line length and selectively disable minification features
  • πŸ”§ Framework Support - Special handling for Knockout.js, Angular, and other comment-dependent frameworks
  • 🎯 Targeted Minification - Choose what to minify: HTML comments, JavaScript comments, or Knockout comments
  • πŸ”„ CI/CD Ready - Easy integration with MSBuild and build pipelines

πŸ“¦ Installation

  1. Download the latest release from the releases page
  2. Extract the HtmlMinifier.exe to your desired location
  3. Add the tool to your PATH or reference it directly

πŸš€ Quick Start

Transform verbose HTML into compact, optimized code:

Before:

<h2>
    Admin Menu</h2>
<ul>
    <li>@Html.ActionLink("Edit blog entries", "List", "Admin")</li>
    <li>@Html.ActionLink("View Comments", "CommentList", "Admin")</li>
    <li>@Html.ActionLink("Clear Cache", "ClearCache", "Admin")</li>
</ul>

After:

<h2> Admin Menu</h2><ul><li>@Html.ActionLink("Edit blog entries", "List", "Admin")</li><li>@Html.ActionLink("View Comments", "CommentList", "Admin")</li><li>@Html.ActionLink("Clear Cache", "ClearCache", "Admin")</li></ul>

πŸ“– Usage

Basic Usage

Minify all HTML files in a folder (including subfolders):

HtmlMinifier.exe "C:\Folder"

Advanced Options

Limit Line Length

Restrict the maximum number of characters per line:

HtmlMinifier.exe "C:\Folder" "60000"

Preserve Comments

For frameworks that rely on HTML comments (Angular, Knockout, etc.), preserve them:

HtmlMinifier.exe "C:\Folder" ignorehtmlcomments

Preserve JavaScript Comments

Keep JavaScript comments in your code:

HtmlMinifier.exe "C:\Folder" ignorejscomments

Preserve Knockout Comments

Specifically preserve Knockout.js comments:

HtmlMinifier.exe "C:\Folder" ignoreknockoutcomments

Multiple Targets

Minify Multiple Folders

HtmlMinifier.exe "C:\Folder\fld1" "C:\Folder\fld2"

Minify Specific Files

HtmlMinifier.exe "C:\Folder\file1.html" "C:\Folder\file2.html"

πŸ”¨ Build Integration

Integrate HTML Minifier into your build process for automatic minification during deployment. Check out this detailed guide on using HTML Minifier with MSBuild.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“ Requirements

  • .NET Framework (Windows)
  • Supports HTML, Razor (.cshtml), and Web Forms (.aspx) files

πŸ“„ License

Copyright (C) Dean Hume 2013 - 2025

Released under the MIT License


Made with ❀️ by Dean Hume

About

A simple command line tool to minify your HTML, Razor views & Web Forms views

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 11

Languages