Пример #1
0
        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);
        }
Пример #2
0
 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));
 }
Пример #3
0
 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();
 }
Пример #4
0
        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();
        }