The project combines multiple tools helping you with Event Modeling, such as Domain Specific Language (DSL).
Note
Previously the project's name was event-modeling-dsl.
Domain Specific Language (DSL) for writing Event Modeling models. The DSL in textual format can be translated to various outputs, mainly to a diagram.
Event Modeling model file is usually defined in a text with prefered .evml file extension or as a Markdown code block marked with evml.
There is VS Code compatible extension published.
Note
There is a deprecated extension available under event-modeling-dsl identifier. Use the one with event-modeling-vscode-extension.
For VS Code use its official Marketplace. Hit Ctrl+P and type:
ext install LadislavGazo.event-modeling-vscode-extension
For VS Codium use Open VSX Registry.
The command line interface generates an SVG or a Draw.io diagram out of an .evml text definition.
npm install -g event-modeling-cliThis puts a single stable binary named evml on your PATH.
evml svg <file> [-d <dir>] # generate SVG
evml drawio <file> [-d <dir>] # generate Draw.io (mxGraph XML) diagram
evml --version
evml --help-d, --destination <dir> sets the output directory; it is created if missing.
It defaults to a generated/ directory next to the input file.
Both subcommands exit 0 on success and non-zero on failure, writing all
diagnostics to stderr. They are treated as public API: a breaking change to
either one, or to the evml binary name, is a major version bump.
npm install event-modeling-languageimport { createEventModelingServices } from 'event-modeling-language';event-modeling-cli and event-modeling-language are released together at
matching versions, so pinning ^1.0.0 on both can never produce a skewed pair.
Supported Node.js: >= 20.10.0.
Obsidian plugin renders evml code blocks in Markdown in the default Markdown view. On top of it you can preview large Event Model in a separate view, zoom in/out, pan. Additionally you can export it to a separate text or SVG file.
- Domain Specific Language parser
- Extract rendering to SVG (available only in Mermaid fork)
- Obsidian Plugin
- CLI
- CLI in npm store
- Obsidian Plugin in the Community store
- Expand DSL - Given-When-Then, Diagram configuration, Swimlane labels, Slices,...
- Completness check Langium Validator
- Additional output to Draw.io XML
- VS Code Extension command support for different outputs