Generic HTML minifier
Наследование: IMarkupMinifier
Пример #1
0
        /// <summary>
        /// Constructs instance of HTML minifier
        /// </summary>
        /// <param name="settings">HTML minification settings</param>
        /// <param name="cssMinifier">CSS minifier</param>
        /// <param name="jsMinifier">JS minifier</param>
        /// <param name="logger">Logger</param>
        public HtmlMinifier(HtmlMinificationSettings settings = null, ICssMinifier cssMinifier = null,
			IJsMinifier jsMinifier = null, ILogger logger = null)
        {
            settings = settings ?? new HtmlMinificationSettings();

            _genericHtmlMinifier = new GenericHtmlMinifier(
                new GenericHtmlMinificationSettings
                    {
                        WhitespaceMinificationMode = settings.WhitespaceMinificationMode,
                        RemoveHtmlComments = settings.RemoveHtmlComments,
                        RemoveHtmlCommentsFromScriptsAndStyles = settings.RemoveHtmlCommentsFromScriptsAndStyles,
                        RemoveCdataSectionsFromScriptsAndStyles = settings.RemoveCdataSectionsFromScriptsAndStyles,
                        UseShortDoctype = settings.UseShortDoctype,
                        PreserveCase = settings.PreserveCase,
                        UseMetaCharsetTag = settings.UseMetaCharsetTag,
                        EmptyTagRenderMode = settings.EmptyTagRenderMode,
                        RemoveOptionalEndTags = settings.RemoveOptionalEndTags,
                        PreservableOptionalTagList = settings.PreservableOptionalTagList,
                        RemoveTagsWithoutContent = settings.RemoveTagsWithoutContent,
                        CollapseBooleanAttributes = settings.CollapseBooleanAttributes,
                        AttributeQuotesRemovalMode = settings.AttributeQuotesRemovalMode,
                        RemoveEmptyAttributes = settings.RemoveEmptyAttributes,
                        RemoveRedundantAttributes = settings.RemoveRedundantAttributes,
                        RemoveJsTypeAttributes = settings.RemoveJsTypeAttributes,
                        RemoveCssTypeAttributes = settings.RemoveCssTypeAttributes,
                        PreservableAttributeList = settings.PreservableAttributeList,
                        RemoveHttpProtocolFromAttributes = settings.RemoveHttpProtocolFromAttributes,
                        RemoveHttpsProtocolFromAttributes = settings.RemoveHttpsProtocolFromAttributes,
                        RemoveJsProtocolFromAttributes = settings.RemoveJsProtocolFromAttributes,
                        MinifyEmbeddedCssCode = settings.MinifyEmbeddedCssCode,
                        MinifyInlineCssCode = settings.MinifyInlineCssCode,
                        MinifyEmbeddedJsCode = settings.MinifyEmbeddedJsCode,
                        MinifyInlineJsCode = settings.MinifyInlineJsCode,
                        ProcessableScriptTypeList = settings.ProcessableScriptTypeList,
                        MinifyKnockoutBindingExpressions = settings.MinifyKnockoutBindingExpressions,
                        MinifyAngularBindingExpressions = settings.MinifyAngularBindingExpressions,
                        CustomAngularDirectiveList = settings.CustomAngularDirectiveList,
                        UseXhtmlSyntax = false
                    },
                cssMinifier,
                jsMinifier,
                logger
            );
        }
        /// <summary>
        /// Gets a instance of inner HTML minifier
        /// </summary>
        /// <returns>Instance of inner HTML minifier</returns>
        private GenericHtmlMinifier GetInnerHtmlMinifierInstance()
        {
            lock (_innerHtmlMinifierInstanceSynchronizer)
            {
                if (_innerHtmlMinifier == null)
                {
                    _innerHtmlMinifier = new GenericHtmlMinifier(_settings, new NullCssMinifier(), new NullJsMinifier(),
                        new NullLogger());
                }

                return _innerHtmlMinifier;
            }
        }
Пример #3
0
        /// <summary>
        /// Gets a instance of inner HTML minifier
        /// </summary>
        /// <returns>Instance of inner HTML minifier</returns>
        private GenericHtmlMinifier GetInnerHtmlMinifierInstance()
        {
            if (_innerHtmlMinifierInitializedFlag.Set())
            {
                _innerHtmlMinifier = new GenericHtmlMinifier(_settings, new NullCssMinifier(), new NullJsMinifier(),
                    new NullLogger());
            }

            return _innerHtmlMinifier;
        }