Example #1
0
        private async static Task MinifyFile(IContentType contentType, string sourcePath, string minPath, IMinifierSettings settings, bool compilerNeedsSourceMap = true)
        {
            IFileMinifier minifier = Mef.GetImport <IFileMinifier>(contentType);
            bool          changed  = await minifier.MinifyFile(sourcePath, minPath, compilerNeedsSourceMap);

            if (settings.GzipMinifiedFiles && (changed || !File.Exists(minPath + ".gzip")))
            {
                FileHelpers.GzipFile(minPath);
            }
        }
        private static void MinifyFile(IContentType contentType, string sourcePath, string minPath, IMinifierSettings settings)
        {
            IFileMinifier minifier = Mef.GetImport <IFileMinifier>(contentType);
            bool          changed  = minifier.MinifyFile(sourcePath, minPath);

            if (settings.GzipMinifiedFiles && (changed || !File.Exists(minPath + ".gzip")))
            {
                FileHelpers.GzipFile(minPath);
            }
        }
Example #3
0
            public override void Invoke()
            {
                var element    = this.HtmlSmartTag.Element;
                var textBuffer = this.HtmlSmartTag.TextBuffer;

                ITextRange    range    = element.InnerRange;
                string        text     = textBuffer.CurrentSnapshot.GetText(range.Start, range.Length);
                IFileMinifier minifier = element.IsScriptBlock() ? (IFileMinifier) new JavaScriptFileMinifier() : new CssFileMinifier();
                string        result   = minifier.MinifyString(text);

                using (WebEssentialsPackage.UndoContext((this.DisplayText)))
                    textBuffer.Replace(range.ToSpan(), result);
            }
Example #4
0
        public override void Invoke(CancellationToken cancellationToken)
        {
            string        text     = Element.GetText(Element.InnerRange);
            IFileMinifier minifier = Element.IsScriptBlock() ? (IFileMinifier) new JavaScriptFileMinifier() : new CssFileMinifier();
            string        result   = minifier.MinifyString(text);

            using (WebEssentialsPackage.UndoContext((this.DisplayText)))
            {
                using (ITextEdit edit = TextBuffer.CreateEdit())
                {
                    edit.Replace(Element.InnerRange.ToSpan(), result);
                    edit.Apply();
                }
            }
        }