Git Product home page Git Product logo

zenuml-core's Introduction

editor

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:

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]

  1. Start your local dev server at 8080 with pnpm dev.
  2. Request a subdomain from the team. For example, air.zenuml.com.
  3. You will be given a command that install a service locally. Run it.
  4. 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.

zenuml-core's People

Contributors

mrcoder avatar dependabot-preview[bot] avatar unimu-cic avatar whimet avatar dyon21 avatar danshuitaihejie avatar r0uter avatar dependabot[bot] avatar aloisklink avatar dontry avatar gzcisco720 avatar yesmeck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.