public System.IO.Stream Process(string virtualPath, string rootPath, System.IO.Stream source, Dictionary<string, string> settings)
        {
            var engine = new dotless.Core.LessEngine();
            if (settings != null)
            {
                bool compress = false;
                if (bool.TryParse(settings["compress"], out compress))
                    engine.Compress = compress;
            }

            var src = new StreamReader(source).ReadToEnd();
            source.Dispose();
            string output = engine.TransformToCss(src, Path.Combine(rootPath, virtualPath.TrimStart('\\')));

            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(output));
            return ms;
        }
示例#2
0
        public override IEnumerable<PvcStream> Execute(IEnumerable<PvcStream> inputStreams)
        {
            var lessEngine = new dotless.Core.LessEngine();
            var resultStreams = new List<PvcStream>();

            foreach (var inputStream in inputStreams)
            {
                var lessContent = inputStream.ToString();
                var cssContent = lessEngine.TransformToCss(lessContent, "");

                var newStreamName = Path.Combine(Path.GetDirectoryName(inputStream.StreamName), Path.GetFileNameWithoutExtension(inputStream.StreamName) + ".css");
                var resultStream = PvcUtil.StringToStream(cssContent, newStreamName);
                resultStreams.Add(resultStream);
            }

            return resultStreams;
        }
示例#3
0
        private void CompileLess()
        {
            var lessFiles = _sources.Pick(f => f.Name.EndsWith(".less")).ToArray();

            if (!lessFiles.Any())
            {
                return;
            }

            var lessEngine = new dotless.Core.LessEngine(new Parser(), new DiagnosticsLogger(LogLevel.Info), true, false);

            foreach (var lessFile in lessFiles)
            {
                string cssSource = File.ReadAllText(lessFile.FullName);
                _sources.Add(new FileInfo(lessEngine.TransformToCss(lessFile.FullName, Path.ChangeExtension(lessFile.FullName, ".css"))));
            }
        }
示例#4
0
文件: Cake.cs 项目: skovsboll/Cake
        private void CompileLess()
        {
            var lessFiles = _sources.Pick(f => f.Name.EndsWith(".less")).ToArray();

            if (!lessFiles.Any()) return;

            var lessEngine = new dotless.Core.LessEngine(new Parser(), new DiagnosticsLogger(LogLevel.Info), true, false);

            foreach (var lessFile in lessFiles)
            {
                string cssSource = File.ReadAllText(lessFile.FullName);
                _sources.Add(new FileInfo(lessEngine.TransformToCss(lessFile.FullName, Path.ChangeExtension(lessFile.FullName, ".css"))));
            }
        }