@@ -447,3 +447,88 @@ architecture-beta
447447 disk1:T -- B:server
448448 disk2:T -- B:db
449449```
450+
451+ ## ELK Styling
452+
453+ Mermaid provides an [ ELK layout] ( https://mermaid.js.org/syntax/entityRelationshipDiagram.html#layout )
454+
455+ ### Dagre
456+
457+ This is a "classical" Mermaid diagram, using the default Dagre layout.
458+
459+ ``` mermaid
460+ erDiagram
461+
462+ COMPANY ||--o{ DEPARTMENT : has
463+ COMPANY ||--o{ PROJECT : undertakes
464+ COMPANY ||--o{ LOCATION : operates_in
465+ COMPANY ||--o{ CLIENT : serves
466+
467+ DEPARTMENT ||--o{ EMPLOYEE : employs
468+ DEPARTMENT ||--o{ PROJECT : manages
469+ DEPARTMENT ||--o{ BUDGET : allocated
470+
471+ EMPLOYEE }o--o{ PROJECT : works_on
472+ EMPLOYEE ||--|| ADDRESS : lives_at
473+ EMPLOYEE }o--o{ SKILL : has
474+ EMPLOYEE ||--o{ DEPENDENT : supports
475+
476+ PROJECT ||--o{ CLIENT : for
477+ PROJECT ||--o{ TASK : contains
478+
479+ ```
480+
481+ ### ELK er diagram layout
482+
483+ This ER diagram should look different, using the ELK layout.
484+
485+ ``` mermaid
486+ ---
487+ config:
488+ layout: elk
489+ ---
490+ erDiagram
491+
492+ COMPANY ||--o{ DEPARTMENT : has
493+ COMPANY ||--o{ PROJECT : undertakes
494+ COMPANY ||--o{ LOCATION : operates_in
495+ COMPANY ||--o{ CLIENT : serves
496+
497+ DEPARTMENT ||--o{ EMPLOYEE : employs
498+ DEPARTMENT ||--o{ PROJECT : manages
499+ DEPARTMENT ||--o{ BUDGET : allocated
500+
501+ EMPLOYEE }o--o{ PROJECT : works_on
502+ EMPLOYEE ||--|| ADDRESS : lives_at
503+ EMPLOYEE }o--o{ SKILL : has
504+ EMPLOYEE ||--o{ DEPENDENT : supports
505+
506+ PROJECT ||--o{ CLIENT : for
507+ PROJECT ||--o{ TASK : contains
508+
509+ ```
510+
511+ Mermaid also provides a way of setting config parameters using a directive ` %%{init:{"layout":"elk"}}%% `
512+
513+ ``` mermaid
514+ %%{init:{"layout":"elk"}}%%
515+ erDiagram
516+
517+ COMPANY ||--o{ DEPARTMENT : has
518+ COMPANY ||--o{ PROJECT : undertakes
519+ COMPANY ||--o{ LOCATION : operates_in
520+ COMPANY ||--o{ CLIENT : serves
521+
522+ DEPARTMENT ||--o{ EMPLOYEE : employs
523+ DEPARTMENT ||--o{ PROJECT : manages
524+ DEPARTMENT ||--o{ BUDGET : allocated
525+
526+ EMPLOYEE }o--o{ PROJECT : works_on
527+ EMPLOYEE ||--|| ADDRESS : lives_at
528+ EMPLOYEE }o--o{ SKILL : has
529+ EMPLOYEE ||--o{ DEPENDENT : supports
530+
531+ PROJECT ||--o{ CLIENT : for
532+ PROJECT ||--o{ TASK : contains
533+
534+ ```
0 commit comments