diff --git a/README.md b/README.md index 19499690..60a51d5e 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,11 @@ ![alibaba cloud provider](https://img.shields.io/badge/provider-AlibabaCloud-orange) ![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000) ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) +![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) +![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) + +Buy Me A Coffee **Diagram as Code**. diff --git a/autogen.sh b/autogen.sh index adc19c2a..1486dd0b 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" "saas" "generic") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 0625aa53..e5bba3a2 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", "saas", "generic") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", "generic") ######################### # Resource Processing # @@ -35,6 +35,7 @@ FILE_PREFIXES = { "oci": ("OCI-",), "programming": (), "saas": (), + "elastic": (), "generic": (), } @@ -60,6 +61,7 @@ UPPER_WORDS = { "sa", "sc", "sts", "svc", ), "oci": ("oci",), + "elastic": ("apm", "siem", "ece", "eck"), "generic": ("vpn",), } @@ -139,6 +141,8 @@ ALIASES = { "database": { "DatabaseMigrationService": "DMS", "DocumentdbMongodbCompatibility": "DocumentDB", + "DynamodbDax": "DAX", + "DynamodbGlobalSecondaryIndex": "DynamodbGSI", "Database": "DB", "Dynamodb": "DDB", "Elasticache": "ElastiCache", @@ -187,6 +191,10 @@ ALIASES = { "Cloudhsm": "CloudHSM", "DirectoryService": "DS", "FirewallManager": "FMS", + "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer", + "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts", + "IdentityAndAccessManagementIamPermissions": "IAMPermissions", + "IdentityAndAccessManagementIamRole": "IAMRole", "IdentityAndAccessManagementIam": "IAM", "KeyManagementService": "KMS", "ResourceAccessManager": "RAM", @@ -358,5 +366,10 @@ ALIASES = { }, }, "saas": {}, + "elastic": { + "elasticsearch": { + "Logstash": "LogStash", + } + }, "generic": {}, } diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py index 84065363..145fcb5d 100644 --- a/diagrams/aws/database.py +++ b/diagrams/aws/database.py @@ -24,6 +24,18 @@ class DocumentdbMongodbCompatibility(_Database): _icon = "documentdb-mongodb-compatibility.png" +class DynamodbDax(_Database): + _icon = "dynamodb-dax.png" + + +class DynamodbGlobalSecondaryIndex(_Database): + _icon = "dynamodb-global-secondary-index.png" + + +class DynamodbTable(_Database): + _icon = "dynamodb-table.png" + + class Dynamodb(_Database): _icon = "dynamodb.png" @@ -60,6 +72,8 @@ class Timestream(_Database): DMS = DatabaseMigrationService DocumentDB = DocumentdbMongodbCompatibility +DAX = DynamodbDax +DynamodbGSI = DynamodbGlobalSecondaryIndex DB = Database DDB = Dynamodb ElastiCache = Elasticache diff --git a/diagrams/aws/security.py b/diagrams/aws/security.py index d03d7175..61da75a9 100644 --- a/diagrams/aws/security.py +++ b/diagrams/aws/security.py @@ -28,6 +28,10 @@ class Cognito(_Security): _icon = "cognito.png" +class Detective(_Security): + _icon = "detective.png" + + class DirectoryService(_Security): _icon = "directory-service.png" @@ -40,6 +44,22 @@ class Guardduty(_Security): _icon = "guardduty.png" +class IdentityAndAccessManagementIamAccessAnalyzer(_Security): + _icon = "identity-and-access-management-iam-access-analyzer.png" + + +class IdentityAndAccessManagementIamAWSSts(_Security): + _icon = "identity-and-access-management-iam-aws-sts.png" + + +class IdentityAndAccessManagementIamPermissions(_Security): + _icon = "identity-and-access-management-iam-permissions.png" + + +class IdentityAndAccessManagementIamRole(_Security): + _icon = "identity-and-access-management-iam-role.png" + + class IdentityAndAccessManagementIam(_Security): _icon = "identity-and-access-management-iam.png" @@ -90,6 +110,10 @@ ACM = CertificateManager CloudHSM = Cloudhsm DS = DirectoryService FMS = FirewallManager +IAMAccessAnalyzer = IdentityAndAccessManagementIamAccessAnalyzer +IAMAWSSts = IdentityAndAccessManagementIamAWSSts +IAMPermissions = IdentityAndAccessManagementIamPermissions +IAMRole = IdentityAndAccessManagementIamRole IAM = IdentityAndAccessManagementIam KMS = KeyManagementService RAM = ResourceAccessManager diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py new file mode 100644 index 00000000..786fa60e --- /dev/null +++ b/diagrams/elastic/__init__.py @@ -0,0 +1,12 @@ +""" +Elastic provides a set of general elastic services. +""" + +from diagrams import Node + + +class _Elastic(Node): + _provider = "elastic" + _icon_dir = "resources/elastic" + + fontcolor = "#ffffff" diff --git a/diagrams/elastic/elasticsearch.py b/diagrams/elastic/elasticsearch.py new file mode 100644 index 00000000..a903a42b --- /dev/null +++ b/diagrams/elastic/elasticsearch.py @@ -0,0 +1,49 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Elasticsearch(_Elastic): + _type = "elasticsearch" + _icon_dir = "resources/elastic/elasticsearch" + + +class Alerting(_Elasticsearch): + _icon = "alerting.png" + + +class Elasticsearch(_Elasticsearch): + _icon = "elasticsearch.png" + + +class Kibana(_Elasticsearch): + _icon = "kibana.png" + + +class Logstash(_Elasticsearch): + _icon = "logstash.png" + + +class MachineLearning(_Elasticsearch): + _icon = "machine-learning.png" + + +class Maps(_Elasticsearch): + _icon = "maps.png" + + +class Monitoring(_Elasticsearch): + _icon = "monitoring.png" + + +class SecuritySettings(_Elasticsearch): + _icon = "security-settings.png" + + +class Sql(_Elasticsearch): + _icon = "sql.png" + + +# Aliases + +LogStash = Logstash diff --git a/diagrams/elastic/enterprisesearch.py b/diagrams/elastic/enterprisesearch.py new file mode 100644 index 00000000..d5e19459 --- /dev/null +++ b/diagrams/elastic/enterprisesearch.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Enterprisesearch(_Elastic): + _type = "enterprisesearch" + _icon_dir = "resources/elastic/enterprisesearch" + + +class AppSearch(_Enterprisesearch): + _icon = "app-search.png" + + +class EnterpriseSearch(_Enterprisesearch): + _icon = "enterprise-search.png" + + +class SiteSearch(_Enterprisesearch): + _icon = "site-search.png" + + +class WorkplaceSearch(_Enterprisesearch): + _icon = "workplace-search.png" + + +# Aliases diff --git a/diagrams/elastic/observability.py b/diagrams/elastic/observability.py new file mode 100644 index 00000000..3001340d --- /dev/null +++ b/diagrams/elastic/observability.py @@ -0,0 +1,31 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Observability(_Elastic): + _type = "observability" + _icon_dir = "resources/elastic/observability" + + +class APM(_Observability): + _icon = "apm.png" + + +class Logs(_Observability): + _icon = "logs.png" + + +class Metrics(_Observability): + _icon = "metrics.png" + + +class Observability(_Observability): + _icon = "observability.png" + + +class Uptime(_Observability): + _icon = "uptime.png" + + +# Aliases diff --git a/diagrams/elastic/orchestration.py b/diagrams/elastic/orchestration.py new file mode 100644 index 00000000..99084cc7 --- /dev/null +++ b/diagrams/elastic/orchestration.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Orchestration(_Elastic): + _type = "orchestration" + _icon_dir = "resources/elastic/orchestration" + + +class ECE(_Orchestration): + _icon = "ece.png" + + +class ECK(_Orchestration): + _icon = "eck.png" + + +# Aliases diff --git a/diagrams/elastic/security.py b/diagrams/elastic/security.py new file mode 100644 index 00000000..34afe3e0 --- /dev/null +++ b/diagrams/elastic/security.py @@ -0,0 +1,23 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Security(_Elastic): + _type = "security" + _icon_dir = "resources/elastic/security" + + +class Endpoint(_Security): + _icon = "endpoint.png" + + +class Security(_Security): + _icon = "security.png" + + +class SIEM(_Security): + _icon = "siem.png" + + +# Aliases diff --git a/diagrams/onprem/gitops.py b/diagrams/onprem/gitops.py index 670bd2c5..c4702c62 100644 --- a/diagrams/onprem/gitops.py +++ b/diagrams/onprem/gitops.py @@ -12,6 +12,14 @@ class Argocd(_Gitops): _icon = "argocd.png" +class Flagger(_Gitops): + _icon = "flagger.png" + + +class Flux(_Gitops): + _icon = "flux.png" + + # Aliases ArgoCD = Argocd diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 60de2215..36c3d4c0 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -68,6 +68,10 @@ class Ruby(_Language): _icon = "ruby.png" +class Rust(_Language): + _icon = "rust.png" + + class Swift(_Language): _icon = "swift.png" diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index 1c8feb3f..ef5bdec2 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -61,6 +61,9 @@ Node classes list of aws provider. - **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias) - **diagrams.aws.database.Database**, **DB** (alias) - **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias) +- **diagrams.aws.database.DynamodbDax**, **DAX** (alias) +- **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias) +- **diagrams.aws.database.DynamodbTable** - **diagrams.aws.database.Dynamodb**, **DDB** (alias) - **diagrams.aws.database.Elasticache**, **ElastiCache** (alias) - **diagrams.aws.database.Neptune** @@ -254,9 +257,14 @@ Node classes list of aws provider. - **diagrams.aws.security.CloudDirectory** - **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) - **diagrams.aws.security.Cognito** +- **diagrams.aws.security.Detective** - **diagrams.aws.security.DirectoryService**, **DS** (alias) - **diagrams.aws.security.FirewallManager**, **FMS** (alias) - **diagrams.aws.security.Guardduty** +- **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamAWSSts**, **IAMAWSSts** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamPermissions**, **IAMPermissions** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamRole**, **IAMRole** (alias) - **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) - **diagrams.aws.security.Inspector** - **diagrams.aws.security.KeyManagementService**, **KMS** (alias) diff --git a/docs/nodes/elastic.md b/docs/nodes/elastic.md new file mode 100644 index 00000000..ce5d3c7a --- /dev/null +++ b/docs/nodes/elastic.md @@ -0,0 +1,44 @@ +--- +id: elastic +title: Elastic +--- + +Node classes list of elastic provider. + +## elastic.elasticsearch + +- **diagrams.elastic.elasticsearch.Alerting** +- **diagrams.elastic.elasticsearch.Elasticsearch** +- **diagrams.elastic.elasticsearch.Kibana** +- **diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias) +- **diagrams.elastic.elasticsearch.MachineLearning** +- **diagrams.elastic.elasticsearch.Maps** +- **diagrams.elastic.elasticsearch.Monitoring** +- **diagrams.elastic.elasticsearch.SecuritySettings** +- **diagrams.elastic.elasticsearch.Sql** + +## elastic.enterprisesearch + +- **diagrams.elastic.enterprisesearch.AppSearch** +- **diagrams.elastic.enterprisesearch.EnterpriseSearch** +- **diagrams.elastic.enterprisesearch.SiteSearch** +- **diagrams.elastic.enterprisesearch.WorkplaceSearch** + +## elastic.observability + +- **diagrams.elastic.observability.APM** +- **diagrams.elastic.observability.Logs** +- **diagrams.elastic.observability.Metrics** +- **diagrams.elastic.observability.Observability** +- **diagrams.elastic.observability.Uptime** + +## elastic.orchestration + +- **diagrams.elastic.orchestration.ECE** +- **diagrams.elastic.orchestration.ECK** + +## elastic.security + +- **diagrams.elastic.security.Endpoint** +- **diagrams.elastic.security.Security** +- **diagrams.elastic.security.SIEM** diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index aedecdf3..7b789db3 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -73,6 +73,8 @@ Node classes list of onprem provider. ## onprem.gitops - **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias) +- **diagrams.onprem.gitops.Flagger** +- **diagrams.onprem.gitops.Flux** ## onprem.iac diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index b2843ec4..60c8a0e3 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -36,5 +36,6 @@ Node classes list of programming provider. - **diagrams.programming.language.Python** - **diagrams.programming.language.R** - **diagrams.programming.language.Ruby** +- **diagrams.programming.language.Rust** - **diagrams.programming.language.Swift** - **diagrams.programming.language.Typescript**, **TypeScript** (alias) diff --git a/pyproject.toml b/pyproject.toml index 9d2a2e75..b281ce16 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.12.0" +version = "0.13.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] diff --git a/resources/aws/database/dynamodb-dax.png b/resources/aws/database/dynamodb-dax.png new file mode 100755 index 00000000..5f923c6f Binary files /dev/null and b/resources/aws/database/dynamodb-dax.png differ diff --git a/resources/aws/database/dynamodb-global-secondary-index.png b/resources/aws/database/dynamodb-global-secondary-index.png new file mode 100644 index 00000000..ca41aebd Binary files /dev/null and b/resources/aws/database/dynamodb-global-secondary-index.png differ diff --git a/resources/aws/database/dynamodb-table.png b/resources/aws/database/dynamodb-table.png new file mode 100644 index 00000000..2dc08e68 Binary files /dev/null and b/resources/aws/database/dynamodb-table.png differ diff --git a/resources/aws/security/detective.png b/resources/aws/security/detective.png new file mode 100755 index 00000000..9b138ec5 Binary files /dev/null and b/resources/aws/security/detective.png differ diff --git a/resources/aws/security/identity-and-access-management-iam-access-analyzer.png b/resources/aws/security/identity-and-access-management-iam-access-analyzer.png new file mode 100644 index 00000000..e04ad7c4 Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-access-analyzer.png differ diff --git a/resources/aws/security/identity-and-access-management-iam-aws-sts.png b/resources/aws/security/identity-and-access-management-iam-aws-sts.png new file mode 100644 index 00000000..d9e35a3c Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-aws-sts.png differ diff --git a/resources/aws/security/identity-and-access-management-iam-permissions.png b/resources/aws/security/identity-and-access-management-iam-permissions.png new file mode 100644 index 00000000..2f26e277 Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-permissions.png differ diff --git a/resources/aws/security/identity-and-access-management-iam-role.png b/resources/aws/security/identity-and-access-management-iam-role.png new file mode 100644 index 00000000..97862706 Binary files /dev/null and b/resources/aws/security/identity-and-access-management-iam-role.png differ diff --git a/resources/elastic/cloud.png b/resources/elastic/cloud.png new file mode 100644 index 00000000..92ee1c92 Binary files /dev/null and b/resources/elastic/cloud.png differ diff --git a/resources/elastic/elasticsearch/alerting.png b/resources/elastic/elasticsearch/alerting.png new file mode 100644 index 00000000..eb8c7c71 Binary files /dev/null and b/resources/elastic/elasticsearch/alerting.png differ diff --git a/resources/elastic/elasticsearch/elasticsearch.png b/resources/elastic/elasticsearch/elasticsearch.png new file mode 100644 index 00000000..10188c30 Binary files /dev/null and b/resources/elastic/elasticsearch/elasticsearch.png differ diff --git a/resources/elastic/elasticsearch/kibana.png b/resources/elastic/elasticsearch/kibana.png new file mode 100644 index 00000000..b856e29b Binary files /dev/null and b/resources/elastic/elasticsearch/kibana.png differ diff --git a/resources/elastic/elasticsearch/logstash.png b/resources/elastic/elasticsearch/logstash.png new file mode 100644 index 00000000..7beca017 Binary files /dev/null and b/resources/elastic/elasticsearch/logstash.png differ diff --git a/resources/elastic/elasticsearch/machine-learning.png b/resources/elastic/elasticsearch/machine-learning.png new file mode 100644 index 00000000..d69926ce Binary files /dev/null and b/resources/elastic/elasticsearch/machine-learning.png differ diff --git a/resources/elastic/elasticsearch/maps.png b/resources/elastic/elasticsearch/maps.png new file mode 100644 index 00000000..5f597a9c Binary files /dev/null and b/resources/elastic/elasticsearch/maps.png differ diff --git a/resources/elastic/elasticsearch/monitoring.png b/resources/elastic/elasticsearch/monitoring.png new file mode 100644 index 00000000..00c9665c Binary files /dev/null and b/resources/elastic/elasticsearch/monitoring.png differ diff --git a/resources/elastic/elasticsearch/security-settings.png b/resources/elastic/elasticsearch/security-settings.png new file mode 100644 index 00000000..74a54816 Binary files /dev/null and b/resources/elastic/elasticsearch/security-settings.png differ diff --git a/resources/elastic/elasticsearch/sql.png b/resources/elastic/elasticsearch/sql.png new file mode 100644 index 00000000..ebb7fc3e Binary files /dev/null and b/resources/elastic/elasticsearch/sql.png differ diff --git a/resources/elastic/enterprisesearch/app-search.png b/resources/elastic/enterprisesearch/app-search.png new file mode 100644 index 00000000..a7217232 Binary files /dev/null and b/resources/elastic/enterprisesearch/app-search.png differ diff --git a/resources/elastic/enterprisesearch/enterprise-search.png b/resources/elastic/enterprisesearch/enterprise-search.png new file mode 100644 index 00000000..6354b21c Binary files /dev/null and b/resources/elastic/enterprisesearch/enterprise-search.png differ diff --git a/resources/elastic/enterprisesearch/site-search.png b/resources/elastic/enterprisesearch/site-search.png new file mode 100644 index 00000000..eb41bb9c Binary files /dev/null and b/resources/elastic/enterprisesearch/site-search.png differ diff --git a/resources/elastic/enterprisesearch/workplace-search.png b/resources/elastic/enterprisesearch/workplace-search.png new file mode 100644 index 00000000..5e38b5e6 Binary files /dev/null and b/resources/elastic/enterprisesearch/workplace-search.png differ diff --git a/resources/elastic/observability/apm.png b/resources/elastic/observability/apm.png new file mode 100644 index 00000000..3b1ba284 Binary files /dev/null and b/resources/elastic/observability/apm.png differ diff --git a/resources/elastic/observability/logs.png b/resources/elastic/observability/logs.png new file mode 100644 index 00000000..2976ae21 Binary files /dev/null and b/resources/elastic/observability/logs.png differ diff --git a/resources/elastic/observability/metrics.png b/resources/elastic/observability/metrics.png new file mode 100644 index 00000000..bb354a07 Binary files /dev/null and b/resources/elastic/observability/metrics.png differ diff --git a/resources/elastic/observability/observability.png b/resources/elastic/observability/observability.png new file mode 100644 index 00000000..5844caa9 Binary files /dev/null and b/resources/elastic/observability/observability.png differ diff --git a/resources/elastic/observability/uptime.png b/resources/elastic/observability/uptime.png new file mode 100644 index 00000000..f4e2709d Binary files /dev/null and b/resources/elastic/observability/uptime.png differ diff --git a/resources/elastic/orchestration/ece.png b/resources/elastic/orchestration/ece.png new file mode 100644 index 00000000..82629553 Binary files /dev/null and b/resources/elastic/orchestration/ece.png differ diff --git a/resources/elastic/orchestration/eck.png b/resources/elastic/orchestration/eck.png new file mode 100644 index 00000000..b5135efa Binary files /dev/null and b/resources/elastic/orchestration/eck.png differ diff --git a/resources/elastic/security/endpoint.png b/resources/elastic/security/endpoint.png new file mode 100644 index 00000000..91facf99 Binary files /dev/null and b/resources/elastic/security/endpoint.png differ diff --git a/resources/elastic/security/security.png b/resources/elastic/security/security.png new file mode 100644 index 00000000..ebf98d16 Binary files /dev/null and b/resources/elastic/security/security.png differ diff --git a/resources/elastic/security/siem.png b/resources/elastic/security/siem.png new file mode 100644 index 00000000..4024b3c0 Binary files /dev/null and b/resources/elastic/security/siem.png differ diff --git a/resources/onprem/gitops/flagger.png b/resources/onprem/gitops/flagger.png new file mode 100644 index 00000000..de8835df Binary files /dev/null and b/resources/onprem/gitops/flagger.png differ diff --git a/resources/onprem/gitops/flux.png b/resources/onprem/gitops/flux.png new file mode 100644 index 00000000..057b6361 Binary files /dev/null and b/resources/onprem/gitops/flux.png differ diff --git a/resources/programming/language/rust.png b/resources/programming/language/rust.png new file mode 100644 index 00000000..a9f7fa15 Binary files /dev/null and b/resources/programming/language/rust.png differ diff --git a/scripts/generate.py b/scripts/generate.py index a7e04b78..fedee589 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 daaa426d..20aee58e 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -24,6 +24,7 @@ def cleaner_onprem(f): def cleaner_aws(f): f = f.replace("_", "-") f = f.replace("@4x", "") + f = f.replace("-light-bg4x", "") f = f.replace("-light-bg", "") for p in cfg.FILE_PREFIXES["aws"]: if f.startswith(p): @@ -100,6 +101,10 @@ def cleaner_saas(f): return f.lower() +def cleaner_elastic(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -111,6 +116,7 @@ cleaners = { "oci": cleaner_oci, "programming": cleaner_programming, "saas": cleaner_saas, + "elastic": cleaner_elastic, "generic": cleaner_generic, } diff --git a/website/core/Footer.js b/website/core/Footer.js index 705188f3..8f1c1759 100644 --- a/website/core/Footer.js +++ b/website/core/Footer.js @@ -51,7 +51,7 @@ class Footer extends React.Component {
More
- +
{this.props.config.copyright}
); diff --git a/website/i18n/en.json b/website/i18n/en.json index ac75a433..c6232b39 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -32,6 +32,12 @@ "nodes/azure": { "title": "Azure" }, + "nodes/elastic": { + "title": "Elastic" + }, + "nodes/firebase": { + "title": "Firebase" + }, "nodes/gcp": { "title": "GCP" }, @@ -46,13 +52,17 @@ }, "nodes/programming": { "title": "Programming" + }, + "nodes/saas": { + "title": "Saas" } }, "links": { "Docs": "Docs", "Guides": "Guides", "Nodes": "Nodes", - "GitHub": "GitHub" + "GitHub": "GitHub", + "Sponsorship": "Sponsorship" }, "categories": { "Getting Started": "Getting Started", diff --git a/website/pages/en/index.js b/website/pages/en/index.js index cc0bdcaa..117ba514 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -111,6 +111,20 @@ class Index extends React.Component { ); + const Sponsorship = () => ( +
+

Sponsorship

+ + Sponsoring always helps a lot to maintain Diagrams. Thank you :) + + + Buy Me A Coffee + +
+ ); + const Example = () => ( {[ @@ -148,6 +162,7 @@ class Index extends React.Component { + ); diff --git a/website/sidebars.json b/website/sidebars.json index 3e80df07..91d5d709 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -18,7 +18,10 @@ "nodes/k8s", "nodes/alibabacloud", "nodes/oci", - "nodes/programming" + "nodes/programming", + "nodes/firebase", + "nodes/saas", + "nodes/elastic" ] } } \ No newline at end of file diff --git a/website/siteConfig.js b/website/siteConfig.js index aea9355c..16cce1cc 100644 --- a/website/siteConfig.js +++ b/website/siteConfig.js @@ -22,6 +22,7 @@ const siteConfig = { {doc: 'guides/diagram', label: 'Guides'}, {doc: 'nodes/aws', label: 'Nodes'}, {href: 'https://github.com/mingrammer/diagrams', label: 'GitHub'}, + {href: 'https://www.buymeacoffee.com/mingrammer', label: 'Sponsoring'}, ], headerIcon: 'img/diagrams.ico', diff --git a/website/static/css/custom.css b/website/static/css/custom.css index 01aa4ed3..235f6269 100644 --- a/website/static/css/custom.css +++ b/website/static/css/custom.css @@ -20,4 +20,8 @@ } @media only screen and (min-width: 1500px) { +} + +#buymeacoffee { + height: 50px; } \ No newline at end of file