private void ConvertToHtml(BlogPostModel blogPost) { string layout = File.ReadAllText(Path.Join(topLevelConfig.Config.LayoutsDir, blogPost.Layout + ".hbs")); string result = handlebarsConverter.Convert(layout, new Dictionary <string, object> { { "post", blogPost.ToDictionary(topLevelConfig.Config) } }); foreach (string postCategory in blogPost.Categories) { string languagePrefix = Config.MultipleLanguages switch { true => blogPost.Language, false => "" }; string outputDir = Path.Join( Config.OutputDir, languagePrefix, Slugify(postCategory), blogPost.Date.Year.ToString(), blogPost.Date.Month.ToString(), blogPost.Date.Day.ToString(), Slugify(blogPost.Title) ); string outputPath = Path.Join(outputDir, "index.html"); Directory.CreateDirectory(outputDir); File.WriteAllText(outputPath, result); } } }