現在前后端分離已經非常流行,我們已經很少關注模板生成引擎了。但在一些場景,比如郵件、文檔生成,還是需要模板生成引擎的。
01
項目簡介
Scriban是一個基于.NET的開源模板語言引擎,旨在簡化文本生成任務。
Scriban主要功能與特性:
例如,使用{{ variable }}輸出變量,{% if condition %}...{% endif %}進行條件判斷,{% for item in collection %}...{% endfor %}用于循環操作。采用了編譯到IL(中間語言)的方式,而非簡單的字符串替換,這在處理大量數據時能夠顯著提升性能。Scriban能夠利用靜態類型檢查,避免運行時錯誤,提高代碼質量。除了基本的變量和控制結構外,還提供了許多內置函數和過濾器,如字符串操作、日期格式化等,以增強模板的功能。允許開發者擴展其功能,創建自己的標簽和對象,以滿足特定需求。Scriban具有用于解析Liquid模板的兼容模式,使得從Liquid遷移到Scriban變得容易。可以在Windows、Linux、MacOS等平臺上運行。
02
使用方法
// 解析scriban 模板
var template = Template.Parse("Hello {{name}}!");
//結果:Hello World!
var result = template.Render(new { Name = "World" });
// 解析 liquid 模板
var template = Template.ParseLiquid("Hello {{name}}!");
//結果:Hello World!
var result = template.Render(new { Name = "World" });
//循環模板
var template = Template.Parse(@"
<ul id='products'>
{{ for product in products }}
<li>
<h2>{{ product.name }}</h2>
Price: {{ product.price }}
{{ product.description | string.truncate 15 }}
</li>
{{ end }}
</ul>
");
var result = template.Render(new { Products = this.ProductList });
03
項目地址
該文章在 2024/9/4 15:03:33 編輯過