Pretzel.Logic.Templating.Context.SiteContextGenerator.BuildPosts C# (CSharp) Method

BuildPosts() private method

private BuildPosts ( IConfiguration config, Pretzel.Logic.Templating.Context.SiteContext context ) : IEnumerable
config IConfiguration
context Pretzel.Logic.Templating.Context.SiteContext
return IEnumerable
        private IEnumerable<Page> BuildPosts(IConfiguration config, SiteContext context)
        {
            var posts = new List<Page>();

            var postsFolders = fileSystem.Directory.GetDirectories(context.SourceFolder, "_posts", SearchOption.AllDirectories);

            foreach (var postsFolder in postsFolders)
            {
                posts.AddRange(fileSystem.Directory
                    .GetFiles(postsFolder, "*.*", SearchOption.AllDirectories)
                    .Select(file => CreatePage(context, config, file, true))
                    .Where(post => post != null)
                );
            }

            var draftsFolder = Path.Combine(context.SourceFolder, "_drafts");
            if (context.UseDrafts && fileSystem.Directory.Exists(draftsFolder))
            {
                posts.AddRange(fileSystem.Directory
                    .GetFiles(draftsFolder, "*.*", SearchOption.AllDirectories)
                    .Select(file => CreatePage(context, config, file, true))
                    .Where(post => post != null)
                );
            }

            return posts;
        }