跳到主要内容

Scriban 模板语言

目录

Build Status Coverage Status NuGet

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 委托

特性

{{...}}

Syntax Coloring(语法着色)

您可以安装 Scriban Extension for Visual Studio Code 获取 scriban 脚本 (without HTML) 和 scriban html 文件的语法颜色提示

文档

  • 有关语言语法的说明,请参阅语言文档。
  • 内置函数见文档内置函数列表。
  • 有关编译和运行模板的.NET 运行时 API 的说明,请参阅运行时文档。
  • 有关支持 liquid 模板的更多详细信息,请参阅[Liquid support]文档。
  • 请参阅我的博客文章"实现.NET 的文本模板引擎",了解一些幕后细节。

二进制包

Scriban 提供一个可获取的 NuGet 包: NuGet

兼容以下 .NET framework 版本:

  • .NET Framework 3.5
  • .NET Framework 4.0
  • .NET Framework 4.5+ (supports asynchronous code and timeouts for regular expressions)
  • .NET Standard1.1+ (some features are not available)
  • .NET Standard1.3+ (which means .NET Core, Xamarin, UWP, Unity etc.)

还有提供签名的 NuGet 包 Scriban.Signed

Benchmarks(基准测试)

Scriban 速度极快! 更多细节, 你可以查看此文档 benchmarks(基准测试) 文档.

License

该软件是在BSD-Clause 2 license协议下发布的

相关项目

  • dotliquid: Liquid 模板语言的.NET 端口。
  • Fluid .NET liquid 模板引擎
  • Nustache: .NET 无逻辑模板(Logic-less templates for .NET)
  • Handlebars.Net: .NET port of handlebars.js

在线示例

Credits

Adapted logo Puzzle by Andrew Doane from the Noun Project

作者

Alexandre Mutel aka xoofx.