fsdocs-tool 23.0.0-alpha.3

This is a prerelease version of fsdocs-tool.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global fsdocs-tool --version 23.0.0-alpha.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local fsdocs-tool --version 23.0.0-alpha.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=fsdocs-tool&version=23.0.0-alpha.3&prerelease
                    
nuke :add-package fsdocs-tool --version 23.0.0-alpha.3
                    

fsdocs and FSharp.Formatting Build and Test NuGet

FSharp.Formatting is a set of libraries and tools for processing F# script files and markdown, and for generating API documentation from XML doc comments. The primary tool is fsdocs.

Full documentation: https://fsprojects.github.io/FSharp.Formatting/

The fsdocs tool

fsdocs builds a static documentation site from the markdown files and F# scripts in your docs folder, plus API reference pages for the projects in your solution.

dotnet tool install fsdocs-tool
dotnet fsdocs build
dotnet fsdocs watch
  • init creates a docs folder with a default index.md.
  • build processes the docs folder and writes the site to output.
  • watch builds the site, serves it locally and rebuilds on every change.
  • convert converts individual markdown and script files.

Run dotnet fsdocs <command> --help to see the options of a command, or read the command line guide.

The libraries

The same functionality is available as NuGet packages for use from your own code:

  • FSharp.Formatting bundles the markdown parser, F# code formatter, literate programming support and API doc generator.
  • FSharp.Formatting.Literate only contains the literate programming support and its dependencies.

See Markdown parser, F# code formatting and literate programming for examples.

Contributing

See CONTRIBUTING.md for how to build the repository and run the tool locally.

Maintainer(s)

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
23.0.0-alpha.6 0 9/15/2026
23.0.0-alpha.5 0 9/15/2026
23.0.0-alpha.4 111 9/13/2026
23.0.0-alpha.3 47 9/13/2026
23.0.0-alpha.2 109 9/10/2026
23.0.0-alpha.1 337 9/8/2026
22.2.0 2,289 8/31/2026
22.1.0 19,118 5/27/2026
22.0.1 993 5/9/2026
22.0.0 2,887 4/4/2026
22.0.0-alpha.3 1,193 4/2/2026
22.0.0-alpha.2 1,057 3/13/2026
22.0.0-alpha.1 93 3/5/2026
21.0.0 20,684 11/12/2025
21.0.0-beta-005 3,186 4/23/2025
21.0.0-beta-004 1,857 11/20/2024
21.0.0-beta-003 654 8/16/2024
21.0.0-beta-002 9,029 6/19/2024
21.0.0-beta-001 1,942 6/6/2024
20.0.1 53,033 5/31/2024
Loading failed

### Added

- Keyboard navigation in the default template: `j` / `k` go to the next / previous heading of the page (or the next / previous link when a menu has the focus), `h` / `l` move the focus between the main menu, the content and the page menu. Headings get a visible focus outline and a scroll margin so they are not glued to the top edge. Implemented in the new `fsdocs-hotkeys.js`, documented under "Keyboard navigation" in the command-line docs.

### Fixed

- Link postfix FSharp.Core type constructors (`list`, `option`, `voption`, etc.) in API doc type signatures. Previously only the compiled name form (e.g. `FSharpList`) was linked; the postfix abbreviation form (e.g. `int list`) rendered as plain, unlinked text because the abbreviation entity has no `TryFullName`. The cross-reference resolver now builds the fsharp-core-docs link from the abbreviation's own name (e.g. `list` → `fsharp-collections-list-1`) instead of the abbreviated type's compiled name (e.g. `FSharpList` → `fsharp-collections-fsharplist-1`, which 404s), falling back to the abbreviated type's definition only for non-generic abbreviations such as `string` and `obj` that have no dedicated fsharp-core-docs page. [#1316](https://github.com/fsprojects/FSharp.Formatting/issues/1316)