internal void Generate(IDriver driver) { Files = new List<HtmlFile>(); if (!driver.PreGenerate(this)) { } if (!driver.Generate(this)) { var inFiles = Directory.EnumerateFiles(InputDirectory, "*.*", SearchOption.AllDirectories); foreach (var path in inFiles) { // If any stage returns null this file is broken and should be ignored var file = new HtmlFile(Path.GetFullPath(path).Substring(Path.GetFullPath(InputDirectory).Length).Replace('\\', '/'), "", File.ReadAllText(path), "", "", null); if (file != null) file = ProcessStage1(file); if (file != null) file = ProcessStage2(file); if (file != null) file = ProcessStage3(file); if (file != null) Files.Add(file); } } if(!driver.PostGenerate(this)) { } }