D2 language, open source alternative to PlantUML

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • d2-playground

    An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.

  • 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...

  • text-to-diagram-site

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

  • 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...

  • 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.

    SurveyJS logo
  • d2

    D2 is a modern diagram scripting language that turns text to diagrams.

  • 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

  • C4-PlantUML

    C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures

  • d3

    Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

  • TALA

    A diagram layout engine designed specifically for software architecture diagrams

  • 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.)

  • obsidian-releases

    Community plugins list, theme list, and releases of Obsidian.

  • 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!

  • 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.

    InfluxDB logo
  • d2-mode

    emacs major mode for d2 graphs

  • https://github.com/andorsk/d2-mode

  • d2-docs

    Language documentation and blog for D2.

  • 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.

  • mdbook-d2

    D2 diagram generator plugin for MdBook

  • looks like someone saw this and made an mdbooks plugin: https://github.com/danieleades/mdbook-d2

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts