diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-06-13 00:14:48 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-06-13 00:14:48 -0400 |
| commit | 5eb0006588c8899f0b2ce7900f20e14acfeb977e (patch) | |
| tree | 607682278ef60a6326aa83f32bba7d1a526be8e1 /MediaBrowser.WebDashboard/Api/DashboardService.cs | |
| parent | b04ee978223358e5a85e8fa0463b3452c9e4be9a (diff) | |
add xframe setting
Diffstat (limited to 'MediaBrowser.WebDashboard/Api/DashboardService.cs')
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardService.cs | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 18f75939c..72744f249 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Extensions; +using System.Text; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.IO; using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; @@ -16,6 +17,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; +using WebMarkupMin.Core.Minifiers; namespace MediaBrowser.WebDashboard.Api { @@ -308,6 +310,11 @@ namespace MediaBrowser.WebDashboard.Api File.Delete(Path.Combine(path, "thirdparty", "jquerymobile-1.4.5", "jquery.mobile-1.4.5.min.map")); } + MinifyCssDirectory(Path.Combine(path, "css")); + MinifyJsDirectory(Path.Combine(path, "scripts")); + MinifyJsDirectory(Path.Combine(path, "thirdparty", "apiclient")); + MinifyJsDirectory(Path.Combine(path, "voice")); + await DumpHtml(creator.DashboardUIPath, path, mode, culture, appVersion); await DumpJs(creator.DashboardUIPath, path, mode, culture, appVersion); @@ -317,6 +324,60 @@ namespace MediaBrowser.WebDashboard.Api return ""; } + private void MinifyCssDirectory(string path) + { + foreach (var file in Directory.GetFiles(path, "*.css", SearchOption.AllDirectories)) + { + try + { + var text = File.ReadAllText(file, Encoding.UTF8); + + var result = new KristensenCssMinifier().Minify(text, false, Encoding.UTF8); + + if (result.Errors.Count > 0) + { + Logger.Error("Error minifying css: " + result.Errors[0].Message); + } + else + { + text = result.MinifiedContent; + File.WriteAllText(file, text, Encoding.UTF8); + } + } + catch (Exception ex) + { + Logger.ErrorException("Error minifying css", ex); + } + } + } + + private void MinifyJsDirectory(string path) + { + foreach (var file in Directory.GetFiles(path, "*.js", SearchOption.AllDirectories)) + { + try + { + var text = File.ReadAllText(file, Encoding.UTF8); + + var result = new CrockfordJsMinifier().Minify(text, false, Encoding.UTF8); + + if (result.Errors.Count > 0) + { + Logger.Error("Error minifying javascript: " + result.Errors[0].Message); + } + else + { + text = result.MinifiedContent; + File.WriteAllText(file, text, Encoding.UTF8); + } + } + catch (Exception ex) + { + Logger.ErrorException("Error minifying css", ex); + } + } + } + private async Task DumpHtml(string source, string destination, string mode, string culture, string appVersion) { foreach (var file in Directory.GetFiles(source, "*.html", SearchOption.TopDirectoryOnly)) |
