1. 程式人生 > 實用技巧 >【翻譯】Scriban README 文字模板語言和.NET引擎

【翻譯】Scriban README 文字模板語言和.NET引擎

scriban

Scriban是一種快速、強大、安全和輕量級的文字模板語言和.NET引擎,具有解析liquid模板的相容模式

Github

目錄

// 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 包:

相容以下 .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.