public static void Render(ScriptObject model, List <ScriptObject> posts, int totalPages, string outputDir, int PageSize) { var store = Engine.App.Store; for (int i = 0; i < totalPages; i++) { var currentPage = i + 1; var outPath = outputDir + $"/page/{currentPage}/index.html"; var curPageModel = model.Clone(true) as ScriptObject; var template = curPageModel.GetSafeValue <string>("_rawText"); var content = renderRaw(template, posts, curPageModel, currentPage, PageSize); curPageModel.Add("_content", content); var layout = curPageModel.GetSafeValue <string>("layout"); var layoutPageModel = store.GetLayoutFromCache(layout); var finalPostHtml = LayoutRenderer.Render(curPageModel, layoutPageModel); Directory.CreateDirectory(Path.GetDirectoryName(outPath)); File.WriteAllText(outPath, finalPostHtml); } File.Copy(outputDir + "/page/1/index.html", outputDir + "/index.html", true); }