From 97d706fe2c07e3d79a4b199a441cd47e3b8fc8d5 Mon Sep 17 00:00:00 2001 From: Dimi Date: Sat, 13 Jul 2024 20:54:48 +0200 Subject: [PATCH] Adding Hibernate framework --- diagrams/programming/framework.py | 4 ++++ docs/nodes/programming.md | 3 +++ resources/programming/framework/hibernate.png | Bin 0 -> 12433 bytes .../programming/framework/hibernate.png | Bin 0 -> 12433 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/programming/framework/hibernate.png create mode 100644 website/static/img/resources/programming/framework/hibernate.png diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index aa28e451..526b6495 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -40,6 +40,10 @@ class Graphql(_Framework): _icon = "graphql.png" +class Hibernate(_Framework): + _icon = "hibernate.png" + + class Laravel(_Framework): _icon = "laravel.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 08c83942..e9eef546 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -107,6 +107,9 @@ Node classes list of programming provider. Graphql **diagrams.programming.framework.Graphql**, **GraphQL** (alias) +Hibernate +**diagrams.programming.framework.Hibernate** + Laravel **diagrams.programming.framework.Laravel** diff --git a/resources/programming/framework/hibernate.png b/resources/programming/framework/hibernate.png new file mode 100644 index 0000000000000000000000000000000000000000..35a602879fc1c18f03578ae8b0a8b80702fa87d5 GIT binary patch literal 12433 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