Exemple #1
0
 internal Menu(SquashFeatureDirectory root, string outputDirectory, string menuHeader)
 {
     _outputDirectory = outputDirectory;
     SetHeader(menuHeader, root);
     _content = GetMenuFor(root);
     SquashLogger.Info("Generating page menu");
 }
Exemple #2
0
        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!");
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
                }
            }
        }
Exemple #6
0
        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");
        }
Exemple #7
0
 public void GenerateFiles()
 {
     SquashLogger.Info("Generating files");
     GenerateFeatureFilesFor(_root);
 }