To use F# Formatting tools via the command line, you can use the fsdocs
dotnet tool.
dotnet tool install fsdocs-tool
dotnet fsdocs [command] [options]
The build command
This command processes a docs
directory and generates API docs for projects in the solution according to the rules of API doc generation. The input accepted is described in content.
The command line options accepted are:
--input
Input directory of content (default: docs
)
--projects
Project files to build API docs for outputs, defaults to all packable projects
--output
Output Directory (default 'output' for 'build' and 'tmp/watch' for 'watch')
--ignoreuncategorized
Disable generation of the 'Other' category in the navigation bar for uncategorized docs
--noapidocs
Disable generation of API docs
--ignoreprojects
Disable project cracking
--eval
Evaluate F# fragments in scripts
--saveimages
Save images referenced in docs
--nolinenumbers
Don't add line numbers, the default is to add line numbers.
--parameters
Additional substitution parameters for templates
--nonpublic
The tool will also generate documentation for non-public members
--nodefaultcontent
Do not copy default content styles, javascript or use default templates
--clean
Clean the output directory
--help
Display this help screen
--version
Display version information
--properties
Provide properties to dotnet msbuild, e.g. --properties Configuration=Release Version=3.4
--fscoptions
Additional arguments passed down as otherflags
to the F# compiler when the API is being generated.
Note that these arguments are trimmed, this is to overcome a limitation in the command line argument processing.
A typical use-case would be to pass an addition assembly reference.
Example --fscoptions " -r:MyAssembly.dll"
--strict
Fail if docs are missing or can't be generated
The following command line options are also accepted but it is instead recommended you use settings in your .fsproj project files:
--sourcefolder
Source folder at time of component build (<FsDocsSourceFolder>
)
--sourcerepo
Source repository for github links (<FsDocsSourceRepository>
)
--mdcomments
Assume comments in F# code are markdown (<UsesMarkdownComments>
)
The command will report on any .fsproj
files that it finds, telling you if it decides to skip a particular file and why.
For example, a project will be skipped if:
The project does not contain
<GenerateDocumentationFile>true</GenerateDocumentationFile>
This command does the same as fsdocs build
but in "watch" mode, waiting for changes. Only the files in the input directory (e.g. docs
) are watched. A browser will be launched automatically (unless --nolaunch
is specified).
You will need to ensure that the input directory exists, and contains at least index.md
, otherwise the browser will report an error (e.g. "Problem loading...", "Connection was reset").
Restarting may be necesssary on changes to project files. The same parameters are accepted, plus these:
--noserver
Do not serve content when watching.
--nolaunch
Do not launch a browser window.
--open
URL extension to launch http://localhost: /%s.
--port
Port to serve content for http://localhost serving.
Searchable docsWhen using the command-line tool a Fuse search index is automatically generated in index.json
. A search box is included in the default template via an HTML Dialog element.
To add search to your own _template.html
:
search-btn
dialog
elementfsdocs-search.js
script<button id="search-btn">Open search dialog</button>
<dialog>
<input type="search" placeholder="Search docs" />
<div class="results">
<ul></ul>
<p class="empty">Type something to start searching.</p>
</div>
</dialog>
<script type="module" src="{`{root}}content/fsdocs-search.js"></script>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4