GKTemplate 采用 Go 开发的 DedeCMS 模板解析器开源项目

我要开发同款
匿名用户2019年08月21日
50阅读
开发技术GO语言
所属分类Google Go、模板引擎、程序开发
授权协议Mulan PSL

作品详情

是否还记得,在PHP流行的年代,有一款开源免费的网站内容管理系统DedeCMS风靡全国。买域名,买空间主机,下载程序安装,设置好栏目,换上模板,添加采集规则,诺大一个门户瞬间就搭建好了。

SEO成就了DedeCMS的疯狂,但也是因为这样的疯狂让DedeCMS错过了移动互联网。全新的互联网时代,前后端分离,让模版解析渲染变得不再那么重要。

作为DedeCMS的核心开发者之一,也从PHP转到了Go,为了致敬DedeCMS,决定采用Go开发了一个类DedeCMS模板解析引擎的库。扩展库将骄傲地采用中国首个开源协议“木兰宽松许可证”进行发布。

项目名称叫GoKeep,寓意是能够将开源开发继续下去。

背景

GKTemplate是一个Go语言开发的模板引擎,由于Go语言内置的模板引擎自由度过高,导致开发使用相对比较困难,对界面模板制作要求会比较高,GKTemplate是一款基于标签、属性机制的模板引擎,在牺牲部分自由度、性能的前提下,优化模板语义机制,使得开发、制作模板变得更为轻松简单。

特点

UTF-8编码支持:模板引擎要求采用UTF-8编码,便于界面能够国际化支持;

简单明了属性标记:类似XML结构的属性标记,上手简单,制作模板轻松自如;

错误定位:模板标签错误定位,方便模板制作开发调试;

标签化语义:类似XHTML标签语义,降低模板制作难度,减少开发制作成本;

自由扩展:留有丰富的标签开发接口,方便进行二次扩展;

缓存机制:模板解析进行缓存,模板解析性能达到最高;

协程并发:采用Go协程机制,标签解析可并发操作,模板渲染性能最高;

最小依赖:模板引擎只依赖Go默认库,不依赖任何第三方库;

用途

GKTemplate主要用于采用Go编写的HTTPServer中需要自定义呈现数据结构页面,同时也适用于采用模板机制生成例如:静态文件、静态文本等。

性能

该模板引擎性能稳定,符合开发者及用户使用要求,详细可参考模板引擎benchmark测试样例。

使用方法

执行goget-u-vgithub.com/gokeeptech/gktemplate

使用方法可以参考examples目录中的例子。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论