public GoogleHtmlMinificationService() { _compressor = new HtmlCompressor(); _compressor.setEnabled(true); _compressor.setRemoveComments(true); _compressor.setRemoveMultiSpaces(true); _compressor.setRemoveIntertagSpaces(true); }
public void testRemoveSpacesInsideTags() { var source = Resources.testRemoveSpacesInsideTags; var result = Resources.testRemoveSpacesInsideTagsResult; var compressor = new HtmlCompressor(); compressor.setRemoveMultiSpaces(false); var compress = compressor.compress(source); Assert.AreEqual(result, compress); }
public static async Task Run( [QueueTrigger(QueueName.RenderPage)] RenderPage command, [Blob(ContainerName.PageTemplate + "/{" + nameof(RenderPage.TemplateId) + "}", FileAccess.Read)] CloudBlockBlob pageTemplateBlob, [Blob(ContainerName.PageData + "/{" + nameof(RenderPage.DataInstanceId) + "}", FileAccess.ReadWrite)] CloudBlockBlob pageDataBlob, [Blob(ContainerName.WebHost + "/{" + nameof(RenderPage.PublicUrl) + "}", FileAccess.Write)] CloudBlockBlob pageHtmlBlob, [Queue(QueueName.CopyBlob)] CloudQueue copyQueue, ILogger log) { log.LogInformation(JsonConvert.SerializeObject(command)); var copyQueueService = new CommandQueueService(copyQueue); var pageData = JsonConvert.DeserializeObject(await pageDataBlob.DownloadTextAsync()); var pageTemplate = await pageTemplateBlob.DownloadTextAsync(); var html = Render.StringToString(pageTemplate, pageData, new RenderContextBehaviour { HtmlEncoder = text => text }); var compressor = new HtmlCompressor(); compressor.setEnabled(true); compressor.setRemoveComments(true); compressor.setRemoveMultiSpaces(true); compressor.setRemoveIntertagSpaces(true); html = compressor.compress(html); await pageHtmlBlob.UploadTextAsync(html); pageHtmlBlob.Properties.ContentType = "text/html"; await pageHtmlBlob.SetPropertiesAsync(); var copyCommand = new CopyBlob { Path = command.PublicUrl }; await Task.WhenAll( pageDataBlob.DeleteAsync(), copyQueueService.SubmitCommandAsync(copyCommand) ); }
protected HtmlCompressor createCompressorClone() { HtmlCompressor clone = new HtmlCompressor(); //clone.setJavaScriptCompressor(javaScriptCompressor); //clone.setCssCompressor(cssCompressor); clone.setRemoveComments(_removeComments); clone.setRemoveMultiSpaces(_removeMultiSpaces); clone.setRemoveIntertagSpaces(_removeIntertagSpaces); clone.setRemoveQuotes(removeQuotes); //clone.setCompressJavaScript(compressJavaScript); clone.setCompressCss(compressCss); clone.setSimpleDoctype(_simpleDoctype); clone.setRemoveScriptAttributes(_removeScriptAttributes); clone.setRemoveStyleAttributes(_removeStyleAttributes); clone.setRemoveLinkAttributes(_removeLinkAttributes); clone.setRemoveFormAttributes(_removeFormAttributes); clone.setRemoveInputAttributes(_removeInputAttributes); clone.setSimpleBooleanAttributes(_simpleBooleanAttributes); //clone.setRemoveJavaScriptProtocol(removeJavaScriptProtocol); clone.setRemoveHttpProtocol(_removeHttpProtocol); clone.setRemoveHttpsProtocol(_removeHttpsProtocol); clone.setPreservePatterns(preservePatterns); clone.setYuiJsNoMunge(yuiJsNoMunge); clone.setYuiJsPreserveAllSemiColons(yuiJsPreserveAllSemiColons); clone.setYuiJsDisableOptimizations(yuiJsDisableOptimizations); clone.setYuiJsLineBreak(yuiJsLineBreak); clone.setYuiCssLineBreak(yuiCssLineBreak); //clone.setYuiErrorReporter(yuiErrorReporter); return clone; }