Beispiel #1
0
        public CSSFileDefinition DoWork()
        {
            CSSFileDefinition result = new CSSFileDefinition();

            var files = Directory.GetFiles(_source, "*.css");

            foreach (var item in files)
            {
                string css = File.ReadAllText(item);

                if (string.IsNullOrEmpty(css))
                {
                    continue;
                }

                css = css.Replace("\r\n", string.Empty);

                var styles = GetLines(css);

                if (styles == null || styles.Length == 0)
                {
                    continue;
                }

                string fileName = new FileInfo(item).Name;

                for (int idxStyle = 0; idxStyle < styles.Length; idxStyle++)
                {
                    string row = styles[idxStyle];

                    string rowNoSpace = row.Clone() as string;

                    _regex.FindAndRemoveTextByRegex(_regex.REGEX_CSS_SPACES, ref rowNoSpace, null);

                    result.Add(fileName, rowNoSpace, row, idxStyle);
                }
            }

            string jsonPath = Path.Combine(_outputFolderJson, "CSSFileDefinition.json");

            FileHelper.WriteJSON <CSSFileDefinition>(jsonPath, result);

            return(result);
        }