PlantUMLで、labelなんかにUML他を埋め込む方法



## 基本

`PlantUML`で、labelなんかに`salt`を埋め込むには

```
{{
salt
    {
        []  ここにsaltを書く
    }
}}
```

ってやれば、埋め込む事が出来る。[^1][^2]

```
label salt [
    {{
    salt
        {
            []  ここにsaltを書く
        }
    }}  
]
```

![SoWkIImgAStDuSf9J4hDKKXMYEQghkOgJimfuQhcKb28ZbLGUDmu6OnMWqGVDqrwDdl7uyP-hbekhjfQhbWkXzIy5A010000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64084/fc20d093-e070-4a3b-41dc-c4ad8e646988.png "SoWkIImgAStDuSf9J4hDKKXMYEQghkOgJimfuQhcKb28ZbLGUDmu6OnMWqGVDqrwDdl7uyP-hbekhjfQhbWkXzIy5A010000.png")



[^1]: Saltをアクティビティ図の上に表示する (https://plantuml.com/ja/salt#89e5b0978f17879e )他、ネットでの例より
[^2]: 要素別の可否は未確認( https://plantuml.com/ja/deployment-diagram )


## で、

(説明文書が見あたらないが、)`@startXXX`宣言があるものの多くは、

```
{{XXX

    'ここにPlantUML他の目的の構文を

}}
```

で埋め込むことができる。[^3]

[^3]: umlの場合は省略可能

### 例

```
@startuml

object a 

label salt [
    {{
    salt
        {
        	"salt"
        	[]  ここにsaltを書く
        }
    }}
]

label uml [
    {{uml
        :ここから;
        note right: umlも
        :そこまで;
    }}
]

label gantt [
    {{gantt
        [ganttチャートも] lasts 5 days
        [その次のテスト] lasts 10 days
    }}
]

label yaml [
    {{yaml
        yamlも: ほら
        jsonも: 同様さ
    }}
]

a -> salt
salt --> uml
uml -> gantt
gantt -> yaml


@enduml
```

![PL71IiD043sxNp7qNj23bnIa_n5osDfGBMi2tVLGIW-x2w8eA8eWY0Vnq8FYML7ycS5yXpDJiWaOaicyDs_cPR9Zw_J2dPuOfUh9l3nqe44feoUb0QkDWrm1NQkLl9YHHBYKxGouCEXmNW2WlvFxbMiORfl73_JNIRDM4jUgQEte8v8RvKcPjPCkCLoC4btLheJ5yUp8PToA8VGxdgJZ1_rczCzefYlNBIOejUO2CNgCBnY_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64084/7b4759dc-6f7e-347b-6995-15b4cf818a07.png "PL71IiD043sxNp7qNj23bnIa_n5osDfGBMi2tVLGIW-x2w8eA8eWY0Vnq8FYML7ycS5yXpDJiWaOaicyDs_cPR9Zw_J2dPuOfUh9l3nqe44feoUb0QkDWrm1NQkLl9YHHBYKxGouCEXmNW2WlvFxbMiORfl73_JNIRDM4jUgQEte8v8RvKcPjPCkCLoC4btLheJ5yUp8PToA8VGxdgJZ1_rczCzefYlNBIOejUO2CNgCBnY_.png")


- saltのみ波括弧二つの次の行で宣言 `{{\nsalt`
- 残念ながら[`ditaa`](https://plantuml.com/ja/ditaa)や、[`jcckit`](https://plantuml.com/ja/jcckit)とか出来ないものも有る。

## こう言う書き方も可能

```
@startuml

label salt [
    {{
    salt
        {
        	"salt"
        	[]  ここにsaltを書く
        }
    }}
    
    {{uml
        :ここから;
        note right: umlも
        :そこまで;
    }}
]

@enduml
```
![SoWkIImgAStDuUBAIKnApL4eJimfKOZcKW22wceG1HO1Cy1YS9OII5m9pesELL1ut3WPZ5Q3f1utJNesUyVZndwuabekBZ05fQkhGTR2PQrWkhiVDtLQmuNpyajI5OeoqpDAh1I0wXytDI7hc0lMiUznut9hXE6nN5nS3gbvAI3Z0G00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64084/48fa878d-e93d-e645-9fc9-21a1afa39239.png "SoWkIImgAStDuUBAIKnApL4eJimfKOZcKW22wceG1HO1Cy1YS9OII5m9pesELL1ut3WPZ5Q3f1utJNesUyVZndwuabekBZ05fQkhGTR2PQrWkhiVDtLQmuNpyajI5OeoqpDAh1I0wXytDI7hc0lMiUznut9hXE6nN5nS3gbvAI3Z0G00.png")


## Noteなんかに埋め込むには

こんな風に

```
@startuml

start
: 何やら;
note right
    {{
    salt
        {
        	"salt"
        	[]  ここにsaltを書く
        }
    }}
end note

stop


@enduml
```
![SoWkIImgAStDuU82ixYi59xidVgugULnKwSrLrv-IQf2KMPwHWcN0X1KLuEfuiGS21yi1cTnAe4ab13yw5W5XSUDay5eDKZkSTEaPxDtF6xiXwkfvGAJjLofUIaA8Dj0piWluEBYSW2A09q50000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/64084/6fac5fc1-8b2a-ddf8-b347-6b8e8e1c6af4.png "SoWkIImgAStDuU82ixYi59xidVgugULnKwSrLrv-IQf2KMPwHWcN0X1KLuEfuiGS21yi1cTnAe4ab13yw5W5XSUDay5eDKZkSTEaPxDtF6xiXwkfvGAJjLofUIaA8Dj0piWluEBYSW2A09q50000.png")



VS Codeでのメモ取りに重宝している