Библиотека тем и спрайтов A1S.
Warning
|
Отказ от ответственности: все права принадлежат их владельцам. Данные получены из открытых источников и сети Интернет. Данная библиотека предоставляется в режиме AS-IS. Автор не несёт ответственности в случае ущерба, понесённого в результате использования данной библиотеки. |
Tip
|
В случае, если у вас есть более качественная версия логотипа или более точная версия цвета, то можете создать MR (fork + pull request/merge request). |
В телекоме и в области мобильной связи часто возникает необходимость в диагрммах, например, диаграммах прохождения трафика или каких-то даиграммах последовательностей.
Одним из лучших, если не самым лучшим инстурментом для рисования диаграмм и схем (в парадигде diagram as a code
) является PlantUML ( https://plantuml.com/ ).
Кроме того, у данного инструмента есть множество интеграций с другими системами:
Так как достаточно часто приходится рисовать диаграммы, то и появилась необходимость собрать часто используемые части/компоненты в виде библиотеки.
Например, очень не хватало логотипов операторов.
При использовании данной библиотеки можно строить диаграммы такого вида:
В виде такого текстового описания:
@startuml
title Схема прохождения трафика
!include https://raw.githubusercontent.com/wizardjedi/a1s-plantuml-lib/master/a1s-lib.puml
rectangle "<$megafon_s,scale=0.5,color=$CLR_MEGAFON_1>" as megafon
rectangle "<$mts_s,scale=0.5,color=$CLR_MTS_1>" as mts
rectangle "<$beeline_s,scale=0.5>" as beeline $CLR_BEELINE_1
rectangle "<$tele2_s,scale=0.5,color=$CLR_TELE2_1>" as tele2
rectangle "<$smstraffic_s,scale=0.5,color=$CLR_SMSTRAFFIC_1>\nSMS Traffic" as smstraffic
rectangle "<$devino_s,scale=0.5,color=$CLR_DEVINO_1>\nDevino Telecom" as devino
left to right direction
actor client
client --> smstraffic : smpp 50%
client --> devino : smpp 50%
smstraffic --> tele2
smstraffic --> mts $CLR_MTS_1
smstraffic --> megafon $CLR_MEGAFON_1
smstraffic --> beeline $CLR_BEELINE_1
devino --> tele2
devino --> mts $CLR_MTS_1
devino --> megafon $CLR_MEGAFON_1
devino --> beeline $CLR_BEELINE_1
@enduml
Для подключения библиотеки необходимо либо скачать библиотеку и использовать с локальной файловой системы или импортировать по URL.
!include https://raw.githubusercontent.com/wizardjedi/a1s-plantuml-lib/master/a1s-lib.puml
Warning
|
PlantUML имеет ограничения безопасности по импорту библиотек по URL. Настройки безопасности описаны на соответствующзей странице https://plantuml.com/security |
Плагин PlantUML для Confluence может загружать файлы из приложений к страницам ( https://avono-support.atlassian.net/wiki/spaces/PUML/pages/9699367/Macro+plantuml ).
Для Confluence алгоритм подключения будет таким:
-
Скачиваем файл с описанием библиотеки https://raw.githubusercontent.com/wizardjedi/a1s-plantuml-lib/master/a1s-lib.puml
-
Для корневой (или какой-то другой страницы) добавляем файл
a1s-lib.puml
в приложения (attachment) -
В тексте диаграммы подключаем данный файл с помощью синтаксиса включения
^attachment.ext pagetitle pagetitle^attachment.ext spacekey:pagetitle spacekey:pagetitle^attachment.ext
Например, для пространства superspace
и страницы Space Home
.
...
!include superspace:Space home^a1s-lib.puml
...
Для использования на диаграммах были выделены базовые цвета и дополнительно созданы оттенки данных базовых цветов для использования.
Для всех цветов дейсвтую следующие правила:
-
Переменная цвета начинается с префикса
CLR_
(например,CLR_BLUE
- синий цвет) -
Для оттенков используются суффиксы с насыщенностью от 100(светлый) до 900(тёмный) (базовый цвет имеет насущенность 500) (например,
CLR_ORANGE_100
- самый светлый из оранжевых оттенков)
Переменная | Значение | Описание |
---|---|---|
|
|
Красный |
|
|
Синий |
|
|
Зелёный |
|
|
Оранжевый |
|
|
Жёлтый |
|
|
Фиолетовый |
|
|
Коричневый |
|
|
Серый |
|
|
Чёрный |
|
|
Белый |
|
|
Голубой |
|
|
Розовый |
В диаграммах (особенно даиграммах последовталеьностей) часто используются альтернативные ветки исполнения. Например, успешны сценарий, ошибочный, некоторое количество алтернатив и исключения.
Для данных сценариев добавлены специальные переменные для указания цветов:
Переменная | Описание |
---|---|
|
Успешно |
|
Ошибка |
|
Альтернатива |
|
Исключение |
...
alt $CLR_SUCCESS Успешная отправка
a1s --> viber : Отправка сообщения
else $CLR_ALT Альтернативный сценарий
a1s --> whatsapp : Отправка сообщения
else $CLR_ERROR Ошибка отправки
a1s --x viber : Ошибка отправки
a1s --> whatsapp : Переотправка сообщения
else $CLR_EXCEPTION Режим аварии
a1s --> telegram : Уведомление группы мониторинга
end
...
Для логотипов компаний и сервисов были выделены корпоративные или цвета бренда. Такие цвета записаны в переменных вида $CLR_<BRAND>_<НОМЕР>
(например, $CLR_TELE2_1
).
Переменная | Значение | Описание |
---|---|---|
|
|
Теле2 РФ |
|
|
Теле2 РФ |
|
|
Теле2 РФ |
|
|
Теле2 РФ |
|
|
Мегафон РФ |
|
|
Мегафон РФ |
|
|
МТС РФ |
|
|
Билайн(Вымпелком) РФ |
|
|
Билайн(Вымпелком) РФ |
|
|
Йота РФ |
|
|
Мотив РФ/Екатеринбург-2000 |
|
|
Ростелеком |
|
|
Ростелеком |
|
|
Девино телеком |
|
|
СМС Траффик |
|
|
ОСК/Эдна |
|
|
А1 Системс |
|
|
А1 Системс |
|
|
НТЦ Протей |
|
|
Беркут |
|
|
Viber/Вайбер |
|
|
|
|
|
|
|
|
Telegram |
|
|
Skype |
|
|
Zoom |
Warning
|
Цвета были получены из открытых источников. В частности с корпоративных сайтов с использованием инструмента CSS Overview из Chrome Developer Tools. |
Библиотека содержит переменные с градиентами, которые начинаются с префикса GRD_CLR_
.
Переменная | Описание |
---|---|
|
Красный градиент |
|
Синий градиент |
|
Зелёный градиент |
|
Оранжевый градиент |
|
Жёлтый градиент |
|
Фиолетовый градиент |
|
Коричневый градиент |
|
Серый градиент |
|
Голубой градиент |
|
Розовый градиент |
|
Тёмный красный градиент |
|
Тёмный синий градиент |
|
Тёмный зелёный градиент |
|
Тёмный оранжевый градиент |
|
Тёмный жёлтый градиент |
|
Тёмный фиолетовый градиент |
|
Тёмный коричневый градиент |
|
Тёмный серый градиент |
|
Тёмный голубой градиент |
|
Тёмный розовый градиент |
Переменную $GRD_CLR_BG_PRIMARY
пользователь может определить до включения библиотеки для переопределения фона по умолчанию для компонентов диаграмм.
card "<$beeline>" as beeline rectangle "<$megafon,scale=0.5,color=$CLR_MEGAFON_1>" as megafon $CLR_MEGAFON_2
-
Спрайты разбиты на группы
-
messengers
- мессенджеры -
mobile-operators
- логотипы мобильных операторов -
sms-agregators
- логотипы СМС-агрегаторов -
vendors
- вендоры
-
-
Для спрайтов приняты следюущие размеры, которые оформляются в виде суффиксов к имени файла
-
_s
- маленький, только логотип, размер128px x 128px
(пример,<$megafon_s>
) -
_l
- большой, логотип с названием, максимальный размер по ширине300px
(пример,<$motiv_l>
)
-
-
Исходные изображения для спрайтов сохранены в директориях
src
соответствующей директории с категориями
Спрайт | Изображение | Размеры |
---|---|---|
|
300x105 |
|
|
128x128 |
|
|
300x105 |
|
|
128x128 |
|
|
300x105 |
|
|
128x128 |
Спрайт | Изображение | Размеры |
---|---|---|
|
300x63 |
|
|
128x128 |
|
|
300x54 |
|
|
128x128 |
|
|
300x56 |
|
|
128x128 |
|
|
300x300 |
|
|
128x128 |
|
|
300x77 |
|
|
128x128 |
|
|
300x39 |
|
|
128x128 |
|
|
300x118 |
|
|
128x128 |
|
|
300x92 |
|
|
136x128 |
|
|
300x95 |
|
|
128x128 |
Спрайт | Изображение | Размеры |
---|---|---|
|
300x115 |
|
|
128x128 |
|
|
300x93 |
|
|
128x128 |
|
|
300x77 |
|
|
128x128 |
|
|
300x50 |
|
|
128x128 |
-
Находим необходимый спрайт, например, на сайте компании
-
Копируем логотип и открываем в графикческом редакторе
-
Если логотип прозрачный, то добавляем слой с белым фоном и объединяем слои
-
-
Переводим изображение в оттенки серого
-
Переходим в настройку уровней (Levels)
-
Переводим ползунок в крайнеправое положение для получения чёрного цвета
-
В случае, если логотип содержим какие-то переходы, то можно переводить ползунок цвета в такое положение, при котором сохраняются переходы
-
-
Масштабируем изображение до размеров (
300
по ширине для длинных логотипов и128x128
для иконок) -
Сохраняем изображение в соответствующий файл
.png
-
Используем команду для обработки спрайтов
$ java -jar plantuml.jar -encodesprite 16z supersprite_l.png sprite $supersprite_l [300x105/16z] { ... }
-
Полученный вывод (
sprite $supersprite …
) добавляем в файл.puml
-
Почему картинки чёрные?
Это связано с ограничениями PlantUML. На текущий момент можно использовать только спрайты в виде монохромных изображений, переведённые в текстовое описание см. https://plantuml.com/sprite
Такое тектсовое описание позволяет встраивать изображения в текст диаграммы и не требует наличия доступных ресурсов во вне.
-
А если у меня есть доступные внешние ресурсы по ссылке?
В случае, если есть доутпные по ссылке или в файловой системе ресурсы, то можно воспользоваться форматированием creole
'Можно использовать <img:ссылка> или <img:путь> для использоания ВНЕШНИХ изображений rectangle "<img:https://supersite.tld/super-image.png>" as r3