/docfx

Static site generator for .NET API documentation.

Primary LanguageC#MIT LicenseMIT

Build your docs with docfx

NuGet Help Wanted Gitter

Build your technical documentation site with docfx, with landing pages, markdown, API reference docs for .NET, REST API and more.

⚠️⚠️⚠️ NOTICE ⚠️⚠️⚠️

For Microsoft Learn users, the open source version of docfx will NOT be maintained to support Microsoft Learn content. For Microsoft Learn feature requests, bug reports and other support ticks, use internal channels such as the Learn Platform Support Channel.

Getting Started

  1. Install docfx as a global tool:

    dotnet tool install -g docfx
  2. Create and start a website locally:

    docfx init -q
    docfx docfx_project\docfx.json --serve
    
  3. Go to https://localhost:8080 to see the sample site.

For more information, refer to Getting Started.

Contributing

Use Discussions for questions and general discussions. Use Issues to report bugs and proposing features.

We welcome code contributions through pull requests, issues tagged as help-wanted are good candidate to start contributing code.

Prerequisites

  • Install Visual Studio 2022 (Community or higher) and make sure you have the latest updates.
  • Install NodeJS (16.x.x).
  • Install wkhtmltopdf on Windows to test PDF using choco install wkhtmltopdf.

Build and Test

  • Build site templates in templates directory:
    • Run npm install to restore npm dependencies.
    • Run npm run build to build the templates.
  • Run dotnet build to build the project or use Visual Studio to build docfx.sln.
  • Run dotnet test to test the project or use Visual Studio test explorer.

Branch and Release

The main branch is the default branch for pull requests and most other development activities. We occationally use feature/* branches for epic feature development.

Releases are based on a stable main branch commit using GitHub Releases. Release versioning follows Semantic Versioning. Use of Conventional Commit is encouraged.

Docfx is not released under a regular cadence, new versions arrive when maintainers see enough changes that warrant a new releases. Sometimes we use prereleases to dogfood breaking changes and get feedbacks from the community.

Roadmap

We use Milestones to communicate upcoming changes docfx:

  • Working Set are features being actively worked on. Not every features in this bucket will be committed in the next release but they reflect top of minds of maintainers in the upcoming period.

  • Backlog is a set of feature candidates for some future releases, but are not being actively worked on.

.NET Foundation

This project is supported by the .NET Foundation.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

License

This project is licensed under the MIT License.