Handlebars est un mécanisme de modélisation qui permet de définir un modèle avec des espaces réservés pour les éléments de données attendus. Au moment de l'exécution, les valeurs réelles de ces éléments de données sont substituées dans le modèle pour créer une sortie.
Handlebars utilise Mustache, un moteur de template sans logique. Mustache a été créé à l'origine pour permettre la construction de pages HTML plus dynamiques, mais il peut être utilisé pour toute sortie textuelle pouvant être créée à partir d'un modèle.
Cas d'utilisation
Les guidons peuvent répondre à une grande variété de besoins, notamment
- Générer des courriels formatés
- Création de fichiers ou de textes dans un format requis, tel que le corps d'une requête HTTP POST
- Traitement des données JSON complexes, telles que celles qui contiennent des tableaux imbriqués
Commandes de guidon
Il existe deux commandes pour le connecteur du guidon :
- Modèle de fichier de rendu: Cette commande est utilisée pour créer des sorties de grande taille (>32k caractères). Elle produit un fichier physique qui peut être utilisé par les commandes de chaîne suivantes qui nécessitent une entrée de fichier. Une option pour stocker un modèle de fichier dans Workiva est file resources.
- Rendu du modèle de texte: Cette commande est utilisée pour créer des sorties de petite ou moyenne taille. Elle génère une sortie textuelle qui ne peut pas être utilisée dans les commandes suivantes qui nécessitent un fichier physique.
Chacune de ces commandes comporte deux éléments principaux :
- Modèle : Texte mis à jour lors de l'exécution de la commande. Le texte est rendu exactement comme spécifié, y compris l'indentation ou les retours à la ligne.
- Variables : Les valeurs qui seront remplacées dans le modèle lors de l'exécution de la commande. Des variables individuelles peuvent être spécifiées, telles que le nombre de lignes produit par une commande telle que advanced query.
Exemple de configuration
Voici un exemple de configuration utilisant un modèle de texte de rendu :
Dans la section "template" de la commande, plusieurs points méritent d'être soulignés :
Ce modèle rend les variables simples et json.
- Ce texte est indenté et affiche le nombre de lignes : {{rows}}
Voici la liste des priorités dans l'objet JSON
{{#each priorities}}
+{{Priority}}
{{/each}}
- La première ligne du modèle est purement textuelle et n'utilise aucune variable.
- La deuxième ligne est indentée et utilise la variable rows.
- La troisième ligne est vide en raison d'un retour chariot.
- Les lignes 4 à 6 sont utilisées pour traiter la variable JSON appelée priorities.
- La ligne 4 est le début d'une boucle passant par la variable JSON appelée priorities.
- La ligne 5 renvoie la valeur de la paire clé-valeur JSON pour la clé appelée Priority. Notez que les noms de clés sont sensibles à la casse -- un signe plus ( ) a été ajouté à la ligne pour montrer comment le texte brut et les valeurs variables peuvent généralement être combinés.
- La ligne 6 ferme la boucle de l'objet JSON priorities.
Dans la section des variables de la commande :
- Une variable nommée rows est définie comme étant le nombre d'enregistrements produit par une commande précédente.
- Une variable JSON nommée priorities est définie comme la sortie JSON File d'une commande précédente.
Dans cet exemple, l'objet JSON est le suivant :
[
{"Priority" : "Medium"},
{"Priority" : "High"},
{"Priority" : "Low"}
]
Le texte rendu résultant de la commande Handlebars est présenté ci-dessous :
Note : Des informations supplémentaires sur les fonctions du guidon et la manière dont elles peuvent être utilisées pour construire un modèle peuvent être trouvées dans notre article sur les fonctions du guidon .
Bon à savoir
Les caractères de remplacement des variables sont définis par des accolades doubles ({{Variable_Name}}) ou triples ({{{Variable_Name}}}). Les triples accolades sont utilisées lorsque la valeur d'une variable contient des caractères spéciaux HTML qui doivent être rendus comme le caractère, et non comme le code HTML associé au caractère.
Par exemple, le caractère plus grand que (>) est un caractère spécial HTML. Avec des doubles accolades, une valeur variable contenant ce caractère rendrait le code HTML (>) tandis que des triples accolades rendraient le caractère plus grand que (>).