Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/terrastruct/text-to-diagram-site

Compare syntax, layouts, outputs between languages for generating diagrams with text.
https://github.com/terrastruct/text-to-diagram-site

diagram diagrams dsl software-architecture text-to-diagram

Last synced: 10 days ago
JSON representation

Compare syntax, layouts, outputs between languages for generating diagrams with text.

Awesome Lists containing this project

README

        



Text to diagram comparisons


Go to comparisons site

Compare syntax, layouts, outputs between languages for generating diagrams with text.



Screen Shot 2022-10-22 at 3 57 45 PM

[![ci](https://github.com/terrastruct/text-to-diagram-site/actions/workflows/ci.yml/badge.svg)](https://github.com/terrastruct/text-to-diagram-site/actions/workflows/ci.yml)
[![daily](https://github.com/terrastruct/text-to-diagram-site/actions/workflows/daily.yml/badge.svg)](https://github.com/terrastruct/text-to-diagram-site/actions/workflows/daily.yml)
[![license](https://img.shields.io/github/license/terrastruct/text-to-diagram-site?color=9cf)](./LICENSE)

*Full disclosure: This is created and maintained by Terrastruct. We created D2, and it's
in our interest to provide anyone evaluating us with an objective comparison against
alternatives. The only favor granted to D2 is that it shows up as the first
comparison. We welcome contributions. Even ones that make D2 look bad (it'll be motivation
for us to patch it!).*

### Currently supported comparisons

High-quality comparisons take a lot of work, which will only get more as the number of
examples grows. Other than D2, the currently supported set are what seem to be the most
popular tools for text-to-diagram.

- D2
- Mermaid
- GraphViz
- PlantUML

For completeness, you may want to also evaluate less popular tools/languages. The best
catalog we've found is
[https://xosh.org/text-to-diagram/](https://xosh.org/text-to-diagram/).

## FAQ

- See [https://text-to-diagram.com#faq](https://text-to-diagram.com#faq)

## Contributing

### Run locally

```sh
# Only needed first run
git submodule update --init --recursive
yarn

yarn dev
```

### Adding examples

Please follow the examples in `src/examples`.

1. Create a folder in `src/examples` with a short name of the example
1. Add in that folder:
- `description.txt` to describe what the example aims to demonstrate.
- `render/` for SVG renders
- `syntax/` for texts
- If there are languages with errors for this example, `error/`
1. Create the text for as many languages as you can. It's okay if not totally complete. We
or others can fill.
1. Run `./render.sh` (with the respective tools installed)
- Pre-requisite tools:
- `mmdc`
- `plantuml`
- `graphviz`
- `d2`

CLI render

### Adding features

If you think there's a significant feature that people want to compare against, feel free
to add a line in `src/components/Features.tsx`.

### Adding languages

If you wish to add a new language, please fill out as many of the examples and features as
possible. It's a lot of work, but if there's enough interest in the language, perhaps
others will help out.