diff --git a/autogen.sh b/autogen.sh index e206946d..adc19c2a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -4,7 +4,7 @@ set -e app_root_dir="diagrams" # NOTE: azure icon set is not latest version -providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "generic") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "generic") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 9ee1e089..0625aa53 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ DIR_APP_ROOT = "diagrams" DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" -PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "generic") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "generic") ######################### # Resource Processing # @@ -34,6 +34,7 @@ FILE_PREFIXES = { "alibabacloud": (), "oci": ("OCI-",), "programming": (), + "saas": (), "generic": (), } @@ -356,5 +357,6 @@ ALIASES = { "Typescript": "TypeScript" }, }, - "generic": {} + "saas": {}, + "generic": {}, } diff --git a/diagrams/saas/__init__.py b/diagrams/saas/__init__.py new file mode 100644 index 00000000..ecae1d80 --- /dev/null +++ b/diagrams/saas/__init__.py @@ -0,0 +1,12 @@ +""" +Saas provides a set of general saas services. +""" + +from diagrams import Node + + +class _Saas(Node): + _provider = "saas" + _icon_dir = "resources/saas" + + fontcolor = "#ffffff" diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py new file mode 100644 index 00000000..ebdf0532 --- /dev/null +++ b/diagrams/saas/chat.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Chat(_Saas): + _type = "chat" + _icon_dir = "resources/saas/chat" + + +class Slack(_Chat): + _icon = "slack.png" + + +class Telegram(_Chat): + _icon = "telegram.png" + + +# Aliases diff --git a/diagrams/saas/social.py b/diagrams/saas/social.py new file mode 100644 index 00000000..6ad326db --- /dev/null +++ b/diagrams/saas/social.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Social(_Saas): + _type = "social" + _icon_dir = "resources/saas/social" + + +class Facebook(_Social): + _icon = "facebook.png" + + +class Twitter(_Social): + _icon = "twitter.png" + + +# Aliases diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md new file mode 100644 index 00000000..4e7ae882 --- /dev/null +++ b/docs/nodes/saas.md @@ -0,0 +1,16 @@ +--- +id: saas +title: Saas +--- + +Node classes list of saas provider. + +## saas.chat + +- **diagrams.saas.chat.Slack** +- **diagrams.saas.chat.Telegram** + +## saas.social + +- **diagrams.saas.social.Facebook** +- **diagrams.saas.social.Twitter** diff --git a/resources/saas/chat/slack.png b/resources/saas/chat/slack.png new file mode 100644 index 00000000..b2cf219e Binary files /dev/null and b/resources/saas/chat/slack.png differ diff --git a/resources/saas/chat/telegram.png b/resources/saas/chat/telegram.png new file mode 100644 index 00000000..d52b904c Binary files /dev/null and b/resources/saas/chat/telegram.png differ diff --git a/resources/saas/social/facebook.png b/resources/saas/social/facebook.png new file mode 100755 index 00000000..3ffb63c6 Binary files /dev/null and b/resources/saas/social/facebook.png differ diff --git a/resources/saas/social/twitter.png b/resources/saas/social/twitter.png new file mode 100644 index 00000000..8320d575 Binary files /dev/null and b/resources/saas/social/twitter.png differ diff --git a/scripts/generate.py b/scripts/generate.py index 412def77..a7e04b78 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -7,7 +7,7 @@ from jinja2 import Environment, FileSystemLoader, Template import config as cfg from . import app_root_dir, doc_root_dir, resource_dir, template_dir -_usage = "Usage: generate.py " +_usage = "Usage: generate.py " def load_tmpl(tmpl: str) -> Template: diff --git a/scripts/resource.py b/scripts/resource.py index 8cb866fa..daaa426d 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -96,6 +96,10 @@ def cleaner_programming(f): def cleaner_generic(f): return f.lower() +def cleaner_saas(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -106,6 +110,7 @@ cleaners = { "alibabacloud": cleaner_alibabacloud, "oci": cleaner_oci, "programming": cleaner_programming, + "saas": cleaner_saas, "generic": cleaner_generic, }