public static CompileResult CompileLess(string file, string contents, string theme, Dictionary<string, string> themeLessVariables) { if (string.IsNullOrEmpty(theme)) theme = "Default"; var importedFilePaths = new HashSet<string>(); var logger = new ThemedLessLogger(theme); var engine = new LessEngine( new Parser(new ConsoleStylizer(), new Importer(importedFilePaths, file, theme)), logger, false, false) { Plugins = new List<IPluginConfigurator> { new VariableOverridePluginConfigurator(themeLessVariables) } }; if (string.IsNullOrEmpty(contents)) { using (var sr = new StreamReader(System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile(file).Open())) { contents = sr.ReadToEnd(); } } var result = engine.TransformToCss(contents, file); if (logger.LoggedErrors.Any()) { throw new Exception("Error(s) compiling less. " + string.Join(" - ", logger.LoggedErrors.Select(x => "\"" + x + "\"").ToArray())); } return new CompileResult(result, importedFilePaths); }
public static CompileResult CompileLess(string file, string contents, string theme, Dictionary <string, string> themeLessVariables) { if (string.IsNullOrEmpty(theme)) { theme = "Default"; } var importedFilePaths = new HashSet <string>(); var logger = new ThemedLessLogger(theme); var engine = new LessEngine( new Parser(new ConsoleStylizer(), new Importer(importedFilePaths, file, theme)), logger, false, false) { Plugins = new List <IPluginConfigurator> { new VariableOverridePluginConfigurator(themeLessVariables) } }; if (string.IsNullOrEmpty(contents)) { using (var sr = new StreamReader(System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetFile(file).Open())) { contents = sr.ReadToEnd(); } } var result = engine.TransformToCss(contents, file); if (logger.LoggedErrors.Any()) { throw new Exception("Error(s) compiling less. " + string.Join(" - ", logger.LoggedErrors.Select(x => "\"" + x + "\"").ToArray())); } return(new CompileResult(result, importedFilePaths)); }