Beispiel #1
0
        private string minify(IIncludeTypeSettings settings)
        {
            if (Content == "")
            {
                return("");
            }
            if (!settings.Minify)
            {
                return(Content);
            }
            switch (Type)
            {
            case IncludeType.Js:
                var compressor = new JavaScriptCompressor(Content);
                var jsSettings = (JsTypeElement)settings;
                var minifiedJs = compressor.Compress(jsSettings.Obfuscate, jsSettings.PreserveSemiColons, jsSettings.DisableOptimizations, settings.LineBreakAt);
                return(minifiedJs);

            case IncludeType.Css:
                var minifiedCss = CssCompressor.Compress(Content, settings.LineBreakAt, ((CssTypeElement)settings).CompressionType);
                return(minifiedCss);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #2
0
 public IncludeCombination(IncludeType type, IEnumerable <string> sources, string content, DateTime now, IIncludeTypeSettings settings)
 {
     Type           = type;
     Sources        = sources;
     Content        = content;
     LastModifiedAt = now;
     _minified      = minify(settings);
     _bytes         = new Dictionary <ResponseCompression, byte[]>
     {
         { ResponseCompression.None, generateResponseBody(ResponseCompression.None) },
         { ResponseCompression.Gzip, generateResponseBody(ResponseCompression.Gzip) },
         { ResponseCompression.Deflate, generateResponseBody(ResponseCompression.Deflate) }
     };
 }