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(); }
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); }