Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fsharp/fsharp-compiler-docs

Doc build for FSharp.Compiler.Service
https://github.com/fsharp/fsharp-compiler-docs

Last synced: about 4 hours ago
JSON representation

Doc build for FSharp.Compiler.Service

Awesome Lists containing this project

README

        

# FSharp.Compiler.Service documentation generation

https://fsharp.github.io/fsharp-compiler-docs

## Contributing to Library Content

To improve the content of the FSharp.Compiler.Service library documentation, contribute to the XML `///` documentation in the
signature files (`*.fsi`) in the FSharp.Compiler.Service implementation.

* Fork and clone https://github.com/dotnet/fsharp locally, see below

* Contribute to [src/fsharp directory](https://github.com/dotnet/fsharp/tree/master/docs) and [src/fsharp directory](https://github.com/dotnet/fsharp/tree/master/src/fsharp) and submit work to `main` branch of [dotnet/fsharp](https://github.com/dotnet/fsharp)

* Once accepted your work will be published through a rebuild here. A rebuild is triggered daily at 17:30 UTC or you can trigger it yourself by submitting a dummy change.

The docs are generated by using `fsdocs` tool from FSharp.Formatting.

## Build steps

Eventually the build will just be

dotnet tool restore
dotnet restore FSharp.Compiler.Service
dotnet fsdocs build

For now, we make a fresh build of FSharp.Compiler.Service.

(start in fsharp-compiler-docs)
dotnet restore FSharp.Compiler.Service
dotnet tool restore

(make fsharp-compiler-docs/fsharp)
git clone https://github.com/dotnet/fsharp --depth 1 -b main

(build fsharp-compiler-docs/fsharp)
pushd fsharp
dotnet build src/Compiler/FSharp.Compiler.Service.fsproj /p:BUILDING_USING_DOTNET=true
popd

Then do iterative development using:

(from fsharp-compiler-docs)
dotnet fsdocs watch --sourcefolder fsharp --input fsharp/docs

## CI Pipeline

This repo is published via GitHub Actions. On each push to main, the docs are built, and the outputs (which are written to the `output` directory by fsdocs) are pushed to the `gh-pages` branch. This repo is configured to host using GitHub Pages from this branch.