@zenuml/core v3.23.2
ZenUML/Core
ZenUML is JavaScript-based diagramming tool that requires no server. It uses Markdown-inspired text definitions and a renderer to create and modify sequence diagrams. The main purpose of ZenUML is to help documentation catch up with development.
ZenUML allows even non-programmers to easily create beautiful sequence diagrams through the ZenUML Live Editor.
You can use it ZenUML on your favorite platforms and applications:
Integrations
ZenUML can be integrated with your favorite tools and platforms as a library or an embeddable widget. Please follow the integration guide for detailed steps.
Development
Technical Requirements
These are the tools we use for working with the code and documentation:
- volta to manage node versions.
- Node.js.
volta install node
- pnpm package manager.
volta install pnpm
- npx the packaged executor in npm. This is needed to install pnpm.
Follow the setup steps below to install them and start the development.
Switch to project
Once you have cloned the repository onto your development machine, change into the zenuml-core
project folder (the top level directory of the @zenuml/core project repository)
cd zenuml-core
Install packages
Run npx pnpm install
. You will need npx
for this because volta doesn't support it yet.
npx pnpm install # npx is required for first install
Launch
npx pnpm run dev
CI/CD
CI/CD is done with GitHub Actions. The workflow is defined in .github/workflows/*.yml
.
gh-pages.yml
This workflow has two jobs: build
-> deploy
.
test -> npm publish
-> cy tests
-> build site -> deploy gh-pages
This workflow is triggered on every push to the main
branch.
It will build the project and publish the dist
folder to the gh-pages
branch.
Put localhost on the internet
We sometimes need to put our localhost on the internet so that we can test it remotely.
Ngrok is a good tool for this. It is free for personal use. But if you want to use a custom domain, you have to pay. If you want to use custom domain, we suggest Cloudflare tunnels for this.
Ngrok TODO
Cloudflare tunnels for collaborators only
- Start your local dev server at
8080
withpnpm dev
. - Request a subdomain from the team. For example,
air.zenuml.com
. - You will be given a command that install a service locally. Run it.
- Your localhost:8080 will be available at
air.zenuml.com
.
Code Structure
This repository contains both the DSL parser and the renderer.
The parser is generated with Antlr4. You can find the definition at src/g4
. Generated parser is at src/generated-parser
.
Parser enhancement with customised functionalities is in the src/parser
folder.
Almost everything else under serc are for the renderer. The render is based on VueJs 2.x.
3 days ago
8 days ago
14 days ago
18 days ago
30 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
3 months ago
2 months ago
2 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
6 months ago
7 months ago
7 months ago
6 months ago
7 months ago
6 months ago
7 months ago
7 months ago
6 months ago
8 months ago
10 months ago
10 months ago
9 months ago
10 months ago
7 months ago
8 months ago
8 months ago
9 months ago
7 months ago
8 months ago
9 months ago
7 months ago
8 months ago
10 months ago
7 months ago
7 months ago
8 months ago
10 months ago
6 months ago
8 months ago
6 months ago
8 months ago
6 months ago
8 months ago
6 months ago
8 months ago
6 months ago
6 months ago
6 months ago
7 months ago
9 months ago
9 months ago
7 months ago
8 months ago
8 months ago
7 months ago
8 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago