【翻譯】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 包: 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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM