All Projects → tyler-sommer → Stick

tyler-sommer / Stick

Licence: mit
A golang port of the Twig templating engine

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Stick

korte
Kotlin cORoutines Template Engine for Multiplatform Kotlin
Stars: ✭ 69 (-47.73%)
Mutual labels:  twig, template-engine
Foil
PHP template engine for native PHP templates
Stars: ✭ 162 (+22.73%)
Mutual labels:  twig, template-engine
Magento2-Twig
Twig Template Engine for Magento2
Stars: ✭ 58 (-56.06%)
Mutual labels:  twig, template-engine
Twital
Twital is a "plugin" for Twig that adds some sugar syntax, which makes its templates similar to PHPTal or VueJS.
Stars: ✭ 116 (-12.12%)
Mutual labels:  twig, template-engine
MulleScion
🌱 A modern template engine for Objective C
Stars: ✭ 14 (-89.39%)
Mutual labels:  twig, template-engine
Awesome Twig
A curated list of amazingly awesome Twig extensions, snippets and tutorials
Stars: ✭ 63 (-52.27%)
Mutual labels:  twig, template-engine
view-twig
Yii View Twig Renderer
Stars: ✭ 24 (-81.82%)
Mutual labels:  twig, template-engine
Yii2 Twig
Yii 2 Twig extension.
Stars: ✭ 130 (-1.52%)
Mutual labels:  twig, template-engine
Jsmart
jSmart is Smarty Javascript Template Engine, port of the PHP Smarty Template Engine
Stars: ✭ 111 (-15.91%)
Mutual labels:  template-engine
Detoxify App
📱🙅 Generate a fake app to replace any addictive app
Stars: ✭ 122 (-7.58%)
Mutual labels:  twig
Knppaginatorbundle
SEO friendly Symfony paginator to sort and paginate
Stars: ✭ 1,534 (+1062.12%)
Mutual labels:  twig
Twig Extensions
Twig extensions
Stars: ✭ 1,469 (+1012.88%)
Mutual labels:  twig
String template
A template engine for Rails, focusing on speed, using Ruby's String interpolation syntax
Stars: ✭ 122 (-7.58%)
Mutual labels:  template-engine
Hero
A handy, fast and powerful go template engine.
Stars: ✭ 1,485 (+1025%)
Mutual labels:  template-engine
Giraffe
Giraffe is an F# micro web framework for building rich web applications. It has been heavily inspired and is similar to Suave, but has been specifically designed with ASP.NET Core in mind and can be plugged into the ASP.NET Core pipeline via middleware. Giraffe applications are composed of so called HttpHandler functions which can be thought of a mixture of Suave's WebParts and ASP.NET Core's middleware.
Stars: ✭ 1,703 (+1190.15%)
Mutual labels:  template-engine
Eps
A templating engine for PowerShell
Stars: ✭ 108 (-18.18%)
Mutual labels:  template-engine
Markdown Extension
[DEPRECATED] Markdown support for Twig
Stars: ✭ 105 (-20.45%)
Mutual labels:  twig
Jxls
Java library for creating Excel reports using Excel templates
Stars: ✭ 128 (-3.03%)
Mutual labels:  template-engine
Tera
A template engine for Rust based on Jinja2/Django
Stars: ✭ 1,873 (+1318.94%)
Mutual labels:  template-engine
Handlebars Iron
Handlebars middleware for Iron web framework
Stars: ✭ 119 (-9.85%)
Mutual labels:  template-engine

Stick

Build Status GoDoc

A Go language port of the Twig templating engine.

Overview

This project is split over two main parts.

Package github.com/tyler-sommer/stick is a Twig template parser and executor. It provides the core functionality and offers many of the same extension points as Twig like functions, filters, node visitors, etc.

Package github.com/tyler-sommer/stick/twig contains extensions to provide the most Twig-like experience for template writers. It aims to feature the same functions, filters, etc. to be closely Twig-compatible.

Current status

Stable, mostly feature complete

Stick itself is mostly feature-complete, with the exception of whitespace control, and better error handling in places.

Stick is made up of three main parts: a lexer, a parser, and a template executor. Stick's lexer and parser are complete. Template execution is under development, but essentially complete.

See the to do list for additional information.

Installation

Stick is intended to be used as a library. The recommended way to install the library is using go get.

go get -u github.com/tyler-sommer/stick

Usage

Execute a simple Stick template.

package main

import (
	"log"
	"os"
    
	"github.com/tyler-sommer/stick"
)

func main() {
	env := stick.New(nil)
	if err := env.Execute("Hello, {{ name }}!", os.Stdout, map[string]stick.Value{"name": "Tyler"}); err != nil {
		log.Fatal(err)
	}
}

See godoc for more information.

To do

Further
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].