Motor de plantilla de sempareCopyright (c) 2019-2024 Sempare Limited
Contacto: [email protected]
Licencia: Apache V2.0 o Sempare Limited Licencia comercial Limited
Open Source: https://github.com/sempare/sempare-delphi-template-ingine
Cuestaire : https://docs.google.com/forms/d/e/1faipqlscioiidxvswk01fmfqyr9aj6khcgeiw4uau_esguztee7vywa/viewform
Los motores de plantilla se usan a menudo en tecnología donde el texto debe personalizarse sustituyendo variables con valores de una fuente de datos. Ejemplos donde esto puede tener lugar:
El motor de plantilla Sempare es un pequeño motor de plantilla (secuencia de comandos) para Delphi (Object Pascal) que permite que las plantillas se creen de manera fácil y eficiente al proporcionar una API simple y fácil de usar.
Ejemplo de uso:
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.
El proyecto permite que casi cualquier tipo se desactive dentro del script de plantilla.
En el ejemplo anterior, puede ver que el '<%' comienza y '%>' finaliza la declaración de secuencias de comandos respectivamente. Dentro de una declaración de secuencias de comandos, puede hacer referencia a variables, asignar variables, usar condiciones, para y mientras bucles, e incluir otras plantillas.
Nota En ejemplos en esta documentación, puedo usar la última sintaxis de Delphi, por ejemplo, declaraciones variables en línea. Esto no es compatible hacia atrás, ya que se introdujeron en Delphi 10.2 y se utilizan para acortar el código/ejemplos que se ilustran en la documentación. CodeBase intentará ser lo más compatible con el retroceso posible.
Por favor, 'estrella' el proyecto en GitHub.

Hay algunas maneras de comenzar rápidamente.
Pruebe la demostración si desea bucear rápidamente y jugar con el motor de plantilla.
El motor de plantilla de Sempare no pretende ser un lenguaje de programación de propósito general completamente destacado, como PHP, donde el script en sí podría ser un lenguaje de programación autónomo (pero tiene la mayoría de las características).
El motor de plantilla de Sempare tiene como objetivo proporcionar una funcionalidad suficiente para permitirle trabajar fácilmente con los aspectos de 'ver' de una plantilla. Cualquier funcionalidad mejorada requerida del entorno de secuencias de comandos debe ser proporcionada por las funciones personalizadas escritas en Object Pascal.
El motor de plantilla funciona con versiones modernas de Delphi.
Las pruebas se ejecutan actualmente utilizando el Dunitx TestFramework.
Se ha intentado no utilizar las últimas funciones para aliviar la compatibilidad atrasada. Se han probado las siguientes versiones:
No debe haber restricciones específicas de la plataforma.
Eche un vistazo a sempare.template.compiler.inc. Las siguientes define se pueden definir si corresponde:
El motor de plantilla Sempare para Delphi se puede instalar a través del Administrador de Getit de Embarcadero
Esto agregará la carpeta SRC a la ruta de búsqueda para que pueda comenzar a trabajar de inmediato.
El motor de plantilla Sempare para Delphi se puede instalar a través del Administrador de paquetes de Boss.
Simplemente ejecute:
boss install sempare/sempare-delphi-template-engine
El motor de plantilla Sempare para Delphi se puede instalar a través del Administrador de paquetes de Delphinus.
Esto agregará la carpeta SRC a la ruta de búsqueda para que pueda comenzar a trabajar de inmediato.
Comience agregando la carpeta SRC a la ruta de búsqueda de Delphi. De lo contrario, hay algunos proyectos que puede usar:
Abra sempare.template.engine.group.groupproj que incluirá:
Sempare.template.pkg.dproj
El proyecto de plantilla central. (tiempo de ejecución)
Sempare.template.tester.dproj
Más de 180 pruebas unitarias
demo semparetemplatePlayground sempare.templateengine.playground.dproj
La demostración de Playground de la plantilla Sempare que proporciona una rica experiencia para probar las diversas características del lenguaje de plantilla.
Puede plantear problemas en GitHub y se abordarán en función de la prioridad.
La mayoría de las características tienen algunas pruebas básicas en su lugar. Si se ha descubierto un error, incluya una prueba/escenario básico que replica el problema si es posible, ya que esto aliviará el proceso de investigación.
Revise los términos y condiciones de contenido para contribuir al proyecto.
Sigue los siguientes pasos al agregar una función o hacer una actualización:
El proceso de implementación se basa en la rama de desarrollo. Una vez que decidamos impulsar una nueva versión, fusionaremos 'Dev' en 'Main'.
El motor de plantilla Sempare tiene doble licencia. Puede elegir usarlo bajo las restricciones del Apache V2.0 sin costo para usted, o puede licenciarlo para su uso bajo la Licencia Comercial Sempare Limited
El esquema de doble licencia le permite usar y probar la biblioteca bajo la licencia apropiada.
Una licencia comercial le otorga el derecho de usar el motor de plantilla Sempare en sus propias aplicaciones, libre de regalías, y sin ningún requisito de divulgar su código fuente ni ninguna modificación al motor de plantilla Sempare o cualquier otra parte. Una licencia comercial ayuda a garantizar que el proyecto se mantenga con integración continua, parches, etc.
Se agradece una tarifa de soporte de $ 70 por desarrollador.
Los siguientes enlaces de pago le permiten suscribirse rápidamente. Tenga en cuenta que la licencia inicial y los enlaces de soporte son separados.
Los siguientes enlaces de pago están disponibles para licencias del sitio. Tenga en cuenta que la licencia inicial y los enlaces de soporte son separados.
Envíe un correo electrónico a [email protected] para solicitar una factura que contenga detalles de pago alternativos.
Se priorizarán las solicitudes de soporte y mejora presentadas por usuarios que pagan por soporte. Los nuevos desarrollos pueden incurrir en costos adicionales dependiendo del tiempo requerido para la implementación.