public CSSOutputFileEngine(CSSFileDefinition definition, string outputFolderCSS, string outputFolderJSON)
        {
            this._definition       = definition;
            this._outputFolderCSS  = outputFolderCSS;
            this._outputFolderJSON = outputFolderJSON;

            var keyCounter = _definition.KeysCounter(true);
        }
        private static void Main(string[] args)
        {
            string sourceFolder     = ConfigurationManager.AppSettings["SourceFolder"];
            string outputFolderCSS  = ConfigurationManager.AppSettings["OutputFolderCSS"];
            string outputFolderJSON = ConfigurationManager.AppSettings["OutputFolderJSON"];

            CSSInputFileEngine engine     = new CSSInputFileEngine(sourceFolder, outputFolderJSON);
            CSSFileDefinition  definition = engine.DoWork();

            CSSOutputFileEngine feo = new CSSOutputFileEngine(definition, outputFolderCSS, outputFolderJSON)
            {
                TrimStyle = true
            };

            feo.DoWork();
        }
Beispiel #3
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);
        }