Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fsharp/tryfsharp
https://github.com/fsharp/tryfsharp
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fsharp/tryfsharp
- Owner: fsharp
- License: mit
- Created: 2019-04-16T17:10:48.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-05-21T11:57:01.000Z (over 1 year ago)
- Last Synced: 2024-10-07T12:14:37.257Z (3 months ago)
- Language: F#
- Size: 21.6 MB
- Stars: 26
- Watchers: 9
- Forks: 14
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Fable REPL
## Building locally
To develop the REPL locally, run the `WatchApp` FAKE target and then open `localhost:8080` in your browser.
## How to add a sample
To add a sample, you need to add an .fs file to the `public/samples/Samples.fsproj` project (and a corresponding .html file if necessary), then update `public/samples/samples.json`. This file is used to generate the samples menu in the browser. [This commit](https://github.com/fable-compiler/repl2/commit/860243166459e10e47919815dffcc94ddbbd73b7) is a good example of adding a sample (pun intended).
> If you just want to update on the existing samples, you can do it directly using Github UI and send a PR automatically.
You can add three types of entries:
- Category: Adds a title entry to the menu
- SubCategory: Adds an entry under a category, and make it collapsible
- MenuItem: Adds a classic item which when clicked will load the sample into the REPL### Category
```json
{
"type": "category",
"label": "Learn Fable",
"children": [
]
}
```- label: Will be displayed as the title of the category
- children: A list of `SubCategory` or `MenuItem`### SubCategory
```json
{
"type": "sub-category",
"label": "Interop",
"children": [
]
}
```- label: Will be displayed as the title of the SubCategory
- children: A list of `MenuItem`### MenuItem
```json
{
"type": "menu-item",
"label": "Basic canvas",
"fsharpCode": "basic-canvas/basic_canvas.fs",
"htmlCode": "basic-canvas/basic_canvas.html"
}
```- label: Name to display in the menu item
- fsharpCode: Relative url of the F# code
- htmlCode (*optional field*): Relative url of the html code
- cssCode (*optional field*): Relative url of the css codeAll the urls for `fsharpCode`, `htmlCode` are relative to the `public/samples` folder.