Ace is an HTML template engine for Go. This is inspired by Slim and Jade. This is a refinement of Gold.
= doctype html
html lang=en
head
title Hello Ace
= css
h1 { color: blue; }
body
h1 {{.Msg}}
#container.wrapper
p..
Ace is an HTML template engine for Go.
This engine simplifies HTML coding in Go web application development.
= javascript
console.log('Welcome to Ace');
becomes
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello Ace</title>
<style type="text/css">
h1 { color: blue; }
</style>
</head>
<body>
<h1>Hello Ace</h1>
<div id="container" class="wrapper">
<p>
Ace is an HTML template engine for Go.<br>
This engine simplifies HTML coding in Go web application development.
</p>
</div>
<script type="text/javascript">
console.log('Welcome to Ace');
</script>
</body>
</html>
Ace fully utilizes the strength of the html/template package. You can embed actions of the template package in Ace templates. Ace also uses nested template definitions of the template package and Ace templates can pass pipelines (parameters) to other templates which they include.
Ace has a simple syntax and this makes template files simple and light.
Ace has a caching function which caches the result data of the templates parsing process. You can omit the templates parsing process and save template parsing time by using this function.
Ace has a binary template load function which loads Ace templates from binary data in memory instead of template files on disk. You can compile your web application into one binary file by using this function. go-bindata is the best for generating binary data from template files.
Please check the following documentation.
- Getting Started - shows the getting started guide.
- Examples - shows the examples of the web applications which use the Ace template engine.
You can get the documentation about Ace via the following channels:
- Documentation - includes the getting started guide and the syntax documentation.
- GoDoc - includes the API documentation.
You can discuss Ace and contact the Ace development team via the following channels:
Any contributions are welcome. Please feel free to create an issue or send a pull request.
- Martini Acerender - For Martini
- vim-ace - Vim syntax highlighting for Ace templates
- ace-tmbundle - TextMate/Sublime syntax highlighting for Ace templates
- atom-ace - Atom Editor syntax highlighting for Ace templates
Here is the list of the projects using Ace. Please feel free to add your awesome project to the list!