力爭做最好的go模板引擎
一直覺得 go 沒有一個好用的模板引擎,渲染 html 的時候特別痛苦,總有一種有力氣卻使不出來的感覺。
模板引擎一般有兩種實現方式,一種是解析 html 語法樹,然後根據一定的規則動態的拼接,另外一種是把模板預先生成程式碼,渲染模板時呼叫相關的函式即可。
Go 內建的 template 包使用的是第一種方式,不過很多開源專案使用的是第二種方式,比如 quicktemplate 、 gorazor 等。不過這兩個可能由於設計的問題,都沒有實現模板繼承和模板 include ,而且有的語法個人覺得不是太優雅。
所以我想要一個 go 模板,它具備以下特性:
原生的 golang 語法
- 支援模板植入程式碼
- 支援模板繼承和 include
- 高效能
- 語法簡單、優雅
- 自動編譯
基於以上,實現了 hero 模板引擎,用過 nodejs EJS 模板引擎的童鞋應該很容易上手。 hero 目前已經在 http://bthub.io 線上使用。
Github: https://github.com/shiyanhui/hero
Gophers ,歡迎 issues 和 pr ,讓我們一起共同打造 golang 最好的模板引擎!
相關文章
- [翻譯] 用Python做一個模板引擎玩具Python
- Django 模板引擎以及模板Django
- 做個清醒的程式設計師之打造核心競爭力程式設計師
- JS模板引擎JS
- Thymeleaf(Java模板引擎)Java
- Python 模板引擎Python
- PHP模板引擎simplePhpTmpPHP
- JavaScript 模板引擎概述JavaScript
- 模板引擎使用詳解:包含公共模板
- PHP 模板引擎用到的核心方法PHP
- 非常好用的PHP模板引擎PHP
- 最好的 Go 框架:沒有框架?Go框架
- 上凱泵業:用搜尋引擎提升真空泵網站的核心競爭力網站
- 手擼 JavaScript 模板引擎JavaScript
- PHPTAL模板引擎語法PHP
- Express 文件(使用模板引擎)Express
- ejs模板引擎原理JS
- java模板引擎:velocityJava
- JavaScript模板引擎綜述JavaScript
- 前端模板引擎doT.js的使用前端JS
- [譯] 只有 20 行的 JavaScript 模板引擎JavaScript
- 前端資料模板引擎的總結前端
- 前端模板引擎的實現總結前端
- PHP的模板引擎這點事兒PHP
- 阿里遊戲的競爭力不在阿里阿里遊戲
- smarty模板引擎視訊教程
- Java模板引擎之FreeMarkerJava
- Python 模板引擎比較Python
- Podinfo,迷你的 Go 微服務模板Go微服務
- KOA的簡易模板引擎實現方式
- EasyTpl - 簡單快速的 PHP 模板引擎PHP
- 實現一個簡單的模板引擎
- 推薦五款流行的JavaScript模板引擎JavaScript
- 優質投資的特徵與競爭力特徵
- Tornado框架02-模板引擎框架
- Express基礎瞭解—模板引擎Express
- Flask 使用Jinja2模板引擎Flask
- 如何選擇 Web 前端模板引擎?Web前端