Skip to content

codemicro/go-neon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Neon intelligent template compiler

Neon compiles your HTML templates into native Go code, much like valyala/QuickTemplate.

However, unlike QuickTemplate, Neon does its own typechecking so you don't have to annotate your templates with type information. Coupled with changes to the syntax and style of templates, Neon templates are much more ergonomic to use compared to QuickTemplate templates.

Features

  • Automatic type inference
  • HTML string escaping by default
  • Much faster than standard library HTML templating

Getting started

Installing neontc, the Neon Template Compiler

go install github.com/codemicro/go-neon/neontc@latest

Your first template

Now you've got neontc installed, check out the basic example to get started.

Benchmarks

The following are the benchmark results from Neon, QuickTemplate and html/template, all generating the same output.

QuickTemplate is more optimised than Neon, but Neon is still many times faster than the standard library templating tools.

BenchmarkNeonTemplate1-8         7974867               145.3 ns/op           560 B/op          3 allocs/op
BenchmarkNeonTemplate10-8        3526574               326.1 ns/op          1200 B/op          4 allocs/op
BenchmarkNeonTemplate100-8        290163              4146 ns/op           18608 B/op         10 allocs/op

BenchmarkQuickTemplate1-8       20372656                51.00 ns/op            0 B/op          0 allocs/op
BenchmarkQuickTemplate10-8       8364355               145.1 ns/op             0 B/op          0 allocs/op
BenchmarkQuickTemplate100-8       747440              1559 ns/op               0 B/op          0 allocs/op

BenchmarkHTMLTemplate1-8         1278934               946.0 ns/op           440 B/op         21 allocs/op
BenchmarkHTMLTemplate10-8         261238              4585 ns/op            1953 B/op        102 allocs/op
BenchmarkHTMLTemplate100-8         26552             45779 ns/op           19243 B/op       1047 allocs/op

License

The go-neon project is licensed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages