Our great sponsors
-
d2-playground
An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
-
text-to-diagram-site
Compare syntax, layouts, outputs between languages for generating diagrams with text.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
C4-PlantUML
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
D2 offers 3 layout engines. 1 of them we made and 2 open source ones. Each have their limitations, and "near" is a keyword that's only supported in TALA right now.
https://play.d2lang.com/?script=PJG7qsJAEIb7eYofTp0XSHFELMTa...
It's not really time-saving. It's aesthetics, how much you care about the beauty and professionalism of your diagrams. All the layout engines will get the correctness right -- all the connections point to where you want em, etc. But they can look different.
Difference: https://text-to-diagram.com/?example=chess&b=d2&layout_b=dag...
Thanks! We actually released a couple weeks ago, and it's been a month of almost 100% fixing/improving things the community's surfaced. Long list of stuff here: https://github.com/terrastruct/d2/releases.
Re fonts: that README is for contributing fonts. I'm not sure what the best solution is for custom fonts -- whether to just specify the name of a system font, a google font, point to a directory of local TTFs. Some discussion going on here: https://github.com/terrastruct/d2/discussions/132
https://github.com/terrastruct/TALA
(apologies for this path. trying to strike the balance of making it findable for those who search for it while hidden to those who just want free.)
it's been in their open PRs for like 3 weeks now: https://github.com/obsidianmd/obsidian-releases/pull/1389. Maybe they just have all hands on deck for that launch they did today. Hopefully soon!
https://github.com/andorsk/d2-mode
You're right, d2-docs will be changed to render all diagrams with Dagre or ELK instead.
The docs existed before D2 was open source and we had open source layout options. Sorry about that.
https://github.com/terrastruct/d2-docs/issues/43
> By the way I've just realised why your github repo does not provide the sources of the diagrams in docs - it would blow your game wide open, once users start asking why they aren't getting the results depicted. And almost no compileable examples, either
Not sure what you mean no compilable examples. Full source of the docs is at https://github.com/terrastruct/d2-docs including all the examples. The first example in the Github repo also had a line "Rendered with the TALA layout engine" so the source was upfront.
> Will you please stop lying? I am not "mad" because something isn't free, but because you're misrepresenting the nature of your D2 language. It is not something that you're making available to benefit community, but a thinly disguised marketing ploy.
We're running a company, we're absolutely interested in making money.
But open sourcing D2 doesn't just help us with user acquisition, it certainly also helps the community in adding another open source alternative in the text to diagram market. And it's good quality code. If we go under, someone else can pickup the torch and fork D2.
And it's incorrect to say that the free engines are not as good. They absolutely are suitable alternatives and do beat TALA in many instances. It's not in our interest to hide the best parts of D2, or else no one would use it. I'd even go as far to say TALA will never be as good as them in many instances, especially when the structure is hierarchical. But that's ok, they all use different algorithms and that's what makes them good in different instances. TALA is specifically for software diagrams, in instances such as if you have many nested containers.
If you can quote a specific piece of text on our GitHub or website, we will change it to make it more clear that D2 is fully open source and TALA is just an optional optimization.
looks like someone saw this and made an mdbooks plugin: https://github.com/danieleades/mdbook-d2