private void InnerTranslate(IAsset asset, CompilationOptions sassOptions, bool enableNativeMinification) { string assetTypeName = asset.AssetTypeCode == Constants.AssetTypeCode.Sass ? "Sass" : "SCSS"; string newContent; string assetUrl = asset.Url; IList <string> dependencies; try { CompilationResult result = SassCompiler.Compile(asset.Content, assetUrl, options: sassOptions); newContent = result.CompiledContent; dependencies = result.IncludedFilePaths; } catch (SassСompilationException e) { throw new AssetTranslationException( string.Format(CoreStrings.Translators_TranslationSyntaxError, assetTypeName, OUTPUT_CODE_TYPE, assetUrl, SassErrorHelpers.Format(e))); } catch (Exception e) { throw new AssetTranslationException( string.Format(CoreStrings.Translators_TranslationFailed, assetTypeName, OUTPUT_CODE_TYPE, assetUrl, e.Message), e); } asset.Content = newContent; asset.Minified = enableNativeMinification; asset.RelativePathsResolved = false; asset.VirtualPathDependencies = dependencies; }
private static void WriteError(string title, SassСompilationException exception) { Console.WriteLine("{0} See details:", title); Console.WriteLine(); Console.WriteLine(SassErrorHelpers.Format(exception)); Console.WriteLine(); }
protected static void CompileFile() { try { var options = new CompilationOptions { SourceMap = true, OutputStyle = OutputStyle.Compressed, SourceMapFileUrls = true }; CompilationResult compilationResult = SassCompiler.Compile(_importingContent, OutputhPath, OutputhmapPath, options: options); Console.WriteLine("Compiled content:{1}{1}{0}{1}", compilationResult.CompiledContent, Environment.NewLine); Console.WriteLine("Source map:{1}{1}{0}{1}", compilationResult.SourceMap, Environment.NewLine); Console.WriteLine("Included file paths: {0}", string.Join(", ", compilationResult.IncludedFilePaths)); } catch (SassСompilationException ex) { Console.WriteLine(SassErrorHelpers.Format(ex)); } }