一篇文章了解Liquid模版引擎
背景
平常比如開發(fā)個代碼生成器一般是定一個模板,然后里面很多變量,根據(jù)數(shù)據(jù)生成文件。這時候模版引擎就派上了用場。
下面我們來介紹下Liquid。什么是Liquid 呢,就像java、c#等編程語言一樣,Liquid也是一種獨立的語言,沒什么大差別,基本功能都有。動態(tài)生成文件,可以輸出變量,操作數(shù)組等,這些都能達到。
官方的介紹
Liquid 是一門開源的模板語言,由 Shopify 創(chuàng)造并用 Ruby 實現(xiàn)。它是 Shopify 主題的骨骼,并且被用于加載店鋪系統(tǒng)的動態(tài)內(nèi)容。
Liquid?語法
Liquid 代碼可分為?對象(object)、標(biāo)記(tag)?和?過濾器(filter)。
對象
對象?告訴 Liquid 在頁面的哪個位置展示內(nèi)容。對象和變量名由雙花括號標(biāo)識:{{?和?}}。
標(biāo)記(tag)
標(biāo)記(tag)?創(chuàng)造了模板的邏輯和控制流。他們由單括號加百分號標(biāo)識:{%?和?%}。
過濾器
過濾器?改變 Liquid 對象的輸出。他們被用在輸出上,通過一個?|?符號分隔。
開原地址?:
https://github.com/Shopify/liquid
c#專用Dot Liquid
那么基于c#的有沒有對應(yīng)的liquid插件呢,還真有。Dot Liquid.
DotLiquid相比于Mvc默認模板引擎Razor的好處有:
因為不需要編譯到程序集再載入
首次渲染速度很快
不會導(dǎo)致內(nèi)存泄漏
使用方法
1、nuget安裝?using DotLiquid;
2、定義實體,繼承: Drop是關(guān)鍵
public class DotLiquidMdDrop : Drop{private readonly Questions questions;public List<Answer> answer{get { return questions.Answer; }}public DotLiquidMdDrop(Questions questionsPara){questions = questionsPara;}}3、這里我們造一些測試數(shù)據(jù),并且調(diào)用
總結(jié)
以上是生活随笔為你收集整理的一篇文章了解Liquid模版引擎的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OxyPlot 导出图片及 WPF 元素
- 下一篇: WPF 实现人脸检测