string-template

A lightweight string replace engine for text-based templates

  • Owner: Matt-Esch/string-template
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

string-template

build status dependency status coverage report stability index

npm stats

browser support

A simple string template function based on named or indexed arguments

Example

var format = require("string-template")
var greeting

// Format using an object hash with keys matching [0-9a-zA-Z]+

greeting = format("Hello {name}, you have {count} unread messages", {
    name: "Robert",
    count: 12
})
// greeting -> "Hello Robert, you have 12 unread messages"


// Format using a number indexed array

greeting = format("Hello {0}, you have {1} unread messages", ["Robert", 12])
// greeting -> "Hello Robert, you have 12 unread messages"


// Format using optional arguments

greeting = format("Hello {0}, you have {1} unread messages",
     "Robert",
     12)
// greeting -> "Hello Robert, you have 12 unread messages"


// Escape {} pairs by using double {{}}

var text = format("{{0}}")
// text -> "{0}"

Compiling templates

string-template exposes two template compiling options for when you need the
additional performance. Arguments passed to the compiled template are of the
same structure as the main string-template function, so either a single
object/array or a list of arguments.

var compile = require("string-template/compile")

var greetingTemplate = compile("Hello {0}, you have {1} unread messages")

var greeting = greetingTemplate("Robert", 12)
// -> "Hello Robert, you have 12 unread messages"

Passing a truthy second argument to compile will opt into using new Function
to generate a function. The function returned contains a literal string
concatenation statement, interleaving the correct arguments you have passed in.

var compile = require("string-template/compile")

var greetingTemplate = compile("Hello {0}, you have {1} unread messages", true)
// -> greetingTemplate generated using new Function

var greeting = greetingTemplate(["Robert", 12])
// -> "Hello Robert, you have 12 unread messages"

Installation

npm install string-template

Contributors

  • Matt-Esch

MIT Licenced

Main metrics

Overview
Name With OwnerMatt-Esch/string-template
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2013-09-30 06:17:21
Pushed At2017-03-17 13:21:52
Last Commit At2016-11-11 01:09:28
Release Count2
Last Release Namev1.0.0 (Posted on 2016-01-07 11:51:46)
First Release Namev0.2.0 (Posted on 2014-05-12 07:23:30)
用户参与
Stargazers Count277
Watchers Count5
Fork Count47
Commits Count35
Has Issues Enabled
Issues Count15
Issue Open Count7
Pull Requests Count5
Pull Requests Open Count3
Pull Requests Close Count2
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private