Bless.Core.BlessParser.Parse C# (CSharp) Метод

Parse() публичный Метод

public Parse ( string css ) : IEnumerable
css string
Результат IEnumerable
        public IEnumerable<string> Parse(string css)
        {
            var files = new List<string>();
            var parser = new Parser();
            var stylesheet = parser.Parse(css);

            var file = new StringBuilder();
            var index = 0;
            foreach (var rule in stylesheet.Rules)
            {
                if (index >= MaxSelectorCount)
                {
                    index = 0;
                    files.Add(file.ToString());
                    file = new StringBuilder();
                }

                file.AppendLine(rule.ToString());
                index++;
            }
            files.Add(file.ToString().TrimEnd());

            return files;
        }
    }

Usage Example

Пример #1
0
        static void Main(string[] args)
        {
            IEnumerable<string> files;
            using (var streamReader = new StreamReader(args[0]))
            {
                var parser = new BlessParser();
                files = parser.Parse(streamReader.ReadToEnd());
            }

            var dir = Path.GetDirectoryName(args[1]);
            var baseFileName = Path.GetFileName(args[1]);

            var fileAssembler = new FileAssembler();
            var builtFiles = fileAssembler.BuildFiles(files, baseFileName);
            builtFiles[builtFiles.Last().Key] = fileAssembler.AddImportsToBaseFile(builtFiles.Take(builtFiles.Count - 1).Select(x => x.Key), builtFiles.Last().Value);

            foreach (var file in builtFiles)
            {
                File.WriteAllText(Path.Combine(dir, file.Key), file.Value);
            }
        }
BlessParser