public void Generate(CompilerConfiguration configuration, Content parent) { // Install packages. var files = _nugetInstaller.Install(configuration, false /* Skip addins for now */); // Get document model. var modelBuilder = new DocumentModelBuilder(); var model = modelBuilder.BuildModel(files.Select(x => x.Path.FullPath)); // Build context. var renderer = new CommentRenderer(); var pageIndex = new ApiUrlResolver(model); var context = new ApiContext(model, renderer, pageIndex); // Create the API and DSL reference overview. var apiRoot = _apiOverviewBuilder.Create(configuration, context, parent, model); var dslRoot = _dslOverviewBuilder.Create(configuration, context, parent, model); // Add the generated content to it's parent. parent.AddChild(dslRoot); parent.AddChild(apiRoot); // Generate the content. Generate(configuration, context, apiRoot); }
public static IHtmlString Comment(this ApiServices context, IComment comment) { if (comment != null) { var writer = new HtmlTextWriter(new StringWriter()); CommentRenderer.Render(comment, new CommentRendererContext(writer, context)); return(MvcHtmlString.Create(writer.InnerWriter.ToString())); } return(MvcHtmlString.Create(string.Empty)); }
public WikiRenderer(IPluginFinder pluginFinder, IWebContext webContext) { Renderers["Comment"] = new CommentRenderer(); Renderers["UserInfo"] = new UserInfoRenderer(); Renderers["InternalLink"] = new InternalLinkRenderer(webContext); Renderers["ExternalLink"] = new ExternalLinkRenderer(); Renderers["Text"] = FallbackRenderer = new TextRenderer(); Renderers["Template"] = new TemplateRenderer(pluginFinder.GetPlugins <ITemplateRenderer>()); Renderers["Heading"] = new HeadingRenderer(); Renderers["Line"] = new LineRenderer(); Renderers["OrderedList"] = new OrderedListRenderer(); Renderers["UnorderedList"] = new UnorderedListRenderer(); Renderers["Format"] = new FormatRenderer(); }
public ApiContext(DocumentModel documentModel, CommentRenderer commentCommentRenderer, ApiUrlResolver urlResolver) { _documentModel = documentModel; _commentCommentRenderer = commentCommentRenderer; _urlResolver = urlResolver; _resolver = new DefaultDocumentationResolver(_documentModel); _signatureSignatureRenderer = new SignatureRenderer(_documentModel); _syntaxRenderer = new CSharpSyntaxRenderer( new DefaultDocumentationResolver(_documentModel), new SignatureRenderer(_documentModel)); _language = new CSharpLanguageProvider(); }