Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freymaurer/siren
A domain specific language (DSL) for creating mermaid graph YAML!
https://github.com/freymaurer/siren
csharp fable fable-dotnet fable-javascript fable-libraries fable-python fsharp javascript mermaid mermaid-diagrams python typescript
Last synced: 2 months ago
JSON representation
A domain specific language (DSL) for creating mermaid graph YAML!
- Host: GitHub
- URL: https://github.com/freymaurer/siren
- Owner: Freymaurer
- License: mit
- Created: 2024-04-12T12:00:15.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-12T19:06:50.000Z (6 months ago)
- Last Synced: 2024-10-12T21:03:09.062Z (2 months ago)
- Topics: csharp, fable, fable-dotnet, fable-javascript, fable-libraries, fable-python, fsharp, javascript, mermaid, mermaid-diagrams, python, typescript
- Language: F#
- Homepage: https://freymaurer.github.io/Siren/
- Size: 9.44 MB
- Stars: 15
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Siren
Siren is a simple DSL for creating [Mermaid](https://mermaid.js.org) graphs YAML.
Have a look at the docs here:
* [Docs](https://freymaurer.github.io/Siren/)
* [Blog post](https://freymaurer.github.io/Siren/blog/Library%20Design)> [!TIP]
> if you are interested in creating a Fable library like this on your own you can use the template [Fable.Multiverse](https://github.com/Freymaurer/Fable.Multiverse)!---
## ContributionIf you have any ideas on how to improve the library, please feel free to contribute! The best way to get in contact is using the issues!
---
## Local Development### Requirements
Because this library targets multiple programming languages we need to support all of them:
- [nodejs and npm](https://nodejs.org/en/download)
- verify with `node --version` (Tested with v20.10.0)
- verify with `npm --version` (Tested with v9.2.0)
- [.NET SDK](https://dotnet.microsoft.com/en-us/download)
- verify with `dotnet --version` (Tested with 8.0.205)
- [Python](https://www.python.org/downloads/)
- verify with `py --version` (Tested with 3.11.9, known to work only for >=3.11)### Setup
This needs to be done on a fresh download once. Paths for python venv executable might be different depending on the OS.
1. `dotnet tool restore`
2. `npm install`
3. `py -m venv ./.venv`
4. `.\.venv\Scripts\Activate.ps1`
5. `python -m pip install -U pip setuptools`
6. `python -m pip install poetry`
7. `python -m poetry install --no-root`### Testing
First activate python virtual environment (`.\.venv\Scripts\Activate.ps1`).
`.\build.cmd test`
*or specify target*
`.\build.cmd test [f#, c#, js [native], py [native]]`
### Publish
Requires API keys for Nuget and PyPi.
The following command will run all tests, bundle and then start publishing!
`.\build.cmd publish pipeline`
*or only publish specific targets, without test and bundle*
`.\build.cmd publish [npm, pypi, nuget]`