FSharp.Formatting
23.0.0-alpha.4
dotnet add package FSharp.Formatting --version 23.0.0-alpha.4
NuGet\Install-Package FSharp.Formatting -Version 23.0.0-alpha.4
<PackageReference Include="FSharp.Formatting" Version="23.0.0-alpha.4" />
<PackageVersion Include="FSharp.Formatting" Version="23.0.0-alpha.4" />
<PackageReference Include="FSharp.Formatting" />
paket add FSharp.Formatting --version 23.0.0-alpha.4
#r "nuget: FSharp.Formatting, 23.0.0-alpha.4"
#:package FSharp.Formatting@23.0.0-alpha.4
#addin nuget:?package=FSharp.Formatting&version=23.0.0-alpha.4&prerelease
#tool nuget:?package=FSharp.Formatting&version=23.0.0-alpha.4&prerelease
fsdocs and FSharp.Formatting

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
initcreates adocsfolder with a defaultindex.md.buildprocesses thedocsfolder and writes the site tooutput.watchbuilds the site, serves it locally and rebuilds on every change.convertconverts 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 | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FSharp.Compiler.Service (= 43.12.401)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on FSharp.Formatting:
| Package | Downloads |
|---|---|
|
FsReveal
FsReveal parses markdown or F# script files and generates reveal.js slides. |
|
|
Yaaf.AdvancedBuilding
Yaaf.AdvancedBuilding is a loose collection of build scripts. The benefit is that you can automatically update your build by updating this package, when you don't need your own crazy build script. But even than it is possible that you could re-use some scripts within this package. |
|
|
FsLab.Runner
This package contains a library for turning FsLab experiments written as script files into HTML and LaTeX reports. The easiest way to use the library is to use the 'FsLab Journal' Visual Studio template. |
|
|
FSharp.Markdown.Pdf
A F# implementation that uses the Markdown parser from FSharp.Formatting and formats the output into PDF using PdfSharp-MigraDoc. |
|
|
Farango
Farango is a client for ArangoDB written in F#. |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on FSharp.Formatting:
| Repository | Stars |
|---|---|
|
commandlineparser/commandline
The best C# command line parser that brings standardized *nix getopt style, for .NET. Includes F# support
|
|
|
dotnet/csharpstandard
Working space for ECMA-TC49-TG2, the C# standard committee.
|
|
|
exercism/v3
The work-in-progress project for developing v3 tracks
|
| Version | Downloads | Last Updated |
|---|---|---|
| 23.0.0-alpha.4 | 0 | 9/13/2026 |
| 23.0.0-alpha.3 | 0 | 9/13/2026 |
| 23.0.0-alpha.2 | 42 | 9/10/2026 |
| 23.0.0-alpha.1 | 52 | 9/8/2026 |
| 22.2.0 | 225 | 8/31/2026 |
| 22.1.0 | 1,302 | 5/27/2026 |
| 22.0.1 | 573 | 5/9/2026 |
| 22.0.0 | 1,563 | 4/4/2026 |
| 22.0.0-alpha.3 | 119 | 4/2/2026 |
| 22.0.0-alpha.2 | 96 | 3/13/2026 |
| 22.0.0-alpha.1 | 90 | 3/5/2026 |
| 21.0.0 | 1,844 | 11/12/2025 |
| 21.0.0-beta-005 | 947 | 4/23/2025 |
| 21.0.0-beta-004 | 2,029 | 11/20/2024 |
| 21.0.0-beta-003 | 1,855 | 8/16/2024 |
| 21.0.0-beta-002 | 257 | 6/19/2024 |
| 21.0.0-beta-001 | 267 | 6/6/2024 |
| 20.0.1 | 15,032 | 5/31/2024 |
| 20.0.0 | 1,910 | 2/14/2024 |
| 20.0.0-beta-002 | 349 | 2/8/2024 |
### Added
- The "On this page" menu of the default template marks the section the reader is in: the entry of the last heading scrolled past the top of the content gets a coloured left border, and a heading focused with the `j` / `k` hotkeys marks its entry as well. Pure CSS, through scroll-driven animations (`view-timeline-name`, `timeline-scope`, `animation-timeline`); browsers without them show the menu as before. The generator numbers the headings and menu entries (`data-fsdocs-heading`) and emits the wiring in a `<style>` next to the menu. The colour and the reading line are the `--page-menu-active-border-color` and `--page-menu-reading-line` variables. When the menu has its own scroll bar, `j` / `k` also scroll the entry of the focused heading into view and put its anchor in the URL (without a history entry). [#1322](https://github.com/fsprojects/FSharp.Formatting/pull/1322)
- `fsdocs watch` shows a progress bar along the bottom of the window while it waits for the next page, which can take a while when a big script is rendered for the first time. Dev server only, it comes with the live reload script. [#1322](https://github.com/fsprojects/FSharp.Formatting/pull/1322)
### Fixed
- `fsdocs watch` renders the API Reference section of the menu with the current `_menu_template.html` and `_menu-item_template.html` after an edit; it kept the templates as they were when the watch started, until an assembly changed. [#1323](https://github.com/fsprojects/FSharp.Formatting/issues/1323)
- The "All Namespaces" entry of the API Reference menu no longer carries the `active` class on every documentation page when menu templates are used. A page without an entry of its own, such as the docs index, showed it as the current page, and the `h` hotkey entered the menu there.