- Feature already available in docfx
Currently every new language introduces in a new data model, and results in a new plugin and a new template. With schema based document processor, what needs for a new language is simply a schema file.
This schema file can be possibly leveraged in Localization scenario, to define which property is localizable, etc.
preprocessors
, aka,js
files are heavily used- For ManagedReference or other API who are referencing to other
uid
s, it depends on C# code to expand the model before hand.
- Introduce in more powerful templating language other than the logic-less mustache.
Looks like logic is important, and it is more convenient to allow using logic when writing template. With the popularity of React and Vue.js, declarative views becomes intriguing with its predicatability and ease of use.
- Component based templates
We can consider partials as components when partials accepts parameters. For example, with
> inheritance.partial uid='System.String'
, we can move the expand model logic from C# code to templates.
-
Mustache to handlebars
Handlebars keeps most compatibility with Mustache template syntax, and meanwhile it is more powerful. It supports partials with parameters, which makes componentization possible. It also contains Built-In Helpers such as
if
conditional andeach
iterator. -
Support new syntax
-
React
React is popularly used when developing web applications. If we supportJSX
and leverageReact.Component
, is it more convenient for front-end developers to integrate with docfx? -
Razor
RazorEngine as the template engine for ASP.NET, is more friendly to C# developers. It also supports partials with parameters.
-
- Performance benchmark
- Performance improvement, including memory consumptions, refactor build steps to maximum parallelism, merge duplicate steps, etc.
According to Feature Proposals, docfx watch
wins far ahead.
With this API service, there is no need to download msdn.zip
package or xrefmap.yml
file anymore.
- Integrate docfx with CI, e.g. Travis, Appveyor
- Easier installation, e.g. one script for copy
- Highlighted clickable method declaration, e.g. String ToString(int a)
- Cross platform support
- Dotnet-core migration
- Docker
- VSCode extension
- TOC Preview
- Intellisense for docfx.json, toc.yml, and DFM syntax
- Localization and versioning support
- More attractive themes
- Sandcastle advanced features
- Support more programming languages, e.g. Python, JavaScript, Golang, etc.