Literate sample
This file demonstrates how to write literate F# script
files (*.fsx
) that can be transformed into nice HTML
using the literate.fsx
script from the F# Formatting
package.
As you can see, a comment starting with double asterisk is treated as part of the document and is transformed using Markdown, which means that you can use:
- Unordered or ordered lists
- Text formatting including bold and emphasis
And numerous other Markdown features.
Writing F# code
Code that is not inside comment will be formatted as a sample snippet (which also means that you can run it in Visual Studio or MonoDevelop).
1: 2: 3: 4: 5: 6: |
|
Hiding code
If you want to include some code in the source code,
but omit it from the output, you can use the hide
command.
The value will be deffined in the F# code and so you can use it from other (visible) code and get correct tool tips:
1:
|
|
Moving code around
Sometimes, it is useful to first explain some code that
has to be located at the end of the snippet (perhaps
because it uses some definitions discussed in the middle).
This can be done using include
and define
commands.
The following snippet gets correct tool tips, even though
it uses laterFunction
:
1: 2: 3: |
|
Then we can explain how laterFunction
is defined:
1: 2: |
|
This example covers pretty much all features that are
currently implemented in literate.fsx
, but feel free
to fork the project on GitHub and add more
features or report bugs!
Other features
The tool-tips also work for double-backtick identifiers. This might be useful to generate nice documents from tests:
1: 2: |
|
Others examples follow here.
Full name: Demo.factorial
The Hello World of functional languages!
Full name: Demo.f10
Full name: Demo.hidden
This is a hidden answer
Full name: Demo.answer
Full name: Demo.laterFunction
Full name: Demo.sample
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.printfn
Full name: Demo.( 1 + 1 should be equal to 2 )