What does HackerNews think of drawio?
draw.io is a JavaScript, client-side editor for general diagramming and whiteboarding
- Like OmniGraffle, but free, works great and open source! - You can use it online, saving to your cloud drive - Or you can install the desktop version
GitHub: https://github.com/jgraph/drawio
The reason for its usage is historic. Originally, this project was the underlying diagramming library only, that uses the SVG DOM for rendering. There was no application and no SVG export, that wasn't a function of the library.
FOs in SVG gave us the whole range of HTML in shape labels. So, as well as complex text formatting, we used it for tables, complex composites, etc. There a large legacy of shapes that use complex HTML for labels, we can't drop support for those.
The app itself came later and the SVG export function even later. It was fairly easy to generate because we can take it from the SVG DOM. But, converting HTML to SVG requires parsing the full HTML specification and generating the SVG to maintain compatibilty. This is an horrifically large task, it would require probably 5+ people full time, we don't have that resource.
I'm not sure calling it SVG is "tacky". It is part of the SVG 1.1 spec, albeit an optional one, it's not like it's isn't SVG at all. But yes, it causes confusion, thus the entry in the README [1], "It is not an SVG editing app, the SVG export is designed only for embedding in web pages, not for further editing in other tools."
Even using SVG for word wrapping alone, we've repeatedly asked critics how to do that without HTML for measuring the font metrics, we're yet to receive an answer how to do that in JavaScript. We've had plenty of comments pointing out this is wrong, we need a practical alternative thought out in detail.
It has now been renamed to diagrams.net: https://app.diagrams.net/
Github repo: https://github.com/jgraph/drawio
It's very easy to self-host, especially on Github Pages: https://github.com/jgraph/drawio#running
There's also desktop apps for Windows, GNU/Linux, Mac and Chrome OS: https://github.com/jgraph/drawio-desktop/releases/latest
Community submissions are virtually always throw away, particularly on a complex code base. We ended up saying it's a legal problem [1], which it partly is. But throw away not only because of quality issues, always because of project scope issues.
Yes, you feel the project is completely useless unless emoji icons animate in diagrams. That's great, fork the project and kill ours off by adding the feature (which they won't and it won't).
When you know what the project scope is, tight enforcement of that scope is critical to prevent the complexity of the project from running away and ultimately killing the project entirely.
You can also install it in a rocker container.
Very neat!
Addtionally, you can deploy a local version via docker, or use the stand-alone desktop version, https://github.com/jgraph/drawio has the links.
Online: https://www.draw.io/
Desktop: https://github.com/jgraph/drawio-desktop/releases/
Example diagrams: https://about.draw.io/features/examples/
Source code: https://github.com/jgraph/drawio
1) Add #U to the URL then the path to the diagram to create a link that loads it directly:
https://www.draw.io/#Uhttps://jonworth.eu/downloads/29jandia...
2) File->Embed->HTML gives you an HTML snippet that you embed in your page to render a vector version of the diagram. Click the viewer opens up a lightbox, zoomable vector version, that can include the diagram data in the snippet, and a edit option from the lightbox to navigate to the editor with the diagram loaded.
3) draw.io is open source, https://github.com/jgraph/drawio, if you don't want to depend on a third-party for the viewer, clone the repo, host it as a static site (doesn't need a back-end) and reference the viewer on that site instead of www.draw.io.
The types of diagrams you can create is quite extensive: https://about.draw.io/features/examples/
and the diagrams generated are easily integrated into MediaWiki installations, with full editability.
draw.io online is a free-to-license web application for everyone. It is completely free to use for any purpose, there is no premium pay-for functionality, watermarking, or other limitations. You own the content you produce with draw.io and may use it for any purpose, including commercially. We don’t sell your personal information or data. We don’t store your data. You own your data and the application is open source.
Code here: https://github.com/jgraph/drawio
Asking for others to contribute to open source is a generally accepted concept.
Not embedded and it's horribly expensive, but very nice. There are a bunch of similar systems, but not quite as smooth.
draw.io is licenced under APL and usable. https://github.com/jgraph/drawio
Then there is the horrible but very practical: https://docs.google.com/drawings/