示例#1
0
        private string Minify(string markup)
        {
            MarkupMinificationResult result = _htmlMinifier.Minify(markup, string.Empty, Encoding.UTF8, true);

            if (result.Errors.Count == 0)
            {
                MinificationStatistics statistics = result.Statistics;
                if (statistics != null)
                {
                    Console.WriteLine();
                    Console.WriteLine($"Original size: {statistics.OriginalSize:N0} Bytes | Minified size: {statistics.MinifiedSize:N0} Bytes | Saved: {statistics.SavedInPercent:N2}%");
                }
                //Console.WriteLine($"{Environment.NewLine}Minified content:{Environment.NewLine}{Environment.NewLine}{result.MinifiedContent}");

                return(result.MinifiedContent);
            }
            else
            {
                IList <MinificationErrorInfo> errors = result.Errors;

                Console.WriteLine();
                Console.WriteLine($"Found {errors.Count:N0} error(s):");

                foreach (var error in errors)
                {
                    Console.WriteLine($" - Line {error.LineNumber}, Column {error.ColumnNumber}: {error.Message}");
                }

                return(markup);
            }
        }
        static void Main(string[] args)
        {
            const string htmlInput = @"<!DOCTYPE html>
    <html>
        <head>
            <meta charset=""utf-8"" />
            <title>The test document</title>
            <link href=""favicon.ico"" rel=""shortcut icon"" type=""image/x-icon"" />
            <meta name=""viewport"" content=""width=device-width"" />
            <link rel=""stylesheet"" type=""text/css"" href=""/Content/Site.css"" />
        </head>
        <body>
            <p>Lorem ipsum dolor sit amet...</p>
    
            <script src=""http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js""></script>
            <script>
                (window.jquery) || document.write('<script src=""/Scripts/jquery-1.9.1.min.js""><\/script>');
            </script>
        </body>
    </html>";

            var htmlMinifier = new HtmlMinifier();

            MarkupMinificationResult result = htmlMinifier.Minify(htmlInput,
                                                                  generateStatistics: true);

            if (result.Errors.Count == 0)
            {
                MinificationStatistics statistics = result.Statistics;
                if (statistics != null)
                {
                    Console.WriteLine("Original size: {0:N0} Bytes",
                                      statistics.OriginalSize);
                    Console.WriteLine("Minified size: {0:N0} Bytes",
                                      statistics.MinifiedSize);
                    Console.WriteLine("Saved: {0:N2}%",
                                      statistics.SavedInPercent);
                }
                Console.WriteLine("Minified content:{0}{0}{1}",
                                  Environment.NewLine, result.MinifiedContent);
            }
            else
            {
                IList <MinificationErrorInfo> errors = result.Errors;

                Console.WriteLine("Found {0:N0} error(s):", errors.Count);
                Console.WriteLine();

                foreach (var error in errors)
                {
                    Console.WriteLine("Line {0}, Column {1}: {2}",
                                      error.LineNumber, error.ColumnNumber, error.Message);
                    Console.WriteLine();
                }
            }
            Console.ReadLine();
        }
示例#3
0
 /// <summary>
 /// Logs a information
 /// </summary>
 /// <param name="category">Information category</param>
 /// <param name="message">Information message</param>
 /// <param name="filePath">File path</param>
 /// <param name="statistics">Minification statistics</param>
 public void Info(string category, string message, string filePath = "", MinificationStatistics statistics = null)
 {
 }
示例#4
0
		/// <summary>
		/// Logs a information
		/// </summary>
		/// <param name="category">Information category</param>
		/// <param name="message">Information message</param>
		/// <param name="filePath">File path</param>
		/// <param name="statistics">Minification statistics</param>
		public void Info(string category, string message, string filePath = "", MinificationStatistics statistics = null)
		{ }