temple

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2020 License: MIT Imports: 10 Imported by: 0

README

GitHub release Build Status GitHub issues

Go Report Card Codacy Badge Code Climate Issue Count

Temple

Sick of sed? Peaked about perl? Use temple to substitute your variables!

Installation

Binaries

I have pre-built binaries for several platform already. They are available on the releases page.

Source

If you have go v1.6 installed, then you can build the binary with the following command:

go get -u -v docwhat.org/temple

Usage

usage: temple [<flags>] <template>

Fast and simple templating engine

Flags:
  -h, --help                 Show context-sensitive help (also try --help-long and --help-man).
      --version              Show application version.
  -j, --json-data=JSON-DATA  A JSON file to use via the {{json.<foo>}} interface (Env: TEMPLE_JSON_DATA_FILE)
  -H, --html                 Use HTML templating instead of text templating (Env: TEMPLE_HTML)

Args:
  <template>  A Go Template file.

Note that the JSON file must be an object at the top level. Example:

{
  "key": "value",
  "key2": 2
}

Template Syntax

For complete documentation, read go's text/template and html/template.

Sprig Functions

Temple supports the complete list of Sprig functions.

Data Sources
  • {{hostname}} -- The systems fully qualified domain name.
  • {{uid}} -- UID of the user running temple.
  • {{gid}} -- GID of the user running temple.
  • {{euid}} -- Effective UID of the user running temple.
  • {{egid}} -- Effective GID of the user running temple.
  • {{pwd}} -- The current working directory.
  • {{json}} -- Access to your JSON data. Use dot notation to get access to items. e.g. {{json.authors.greenwood.first_name}}
Functions
  • {{index <expr> 99}} -- The 99th item of the array <expr>.
  • {{<expr> | js}} -- <expr> escaped/quoted for JavaScript & JSON.
  • {{<expr> | html}} -- <expr> escaped/quoted for HTML.
  • {{<expr> | urlquery}} -- <expr> escaped/quoted for a URL quoting. i.e. replacing spaces with + and using %NN syntax.
  • {{<expr> | shellquote}} -- <expr> escaped/quoted for POSIX shells.
  • {{<expr> | len}} -- The length of the <expr>.
Flow Control
  • {{if <expr>}}true string{{else}}false string{{end}} -- If/Else syntax. The {{else}} is optional.
  • {{range <array>}} item: {{.}} {{else}} The list is empty {{end}} -- Iterate over <array>. The {{else}} is optional.
Miscellaneous
  • {{<expr> -}} -- Trim whitespace to the right. e.g. {{1 -}} .0 becomes 1.0.
  • {{- <expr>}} -- Trim whitespace to the left.
  • {{- <expr> -}} -- Trim whitespace to the right and left.
  • {{/* comment */}} -- Comments!

Thanks

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL