Scriban:高效、强大.NET开源模板引擎,可用于邮件、文档生成!

玩点科技新鲜事 2024-08-28 15:48:47
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。 现在前后端分离已经非常流行,我们已经很少关注模板生成引擎了。但在一些场景,比如邮件、文档生成,还是需要模板生成引擎的。 下面推荐一个轻量级且高效的文本模板生成引擎。 01 项目简介 Scriban是一个基于.NET的开源模板语言引擎,旨在简化文本生成任务。 Scriban主要功能与特性:1、简洁的语法 该模板引擎使用简单、语法简洁。 例如,使用{{ variable }}输出变量,{% if condition %}...{% endif %}进行条件判断,{% for item in collection %}...{% endfor %}用于循环操作。 2、高性能 采用了编译到IL(中间语言)的方式,而非简单的字符串替换,这在处理大量数据时能够显著提升性能。 3、类型安全 Scriban能够利用静态类型检查,避免运行时错误,提高代码质量。 4、丰富的内置函数和过滤器 除了基本的变量和控制结构外,还提供了许多内置函数和过滤器,如字符串操作、日期格式化等,以增强模板的功能。 5、自定义标签和对象 允许开发者扩展其功能,创建自己的标签和对象,以满足特定需求。 6、兼容性与扩展性 Scriban具有用于解析Liquid模板的兼容模式,使得从Liquid迁移到Scriban变得容易。 7、跨平台 可以在Windows、Linux、MacOS等平台上运行。 02 使用方法 1、简单使用 // 解析scriban 模板var template = Template.Parse("Hello {{name}}!");//结果:Hello World!var result = template.Render(new { Name = "World" }); 2、liquid模板 // 解析 liquid 模板var template = Template.ParseLiquid("Hello {{name}}!");//结果:Hello World!var result = template.Render(new { Name = "World" }); 3、循环生成文本 //循环模板var template = Template.Parse(@" {{ for product in products }} {{ product.name }} Price: {{ product.price }} {{ product.description | string.truncate 15 }} {{ end }}");var result = template.Render(new { Products = this.ProductList }); 03 项目地址 https://github.com/scriban/scriban - End - 推荐阅读 Kiota:基于OpenAPI的HTTP客户端代码生成器 盘点下5个Winform UI开源控件库 支持DOCX、PPTX、XLSX等文件的合并、拆分和互相转换的.Net开源工具 一个C#开源工具库,集成了超过1000个扩展方法
0 阅读:5

玩点科技新鲜事

简介:感谢大家的关注