Handlebars er en malmekanisme som gjør det mulig å definere en mal med plassholdere for forventede dataelementer. Ved kjøring settes de faktiske verdiene for disse dataelementene inn i malen for å skape en utdata.
Handlebars bruker Mustache, som er en logikkløs malmotor. Mustache ble opprinnelig laget for å gjøre det mulig å lage mer dynamiske HTML-sider, men den kan brukes til alle tekstbaserte utdata som kan opprettes fra en mal.
Brukssaker
Styret kan dekke en rekke ulike behov, blant annet
- Generering av formaterte e-poster
- Opprette filer eller tekst i et ønsket format, for eksempel brødteksten i en HTTP POST-forespørsel
- Behandling av komplekse JSON-nyttelaster, for eksempel de som har nestede matriser
Kommandoer for styret
Det finnes to -kommandoer for Handlebars-kontakten:
- Render filmal: Denne kommandoen brukes til å lage store (>32 000 tegn) utdata. Den produserer en fysisk fil som kan brukes av påfølgende kjedekommandoer som krever filinndata. Et alternativ for å lagre en filmal i Workiva er filressurser.
- Gjengi tekstmal: Denne kommandoen brukes til å lage små til mellomstore utganger. Den genererer en tekstbasert utdata som ikke kan brukes i påfølgende kommandoer som krever en fysisk fil.
Hver av disse kommandoene har to hovedkomponenter:
- Mal: Teksten som oppdateres når kommandoen kjøres. Teksten gjengis nøyaktig slik den er spesifisert, inkludert eventuelle innrykk eller vognreturer.
- Variabler: Verdiene som skal erstattes i malen når kommandoen kjøres. Individuelle variabler kan spesifiseres, for eksempel radantallet som skrives ut med en kommando som advanced query.
Eksempel på konfigurasjon
Følgende er et eksempel på en konfigurasjon som bruker en renderingstekstmal:
I maldelen av kommandoen er det flere ting som er verdt å merke seg:
Denne malen gjengir vanlige variabler og json-variabler.
- Denne teksten er innrykket og gjengir Row Count: {{rows}}
Nedenfor er listen over prioriteringer i JSON-objektet
{{#each priorities}}
+{{Priority}}
{{/each}}
- Den første linjen i malen er ren tekst og bruker ingen variabler.
- Den andre linjen er innrykket og bruker variabelen rows.
- Den tredje linjen er tom på grunn av en vognretur.
- Linjene 4-6 brukes til å behandle JSON-variabelen som heter priorities.
- Linje 4 er begynnelsen på en løkke gjennom JSON-variabelen som heter priorities.
- Linje 5 returnerer verdien fra JSON-nøkkelverdiparet for nøkkelen som heter Priority. Merk at nøkkelnavnene er sensitive for store og små bokstaver - et plusstegn (+) ble lagt til i linjen for å vise hvordan ren tekst og variabelverdier vanligvis kan kombineres.
- Linje 6 lukker sløyfen gjennom -prioritetene JSON-objektet.
I variabeldelen av kommandoen:
- En variabel som heter rows, er definert som Record Count utdata fra en tidligere kommando.
- En JSON-variabel med navnet Priorities er definert som JSON File -utdata fra en tidligere kommando.
I dette eksempelet er JSON-objektet som følger:
[
{"Priority":"Medium"},
{"Priority":"High"},
{"Priority":"Low"}
]
Den gjengitte teksten fra Handlebars-kommandoen vises nedenfor:
Merk: Du finner mer informasjon om styrets funksjoner og hvordan de kan brukes til å konstruere en mal, i artikkelen Styrets funksjoner.
Ting du bør vite
Variabelplassholdere defineres med doble ({{Variabel_navn}}) eller tredoble ({{{Variabel_navn}}) krøllparenteser. Trippel krøllparentes brukes når en variabelverdi inneholder HTML-spesialtegn som må gjengis som tegnet, i motsetning til HTML-koden som er knyttet til tegnet.
For eksempel er tegnet større enn (>) et HTML-spesialtegn. Med doble klammer vil en variabelverdi som inneholder dette tegnet, gjengi HTML-koden (>), mens tredoble klammer vil gjengi tegnet større enn (>).