public SiteContext BuildContext(string path, string destinationPath, bool includeDrafts)
{
try
{
var context = new SiteContext
{
SourceFolder = path,
OutputFolder = destinationPath,
Posts = new List<Page>(),
Pages = new List<Page>(),
Config = _config,
Time = DateTime.Now,
UseDrafts = includeDrafts
};
context.Posts = BuildPosts(_config, context).OrderByDescending(p => p.Date).ToList();
BuildTagsAndCategories(context);
context.Pages = BuildPages(_config, context).ToList();
if (BeforeProcessingTransforms != null)
{
foreach (var transform in BeforeProcessingTransforms)
{
transform.Transform(context);
}
}
return context;
}
finally
{
pageCache.Clear();
}
}