Aller au contenu

Instructions

Le thème inclut un plugin remark-mermaid personnalisé (plugins/remark-mermaid.mjs) qui convertit les blocs de code ```mermaid délimités en wrappers <div class="mermaid-container">. Le script CDN Mermaid génère des diagrammes SVG au chargement de la page.

Utilisez la syntaxe de nœud @\{\} pour ajouter des icônes depuis n’importe quel pack d’icônes enregistré :

nodeName@{ icon: 'pack:icon-name', label: 'Display Label' }

Le type de diagramme architecture-beta prend en charge les définitions de services et de groupes avec des nœuds décorés d’icônes :

service myService(pack:icon-name)[Label]
group myGroup(pack:icon-name)[Label]

Les packs d’icônes suivants sont enregistrés et disponibles dans les diagrammes Mermaid. Les icônes sont chargées de manière différée depuis le CDN uniquement lorsqu’elles sont référencées.

Nom du packPaquet npmIcônes principales
hashicorp-flight@f5-sales-demo/icons-hashicorp-flightterraform-color, consul-color, vault-color, aws-color, azure-color, gcp-color, kubernetes-color, docker-color
f5-brand@f5-sales-demo/icons-f5-brandnetwork-gateway, security-firewall, security-shield-network, cloud-multi, hw-server
f5xc@f5-sales-demo/icons-f5xcweb-app-and-api-protection, bot-defense, multi-cloud-app-connect, dns-management, content-delivery-network
carbon@f5-sales-demo/icons-carboncloud-services, data-base, gateway-api, virtual-machine, load-balancer-global, firewall, dns-services, virtual-private-cloud
lucide@f5-sales-demo/icons-lucideserver, database, shield, shield-check, globe, lock, cloud, network, user
mdi@f5-sales-demo/icons-mdiserver, database, shield, cloud, lock, network, dns, vpn, router
phosphor@f5-sales-demo/icons-phosphorcloud, database, shield, globe, lock, network
tabler@f5-sales-demo/icons-tablerserver, database, shield, cloud, lock, network, route, router
azure@f5-sales-demo/icons-azurevirtual-networks, load-balancers, firewalls, virtual-network-gateways, virtual-machine, public-ip-addresses, route-tables, subnet

Les diagrammes Mermaid sont encapsulés dans un conteneur stylisé avec des coins arrondis et une ombre portée en couches :

.mermaid-container {
border: 1px solid var(--sl-color-gray-5);
border-radius: 0.75rem;
padding: 1.5rem;
box-shadow: 0 2px 4px rgba(0,0,0,0.04), 0 8px 16px rgba(0,0,0,0.08), 0 24px 48px rgba(0,0,0,0.12);
margin-block: 1.5rem;
background: #fff;
}

Le style <pre> par défaut de Starlight est supprimé du wrapper mermaid afin que seule la bordure du conteneur extérieur soit visible :

.mermaid-container pre.mermaid {
border: none;
padding: 0;
margin: 0;
background: transparent;
}

Le SVG intérieur est forcé sur un fond blanc pour assurer la compatibilité avec le mode sombre :

.mermaid-container svg {
background: white !important;
border-radius: 0.5rem;
}
  • .mermaid-container dispose d’un fond SVG blanc en mode sombre
  • La bordure du conteneur utilise --sl-color-gray-5
  • Le conteneur possède un rayon de bordure de 0,75 rem et une ombre portée en couches
  • Les diagrammes sont lisibles aussi bien en thème clair qu’en thème sombre
  • Le script CDN Mermaid se charge et génère les SVG au chargement de la page