Technical documentation tool with markdown, API docs for .NET, REST API and more.
$ dotnet add package Docfx.MarkdigEngineBuild your technical documentation site with docfx, with landing pages, markdown, API reference docs for .NET, REST API and more.
⚠️⚠️⚠️ NOTICE ⚠️⚠️⚠️
DocFX is being transitioned to the .NET Foundation as an official .NET project!
- The DocFX team is working on improving the main branch. This will introduce new features and bug fixes to the project, remove some older code and features that are no longer necessary, as well as update the dependencies and simplify the project structure. Stay tuned for a roadmap.
- Due to architectural changes in the site, DocFX can no longer support building Microsoft Learn content directly. The open source repos holding Markdown content for Microsoft Learn will still accept pull requests and changes, but are not directly buildable with DocFX.
Install docfx as a global tool:
dotnet tool install -g docfx
Create and start a website locally:
docfx init -q
docfx build docfx_project\docfx.json --serve
Go to https://localhost:8080 to see the sample site.
For more information, refer to Getting Started.
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.
choco install wkhtmltopdf.templates directory:
npm install to restore npm dependencies.npm run build to build the templates.dotnet build to build the project or use Visual Studio to build docfx.sln.dotnet test to test the project or use Visual Studio test explorer.
git lfs checkout to checkout files for snapshot testingThe main branch is the default branch for pull requests and most other development activities. We occasionally use feature/* branches for epic feature development.
Releases are based on a stable main branch commit using GitHub Releases. 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.
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.
This project is licensed under the MIT License.
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.