Sempare Шаблон ДвигательCopyright (C) 2019-2024 Sempare Limited
Контакт: [email protected]
Лицензия: Apache v2.0 или Sempare Limited Коммерческая лицензия
Открытый исходный код: https://github.com/sempare/sempare-delphi-template-engine
Вопрос : https://docs.google.com/forms/d/e/1faipqlscioiidxvswk01fmfqyr9aj6khcgeiw4uau_esguztee7vywa/viewform
Шаблонные двигатели часто используются в технологии, где текст должен быть настроен путем замены переменных значениями из источника данных. Примеры, где это может произойти:
Двигатель шаблона Sempare представляет собой небольшой шаблон (сценарии) двигатель для Delphi (Object Pascal), который позволяет легко и эффективно создавать шаблоны, предоставляя простой и простой в использовании API.
Пример использования:
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.
Проект позволяет практически любому типу быть привязанным к сценарию шаблона.
В приведенном выше примере вы можете видеть, что «начало» и «%>» заканчивают оператор сценария соответственно. В рамках оператора сценариев вы можете ссылаться на переменные, назначать переменные, использовать условия, для и во время петли и включать другие шаблоны.
Примечание в примерах в этой документации я могу использовать новейший синтаксис Delphi, например, встроенные переменные объявления. Это не является обратно совместимым, так как они были введены в Delphi 10.2 и используются для сокращения кода/примеров, иллюстрируемых в документации. Кодовая база попытается быть как можно более обратной совместимой.
Пожалуйста, «звезда» проекта на GitHub.

Есть несколько способов начать быстро.
Попробуйте демо, если вы хотите быстро погрузиться и поиграть с шаблоном.
Двигатель шаблона Sempare не предназначен для того, чтобы быть полностью изготовленным языком программирования общего назначения, такого как PHP, где сам скрипт может быть самоспоращенным языком программирования (но он имеет большинство функций).
Двигатель шаблона Sempare стремится обеспечить достаточное количество функциональности, чтобы позволить вам легко работать с аспектами «взгляда» шаблона. Любая расширенная функциональность, необходимая из среды сценариев, должна быть предоставлена пользовательскими функциями, написанными в объекте Pascal.
Шаблонный двигатель работает с современными версиями Delphi.
Тесты в настоящее время работают с использованием Dunitx testframework.
Была предпринята попытка не использовать новейшие функции, чтобы облегчить обратную совместимость. Следующие версии были проверены:
Там не должно быть никаких ограничений для конкретных платформ.
Посмотрите на sempare.template.compiler.inc. Следующее определение может быть определена, если это необходимо:
Двигатель шаблона Sempare для Delphi может быть установлен через Embarcadero Getit Manager
Это добавит папку SRC в путь поиска, чтобы вы могли начать работать немедленно.
Двигатель шаблона Sempare для Delphi может быть установлен через диспетчер пакетов Boss.
Просто беги:
boss install sempare/sempare-delphi-template-engine
Двигатель шаблона Sempare для Delphi может быть установлен через диспетчер пакетов Delphinus.
Это добавит папку SRC в путь поиска, чтобы вы могли начать работать немедленно.
Начните с добавления папки SRC в путь поиска Delphi. В противном случае, есть некоторые проекты, которые вы можете использовать:
Откройте sempare.template.engine.group.groupproj , который будет включать в себя:
Sempare.template.pkg.dproj
Основной шаблонный проект. (время выполнения)
Sempare.template.tester.dproj
180+ модульных тестов
Demo semparetemplatePlayground sempare.templateengine.playground.dproj
Демонстрация шаблона Sempare Playground, которая обеспечивает богатый опыт для тестирования различных функций языка шаблонов.
Вы можете поднять проблемы на GitHub, и они будут рассмотрены на основе приоритета.
Большинство функций имеют некоторые основные тесты на месте. Если ошибка была обнаружена, укажите основной тест/сценарий, повторяющий проблему, если это возможно, так как это облегчит процесс расследования.
Просмотреть условия содержания и условия для внесения вклад в проект.
Пожалуйста, выполните следующие шаги при добавлении функции или обновления:
Процесс развертывания основан на филиале DEV. Как только мы решим выдвинуть новую версию, мы объединим «Dev» в «Main».
Двигатель шаблона Sempare имеет двойную лицензию. Вы можете использовать его в соответствии с ограничениями Apache V2.0 бесплатно, или вы можете лицензировать его для использования по коммерческой лицензии Sempare Limited
Схема двойного лицензирования позволяет использовать и проверять библиотеку по соответствующей лицензии.
Коммерческая лицензия предоставляет вам право использовать механизм шаблона Sempare в ваших собственных приложениях, без роялти и без каких -либо требований раскрывать ваш исходный код или любые модификации в шаблоне Sempare или любой другой стороне. Коммерческая лицензия помогает гарантировать, что проект поддерживается непрерывной интеграцией, исправлениями и т. Д.
Поплатится плата за поддержку в размере 70 долларов США на разработчика.
Следующие платежные ссылки позволяют быстро подписаться. Обратите внимание, что первоначальные лицензии и ссылки на поддержку являются отдельными.
Следующие платежные ссылки доступны для лицензий на участке. Обратите внимание, что первоначальные лицензии и ссылки на поддержку являются отдельными.
Пожалуйста, отправьте электронное письмо по адресу [email protected], чтобы запросить счет, который будет содержать альтернативные данные платежа.
Запросы на поддержку и улучшение, представленные пользователями, которые платят за поддержку, будут приоритетны. Новые разработки могут понести дополнительные затраты в зависимости от времени, необходимого для реализации.