Moteur de modèle de sempareCopyright (C) 2019-2024 Sempare Limited
Contact: [email protected]
Licence: Apache V2.0 ou Sempare Limite Commercial Licence
Open source: https://github.com/sempare/sempare-delphi-template-engine
Questionnaire : https://docs.google.com/forms/d/e/1faipqlscioiidxvswk01fmfqyr9aj6khcgeiw4uau_esguztee7vywa/viewform
Les moteurs de modèle sont souvent utilisés dans la technologie où le texte doit être personnalisé en substituant les variables par des valeurs d'une source de données. Exemples où cela peut avoir lieu:
Le moteur de modèle Sempare est un petit moteur de modèles (script) pour Delphi (Object Pascal) qui permet de créer des modèles facilement et efficacement en fournissant une API simple et facile à utiliser.
Exemple d'utilisation:
program Example;
uses
Sempare.Template;
type
TInformation = record
name: string;
favourite_sport : string;
count : integer;
end;
begin
var tpl := Template.Parse(
'My name is <% name %>.'#13#10 +
'My favourite sport is <% favourite_sport %>.'#13#10 +
'Counting... <% for i := 1 to count %><% i %><% betweenitems %>, <% end %>' +
'Counting... <% for i := 1 to count ; print(i) ; betweenitems ; print(', '); onbegin; print('[ '); onend; print('] '); end %>'
);
var info : TInformation;
info.name := 'conrad';
info.favourite_sport := 'ultimate';
info.count := 3;
writeln(Template.Eval(tpl, info));
end.
Le projet permet à presque tous les types d'être déréférencés dans le script de modèle.
Dans l'exemple ci-dessus, vous pouvez voir que le «<%» START et «%>» terminent respectivement l'énoncé des scripts. Dans une instruction de script, vous pouvez référencer les variables, attribuer des variables, des conditions d'utilisation, pour et pendant que les boucles et inclure d'autres modèles.
Remarque Dans des exemples dans cette documentation, je peux utiliser la dernière syntaxe de Delphi, par exemple les déclarations de variables en ligne. Ce n'est pas compatible en arrière car ils ont été introduits dans Delphi 10.2 et sont utilisés pour raccourcir le code / des exemples illustrés dans la documentation. La base de code tentera d'être aussi compatible en arrière que possible.
S'il vous plaît 'Star' le projet sur GitHub.

Il y a plusieurs façons de commencer rapidement.
Essayez la démo si vous voulez plonger rapidement et jouer avec le moteur de modèle.
Le moteur de modèle Sempare n'est pas destiné à être un langage de programmation à usage général entièrement en vedette tel que PHP où le script lui-même pourrait être un langage de programmation autonome (mais il a la plupart des fonctionnalités).
Sempare Template Engine vise à fournir juste assez de fonctionnalités pour vous permettre de travailler facilement avec les aspects de la «vue» d'un modèle. Toute fonctionnalité améliorée requise à partir de l'environnement de script doit être fournie par les fonctions personnalisées écrites dans Object Pascal.
Le moteur du modèle fonctionne avec les versions modernes de Delphi.
Les tests sont actuellement en cours d'exécution à l'aide du Dunitx TestFramework.
Une tentative a été faite pour ne pas utiliser les dernières fonctionnalités pour faciliter la compatibilité vers l'arrière. Les versions suivantes ont été testées:
Il ne devrait pas y avoir de restrictions spécifiques à la plate-forme.
Jetez un œil à Sempare.Template.C. Les définions suivantes peuvent être définies le cas échéant:
Le moteur de modèle Sempare pour Delphi peut être installé via le gestionnaire d'embarcadero Getit
Cela ajoutera le dossier SRC au chemin de recherche afin que vous puissiez commencer à travailler immédiatement.
Le moteur de modèle Sempare pour Delphi peut être installé via le gestionnaire de package de boss.
Courez simplement:
boss install sempare/sempare-delphi-template-engine
Le moteur de modèle Sempare pour Delphi peut être installé via le gestionnaire de package Delphinus.
Cela ajoutera le dossier SRC au chemin de recherche afin que vous puissiez commencer à travailler immédiatement.
Commencez par ajouter le dossier SRC au chemin de recherche Delphi. Sinon, il y a des projets que vous pouvez utiliser:
Open Sempare.template.Engine.group.groupproj qui comprendra:
Sempare.template.pkg.dproj
Le modèle de modèle de base. (Runtime)
Sempare.template.teter.dproj
180+ tests unitaires
Demo SemParetemplatePlayground Sempare.TemplateEngine.Playground.dproj
La démo de jeux de modèle de modèle Sempare qui offre une expérience riche pour tester les différentes fonctionnalités de la langue du modèle.
Vous pouvez soulever des problèmes sur GitHub et ils seront traités en fonction de la priorité.
La plupart des fonctionnalités ont des tests de base en place. Si un bogue est découvert, veuillez inclure un test / scénario de base reproduisant le problème si possible car cela facilitera le processus d'enquête.
Passez en revue les termes et conditions de la contribution pour contribuer au projet.
Veuillez suivre les étapes suivantes lors de l'ajout d'une fonctionnalité ou de la mise à jour:
Le processus de déploiement est basé sur la branche de développement. Une fois que nous déciderons de pousser une nouvelle version, nous fusions «Dev» dans «Main».
Le moteur de modèle Sempare est à double licence. Vous pouvez choisir de l'utiliser sous les restrictions de l'Apache V2.0 sans frais pour vous, ou vous pouvez le concéder à une utilisation sous la licence commerciale Sempare Limited
Le schéma à double licence vous permet d'utiliser et de tester la bibliothèque sous la licence appropriée.
Une licence commerciale vous accorde le droit d'utiliser le moteur de modèle Sempare dans vos propres applications, sans droits et sans aucune exigence de divulguer votre code source ni aucune modification du moteur de modèle Sempare ou de toute autre partie. Une licence commerciale permet de s'assurer que le projet est maintenu avec une intégration continue, des correctifs, etc.
Des frais de soutien de 70 $ par développeur sont appréciés.
Les liens de paiement suivants vous permettent de vous abonner rapidement. Veuillez noter que les liens initiaux de licence et de support sont séparés.
Les liens de paiement suivants sont disponibles pour les licences du site. Veuillez noter que les liens initiaux de licence et de support sont séparés.
Veuillez envoyer un e-mail à [email protected] pour demander une facture qui contiendra d'autres détails de paiement.
Les demandes d'assistance et d'amélioration soumises par les utilisateurs qui paient pour l'assistance seront prioritaires. De nouveaux développements peuvent entraîner des coûts supplémentaires en fonction du temps requis pour la mise en œuvre.