private void TypeEntry(TypeDefinition type, TextWriter tw) { var memdoc = UnityDocumentation.MemDocFor(type); if (memdoc == null) { return; } var baseTypeName = (type.BaseType == null) ? "" : type.BaseType.Name; tw.Write(@" <div class='text'> <article> <h1 class='type'>"); WriteTypeSignature(tw, type); tw.Write("</h1>"); WriteSummaryAndTextBlocksFor(tw, memdoc); tw.Write("<p>"); TableOfContentsFor(tw, type); tw.Write("</p>"); tw.Write(@" </article> </div> "); }
private void MemberEntry(MemberReference memberReference, TextWriter tw) { var memdoc = UnityDocumentation.MemDocFor(memberReference); if (memdoc == null) { return; } tw.Write(@"<a name='{0}'></a> <div class='text' ><article>", memberReference.Name, CssTypeFor(memberReference)); tw.Write(@" <h1 class='signature'>{0}</h1> ", _signatureProvider.SignatureFor(memberReference, true)); WriteSummaryAndTextBlocksFor(tw, memdoc); WriteEditLink(tw, memberReference); tw.Write(@" </article> </div> "); }
private static bool HaveDocsFor(TypeReference t) { if (!t.Namespace.StartsWith("Unity")) { return(false); } return(UnityDocumentation.MemDocFor(t) != null); }
public string GeneratePageFor(string namespaze, AssemblyDefinition[] assemblyDefinitions) { var types = assemblyDefinitions.Select(a => a.MainModule).SelectMany(m => m.Types).Where( t => t.Namespace == namespaze && UnityDocumentation.IsDocumentedType(t)); var sb = new StringBuilder(); sb.Append(PageHeader()); sb.AppendFormat(@" <div class='text'> <article>"); sb.Append("<h1>"); var htmlbuilder = new HtmlBuilder(); htmlbuilder.AddKeyword("namespace"); htmlbuilder.Add(" "); htmlbuilder.AddNamespaceReference(namespaze, HtmlBuilder.NamespaceHyperlinkMode.LinkOnlyParentNamespaces); sb.Append(htmlbuilder); sb.Append("</h1>"); sb.Append("<ul>"); foreach (var type in types) { sb.Append("<li>"); var memdoc = UnityDocumentation.MemDocFor(type); var html = new HtmlBuilder(); html.AddTypeReference(type, true); sb.Append(html); sb.Append(" "); if (memdoc != null) { sb.Append(memdoc.Summary); } sb.Append("<br>"); sb.Append("</li>"); } sb.Append("</ul>"); sb.AppendFormat(@" </div></article>"); return(sb.ToString()); }