public override void Process(SnowyData snowyData, SnowSettings settings)
        {
            foreach (var tempCategory in TestModule.Categories)
            {
                var category = tempCategory;

                var posts = snowyData.Files.Where(x => x.Categories.Contains(category.Name));

                TestModule.Category        = category;
                TestModule.PostsInCategory = posts.ToList();

                var result = snowyData.Browser.Post("/static");

                result.ThrowIfNotSuccessful(snowyData.File.File);

                var outputFolder = Path.Combine(snowyData.Settings.Output, "category", category.Url);

                if (!Directory.Exists(outputFolder))
                {
                    Directory.CreateDirectory(outputFolder);
                }

                File.WriteAllText(Path.Combine(outputFolder, "index.html"), result.Body.AsString());
            }
        }
Beispiel #2
0
        public override void Process(SnowyData snowyData, SnowSettings settings)
        {
            var result = snowyData.Browser.Post("/sitemap");

            var outputFolder = snowyData.Settings.Output;

            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }

            File.WriteAllText(Path.Combine(outputFolder, snowyData.File.File), result.Body.AsString());
        }
Beispiel #3
0
        public override void Process(SnowyData snowyData, SnowSettings settings)
        {
            var result = snowyData.Browser.Post("/static");

            result.ThrowIfNotSuccessful(snowyData.File.File);

            var outputFolder = Path.Combine(snowyData.Settings.Output, snowyData.File.File.Substring(0, snowyData.File.File.IndexOf('.')));

            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }

            File.WriteAllText(Path.Combine(outputFolder, "index.html"), result.Body.AsString());
        }
Beispiel #4
0
        public override void Process(SnowyData snowyData, SnowSettings settings)
        {
            var postsForRss = snowyData.Files.Take(10).ToList();

            TestModule.PostsPaged = postsForRss;
            TestModule.StaticFile = snowyData.File;

            var result = snowyData.Browser.Post("/rss");

            var outputFolder = snowyData.Settings.Output;

            if (!Directory.Exists(outputFolder))
            {
                Directory.CreateDirectory(outputFolder);
            }

            File.WriteAllText(Path.Combine(outputFolder, snowyData.File.File), result.Body.AsString());
        }
Beispiel #5
0
        public override void Process(SnowyData snowyData, SnowSettings settings)
        {
            const int pageSize         = 10;
            var       skip             = 0;
            var       iteration        = 1;
            var       currentIteration = snowyData.Files.Skip(skip).Take(pageSize).ToList();
            var       totalPages       = (int)Math.Ceiling((double)snowyData.Files.Count() / pageSize);

            TestModule.TotalPages = totalPages;

            while (currentIteration.Any())
            {
                TestModule.PostsPaged      = currentIteration.ToList();
                TestModule.PageNumber      = iteration;
                TestModule.HasNextPage     = iteration < totalPages;
                TestModule.HasPreviousPage = iteration > 1 && totalPages > 1;

                var result = snowyData.Browser.Post("/static");

                result.ThrowIfNotSuccessful(snowyData.File.File);

                var folder       = skip <= 1 ? "" : "page" + iteration;
                var outputFolder = Path.Combine(snowyData.Settings.Output, folder);

                if (!Directory.Exists(outputFolder))
                {
                    Directory.CreateDirectory(outputFolder);
                }

                File.WriteAllText(Path.Combine(outputFolder, "index.html"), result.Body.AsString());

                skip += pageSize;
                iteration++;
                currentIteration = snowyData.Files.Skip(skip).Take(pageSize).ToList();
            }
        }
 public abstract void Process(SnowyData snowyData, SnowSettings settings);
Beispiel #7
0
 public override void Process(SnowyData snowyData)
 {
     throw new NotImplementedException();
 }
Beispiel #8
0
 public abstract void Process(SnowyData snowyData);