Diagrams · Nomnoml macro
Class diagrams that get drawn, because they take a minute
With the Nomnoml macro the class diagram that never got drawn - because opening a modelling tool for three objects was not worth it - takes a couple of lines of text. Names in brackets, arrows between them, and you get a clean UML diagram on the page, sketched while you write.
You sketch the domain model while you write, not "later"
Write the classes, separate their fields and methods with a pipe, connect them with arrows - and layout is somebody else's problem. Your domain model becomes something you sketch inside the design document while you are writing it, not a task for later that never happens.
Reviewers fix a wrong relationship themselves, in one line
Because the diagram is its text, a reviewer who spots a wrong relationship fixes it instead of filing a comment and waiting for you. Your diagrams stay true to the code for the same reason comments do - the barrier to updating them is a keystroke.
You keep your house style, and nothing leaves your page to be drawn
Directives set direction, fill, stroke, font and spacing, so a lightweight diagram does not have to look like a default. Output is vector, sharp at any zoom, and it renders in the reader's browser - your architecture is not sent anywhere to become a picture.
You type it here or keep it in the repo - and readers can take it
Put the source straight in the macro, or point it at the definition your project already versions - a URL, an attachment, Google Drive, or a credentialed S3, SFTP or database connection an admin set up once. Readers download the source, so your diagram is never stuck on one page.
What the other Nomnoml apps do with your architecture
Two kinds of app render nomnoml in Confluence: small macros that only take source pasted into the page, and the Kroki bundles, which hand your diagram text to an external rendering server - kroki.io by default - and draw the picture it sends back. This macro needs neither arrangement. The diagram is drawn in the reader's own browser, and the source can come from wherever you keep it - including Google Drive, an S3 bucket or an SFTP server, which none of them read - so nothing about your architecture leaves your page to become a picture.
Nomnoml is one of 31 macros in Macro Pack
One app to install, one licence to renew, one place your team learns - and 30 more formats it already reads, from spreadsheets and diagrams to API specs and documents.
See every macro in the pack