template
Düğümü
template
düğümü, belirli bir şablona dayalı olarak veri oluşturmak için kullanılır. Mesaj msg
veya diğer kaynaklardan değerlerin dinamik olarak yerleştirilmesini sağlayarak metin, HTML, JSON ve diğer formatları oluşturmanıza olanak tanır.
template
Düğüm Ayarları
1. İsim
Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamanıza yardımcı olur.
Boş bırakılırsa, düğüm template
olarak adlandırılacaktır.
Örnek:
- Düğüm adı:
hello world
2. Şablon
Metin şablonunun belirlendiği ana alan.
Verilerin yerleştirilmesini destekler ve Mustache şablon motorunun olanaklarını sunar.
Şablon örneği:
Hello {{payload}} !
3. Sözdizimi
Şablonun sözdizimini tanımlar:
- Mustache: Mustache şablonu.
- Düz Metin: Metin dizesi.
4. Çıktı Olarak
Düğümün çıkış veri formatını tanımlar:
- Düz Metin: Metin dizesi oluşturur.
- JSON: JSON oluşturur.
- YAML: YAML oluşturur.
Mustache Sözdizimi Özellikleri
-
Değer Yerleştirme:
{{property}}
kullanılır, buradaproperty
msg
nesnesinin bir özelliğidir.Örnek:
- Şablon:
Hello, {{name}}!
- Mesaj:
{ "name": "Alice" }
- Sonuç:
Hello, Alice!
- Şablon:
-
Koşul Gösterimi:
Koşullu mantık, bir değerin varlığı veya yokluğu ile desteklenir.Örnek:
{{#isOnline}}
<p>Durum: Çevrimiçi</p>
{{/isOnline}}
{{^isOnline}}
<p>Durum: Çevrimdışı</p>
{{/isOnline}} -
Döngüler:
Diziler üzerinde yineleme yapılabilir.Örnek:
<ul>
{{#items}}
<li>{{.}}</li>
{{/items}}
</ul>Mesaj:
{ "items": ["Item 1", "Item 2", "Item 3"] }
Sonuç:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul> -
HTML Kaçışlama:
Mustache, özel HTML karakterlerini varsayılan olarak kaçışlar.
Kaçışlamayı önlemek için{{{...}}}
kullanın.Örnek:
{{{htmlContent}}}
Girdi Verileri
Düğüm, msg
nesnesini alır. Mesajdan gelen veriler, değerlerin yerleştirilmesi için şablonda kullanılır.
Mesaj örneği:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Çıktı Verileri
Düğüm, işlenmiş şablonla tamamlanmış msg
nesnesini gönderir. Sonuç msg.payload
'a yazılır.
Kullanım Örnekleri
Örnek 1: HTML Sayfası Oluşturma
Şablon:
<!DOCTYPE html>
<html>
<head>
<title>Sıcaklık Raporu</title>
</head>
<body>
<h1>{{name}} için Sıcaklık Raporu</h1>
<p>Mevcut sıcaklık: {{payload.temperature}}°C</p>
</body>
</html>
Mesaj:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Sonuç:
Dinamik verilerle HTML sayfası.
Örnek 2: JSON Yanıtı Oluşturma
Şablon:
{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}
Mesaj:
{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}
Sonuç:
{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}