internal Menu(SquashFeatureDirectory root, string outputDirectory, string menuHeader) { _outputDirectory = outputDirectory; SetHeader(menuHeader, root); _content = GetMenuFor(root); SquashLogger.Info("Generating page menu"); }
public void Squash(SquashConfiguration configuration) { var squashFeatureDirectory = new SquashFeatureDirectory(configuration.InputDirectory); var template = new PageTemplate(squashFeatureDirectory, configuration.OutputDirectory, configuration.Title); var htmlGenerator = new HtmlGenerator(template, configuration.OutputDirectory, squashFeatureDirectory); htmlGenerator.ClearOutputDirectory(); htmlGenerator.GenerateFiles(); SquashLogger.Info("Done!"); }
private void GetFeatureFiles() { var featureFiles = Directory.GetFiles(DirectoryName, "*.feature"); SquashLogger.Info($"Got {featureFiles.Length} feature files for {DirectoryName}"); foreach (var file in featureFiles) { var feature = new SquashFeature(file); FeatureFiles.Add(feature); } }
public void ClearOutputDirectory() { SquashLogger.Info("Clearing output directory"); DirectoryInfo di = new DirectoryInfo(_outputDirectory); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } }
private void GetDirectories() { var directories = Directory.GetDirectories(DirectoryName); SquashLogger.Info($"Got {directories.Length} directories for {DirectoryName}"); foreach (var dir in directories) { var e = dir.Split('\\'); var ext = e[e.Length - 1] + "\\"; var f = new SquashFeatureDirectory(dir, DirectoryExtension + ext); if (f.Directories.Count > 0 || f.FeatureFiles.Count > 0) { Directories.Add(f); } } }
internal PageTemplate(SquashFeatureDirectory squashFeatureDirectory, string outputDirectory, string menuHeader = "") { var menu = new Menu(squashFeatureDirectory, outputDirectory, menuHeader); // string style = File.ReadAllText("style.css"); //string script = File.ReadAllText("script.js"); var template = new Template(Templates.Template); template.Replace("menu", menu); template.Replace("templateStyle", minifiedCss); template.Replace("templateScript", minifiedJs); _template = template; SquashLogger.Info("Got page template"); }
public void GenerateFiles() { SquashLogger.Info("Generating files"); GenerateFeatureFilesFor(_root); }