SempareテンプレートエンジンCopyright(c)2019-2024 Sempare Limited
ライセンス:Apache v2.0またはSempare Limited Commercialライセンス
オープンソース: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.
このプロジェクトでは、ほぼすべてのタイプをテンプレートスクリプト内で再参入することができます。
上記の例では、「<%」の開始と「%>」がそれぞれスクリプトステートメントを終了することがわかります。スクリプトステートメント内で、変数を参照し、変数、使用条件を割り当て、そのwhileループを含め、他のテンプレートを含めることができます。
このドキュメントの例に注目すると、最新のDelphi構文、たとえばインライン変数宣言を使用できます。これは、Delphi 10.2で導入されたため、後方互換ではなく、ドキュメントに示されているコード/例を短縮するために使用されます。コードベースは、可能な限り後方互換性を持つことを試みます。
Githubでプロジェクトを「主演」してください。

すぐに始める方法はいくつかあります。
迅速にダイビングしてテンプレートエンジンで再生したい場合は、デモを試してください。
Sempareテンプレートエンジンは、スクリプト自体が自己抑制されたプログラミング言語になる可能性があるPHPなどの完全に機能する汎用プログラミング言語であることを意図したものではありません(ただし、ほとんどの機能があります)。
Sempare Template Engineは、テンプレートの「ビュー」の側面を簡単に操作できるように、十分な機能を提供することを目的としています。スクリプト環境から必要な機能強化は、オブジェクトPascalで記述されたカスタム関数によって提供される必要があります。
テンプレートエンジンは、Delphiの最新バージョンで動作します。
現在、Dunitx TestFrameworkを使用してテストを実行しています。
最新の機能を使用して後方互換性を緩和しないように試みられています。次のバージョンがテストされています。
プラットフォーム固有の制限はないはずです。
sempare.template.compiler.incをご覧ください。必要に応じて、次の定義を定義できます。
DelphiのSempareテンプレートエンジンは、Embarcadero GetITマネージャーを介してインストールできます
これにより、 SRCフォルダーが検索パスに追加され、すぐに動作を開始できます。
Delphi用のSempareテンプレートエンジンは、ボスパッケージマネージャーを介してインストールできます。
単純に実行:
boss install sempare/sempare-delphi-template-engine
DelphiのSempareテンプレートエンジンは、Delphinus Package Managerを介してインストールできます。
これにより、 SRCフォルダーが検索パスに追加され、すぐに動作を開始できます。
SRCフォルダーをDelphi検索パスに追加することから始めます。それ以外の場合は、使用できるプロジェクトがいくつかあります。
sempare.template.engine.group.groupprojを開きます。
sempare.template.pkg.dproj
コアテンプレートプロジェクト。 (ランタイム)
sempare.template.tester.dproj
180以上のユニットテスト
demo semparetemplateplayground sempare.templateengine.playground.dproj
さまざまなテンプレート言語機能をテストするための豊富な体験を提供するSempareテンプレートプレイグラウンドデモ。
GitHubで問題を提起でき、優先度に基づいて対処されます。
ほとんどの機能には、いくつかの基本的なテストがあります。バグが発見された場合は、調査プロセスが容易になるため、可能であれば問題を複製する基本的なテスト/シナリオを含めてください。
プロジェクトに貢献するために、条件を確認します。
機能を追加したり更新したりするときは、次の手順をフォローしてください。
展開プロセスは、開発ブランチに基づいています。新しいバージョンをプッシュすることにしたら、「DEV」を「メイン」に統合します。
Sempareテンプレートエンジンは二重ライセンスです。 Apache v2.0の制限に基づいて、無料で使用することもできます。
デュアルライセンススキームを使用すると、適切なライセンスでライブラリを使用およびテストできます。
商業ライセンスは、あなた自身のアプリケーション、ロイヤリティフリーであり、ソースコードやセンペアテンプレートエンジンまたは他の当事者への変更を開示するための要件なしに、独自のアプリケーションでSempareテンプレートエンジンを使用する権利を与えます。商用ライセンスは、継続的な統合、パッチなどでプロジェクトが維持されるようにします。
開発者あたり70ドルのサポート料金をいただければ幸いです。
次の支払いリンクを使用すると、すばやく購読できます。初期ライセンスとサポートリンクは別れていることに注意してください。
サイトライセンスには、次の支払いリンクが利用できます。初期ライセンスとサポートリンクは別れていることに注意してください。
[email protected]に電子メールを送信して、代替支払いの詳細を含む請求書を要求してください。
サポートの支払いを支払うユーザーが提出したサポートおよび拡張リクエストに優先順位が付けられます。新しい開発は、実装に必要な時間に応じて追加のコストが発生する場合があります。