/// <summary> /// Generate a class page. /// </summary> /// <param name="c"> /// The class. /// </param> /// <param name="outputPath"> /// The output path. /// </param> public void GenerateClassPage(Class c, string outputPath) { string template = File.ReadAllText("Templates\\classpage.html"); var toc = this.GenerateToc(c); template = template.Replace(tokenToc, toc); // replace classname template = template.Replace(tokenPageTitle, c.Name); template = template.Replace(tokenClassName, c.Name); template = template.Replace(tokenDigramJson, c.ClassDiagramJSON()); template = template.Replace(tokenClassInherits, c.InheritanceClass == null ? c.Inherits : c.InheritanceClass.HtmlLinkToPage()); template = template.Replace(tokenClassParent, c.ContainmentParent == null ? string.Empty : c.ContainmentBreadcrumb()); template = template.Replace(tokenClassRemark, c.Remark); template = template.Replace(tokenPropertiesTable, this.GeneratePropertiesTable(c)); template = template.Replace(tokenClassTable, this.GenerateContainedClassesTable(c)); template = template.Replace(tokenClassInheritanceTable, this.GenerateInheritanceClassesTable(c)); template = template.Replace(tokenModelDiagram, c.ModelDiagramJSON()); template = template.Replace(tokenAuthorName, this.authorNameLiteral); template = template.Replace(tokenDate, DateTime.Now.ToShortDateString()); var savepath = c.HtmlPage(); File.WriteAllText(outputPath + "\\" + savepath, template); foreach (var cc in c.Classes) { this.GenerateClassPage(cc, outputPath); } }