Scriban是一种快速、强大、安全和轻量级的文本模板语言和.NET引擎,具有解析liquid模板的兼容模式
// Parse a scriban template
var template = Template.Parse("Hello {{name}}!");
var result = template.Render(new { Name = "World" }); // => "Hello World!"
使用Liquid语言解析Liquid模板:
// Parse a liquid template
var template = Template.ParseLiquid("Hello {{name}}!");
var result = template.Render(new { Name = "World" }); // => "Hello World!"
语言非常通用,易于阅读和使用,类似于liquid 模板:
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 });
注意
默认情况下, .NET对象的属性和方法会自动以小写和
_命名,这意味着像MyMethodIsNice这样的属性将被公开为my_method_is_nice.这是默认约定,最初是为了匹配liquid模板的行为。
如果要改变此行为,则需要使用MemberRenamer委托
Template.ToText, 可以操作内存中的脚本并将其重新保存到磁盘, 对于 roundtrip(往返)的脚本更新方案是有用的liquid 模板 可使用Template.ParseLiquid 方法
liquid 语言不如scriban强大, 但该模式从 liquid 则更容易地迁移至 scribanTemplate.ParseLiquid进行解析,替换成Template.ToText,即可将liquid 脚本 转换成 scriban 脚本async/await 的脚本支持 (e.g Template.RenderAsync)if/else/for/while, expressions (x = 1 + 2), conditions... etc.myvar | string.capitalize)
x = {mymember: 1}) and arrays (e.g x = [1,2,3,4])wrap语句使用可以将 a block of statements (语句块) 传递给函数,{{...}}您可以安装 Scriban Extension for Visual Studio Code 获取 scriban 脚本 (without HTML) 和 scriban html文件的语法颜色提示
兼容以下 .NET framework 版本:
还有提供签名的NuGet包 Scriban.Signed
Scriban 速度极快! 更多细节, 你可以查看此文档 benchmarks(基准测试) 文档.
该软件是在BSD-Clause 2 license协议下发布的
Adapted logo Puzzle by Andrew Doane from the Noun Project
Alexandre Mutel aka xoofx.
【翻译】Scriban README 文本模板语言和.NET引擎
原文:https://www.cnblogs.com/igeekfan/p/Scriban-README.html