力爭做最好的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 最好的模板引擎!
相關文章
- Django 模板引擎以及模板Django
- Python 模板引擎Python
- FreeMarker模板引擎
- 做個清醒的程式設計師之打造核心競爭力程式設計師
- ejs模板引擎原理JS
- java模板引擎:velocityJava
- Thymeleaf(Java模板引擎)Java
- PHP 模板引擎用到的核心方法PHP
- 最好的 Go 框架:沒有框架?Go框架
- 產品的競爭力
- PHPTAL模板引擎語法PHP
- Express 文件(使用模板引擎)Express
- 手擼 JavaScript 模板引擎JavaScript
- Java模板引擎之FreeMarkerJava
- 前端模板引擎doT.js的使用前端JS
- [譯] 只有 20 行的 JavaScript 模板引擎JavaScript
- 前端模板引擎的實現總結前端
- EasyTpl - 簡單快速的 PHP 模板引擎PHP
- Tornado框架02-模板引擎框架
- Spring Boot實戰:模板引擎Spring Boot
- smarty模板引擎視訊教程
- 學習篇:NodeJS中的模板引擎:jadeNodeJS
- KOA的簡易模板引擎實現方式
- ajax配合art-template模板引擎的使用
- Podinfo,迷你的 Go 微服務模板Go微服務
- 如何選擇Web前端模板引擎?Web前端
- Express基礎瞭解—模板引擎Express
- Spring Boot (三)模板引擎FreeMarker整合Spring Boot
- 如何選擇 Web 前端模板引擎?Web前端
- Spring Boot (四)模板引擎Thymeleaf整合Spring Boot
- Flask 使用Jinja2模板引擎Flask
- gf框架之模板引擎 – 基本用法框架
- SpringBoot模板引擎簡單認知Spring Boot
- js模板引擎art template陣列渲染的方法JS陣列
- 編寫一個簡單的JavaScript模板引擎JavaScript
- 如何讓ThinkPHP的模板引擎達到最佳效率PHP
- go 模板(template)的常用基本語法Go
- lzambarda/simple-go-boilerplate:簡單的go微服務模板Go微服務
- 測試工程師的核心競爭力工程師