String Operators

When we need to work with strings, these operators will help with your markdown.

List of Operators

{{append}}

Append the specified suffix to the given string.

Params

  • str {String}
  • suffix {String}
  • returns {String}

Example

<!-- given that "item.stem" is "foo" -->
{{append item.stem ".html"}}
<!-- results in:  'foo.html' -->

{{camelcase}}

camelCase the characters in the given string.

Params

  • string {String}: The string to camelcase.
  • returns {String}

Example

{{camelcase "foo bar baz"}};
<!-- results in:  'fooBarBaz' -->

{{capitalize}}

Capitalize the first word in a sentence.

Params

  • str {String}
  • returns {String}

Example

{{capitalize "foo bar baz"}}
<!-- results in:  "Foo bar baz" -->

{{capitalizeAll}}

Capitalize all words in a string.

Params

  • str {String}
  • returns {String}

Example

{{capitalizeAll "foo bar baz"}}
<!-- results in:  "Foo Bar Baz" -->

{{center}}

Center a string using non-breaking spaces

Params

  • str {String}
  • spaces {String}
  • returns {String}

{{chop}}

Like trim, but removes both extraneous whitespace and non-word characters from the beginning and end of a string.

Params

  • string {String}: The string to chop.
  • returns {String}

Example

{{chop "_ABC_"}}
<!-- results in:  'ABC' -->

{{chop "-ABC-"}}
<!-- results in:  'ABC' -->

{{chop " ABC "}}
<!-- results in:  'ABC' -->

{{dashcase}}

dash-case the characters in string. Replaces non-word characters and periods with hyphens.

Params

  • string {String}
  • returns {String}

Example

{{dashcase "a-b-c d_e"}}
<!-- results in:  'a-b-c-d-e' -->

{{dotcase}}

dot.case the characters in string.

Params

  • string {String}
  • returns {String}

Example

{{dotcase "a-b-c d_e"}}
<!-- results in:  'a.b.c.d.e' -->

{{downcase}}

Lowercase all of the characters in the given string. Alias for lowercase.

Params

  • string {String}
  • returns {String}

Example

{{downcase "aBcDeF"}}
<!-- results in:  'abcdef' -->

{{ellipsis}}

Truncates a string to the specified length, and appends it with an elipsis, .

Params

  • str {String}
  • length {Number}: The desired length of the returned string.
  • returns {String}: The truncated string.

Example

{{ellipsis (sanitize "<span>foo bar baz</span>"), 7}}
<!-- results in:  'foo bar…' -->
{{ellipsis "foo bar baz", 7}}
<!-- results in:  'foo bar…' -->

{{hyphenate}}

Replace spaces in a string with hyphens.

Params

  • str {String}
  • returns {String}

Example

{{hyphenate "foo bar baz qux"}}
<!-- results in:  "foo-bar-baz-qux" -->

{{isString}}

Return true if value is a string.

Params

  • value {String}
  • returns {Boolean}

Example

{{isString "foo"}}
<!-- results in:  'true' -->

{{lowercase}}

Lowercase all characters in the given string.

Params

  • str {String}
  • returns {String}

Example

{{lowercase "Foo BAR baZ"}}
<!-- results in:  'foo bar baz' -->

{{occurrences}}

Return the number of occurrences of substring within the given string.

Params

  • str {String}
  • substring {String}
  • returns {Number}: Number of occurrences

Example

{{occurrences "foo bar foo bar baz" "foo"}}
<!-- results in:  2 -->

{{pascalcase}}

PascalCase the characters in string.

Params

  • string {String}
  • returns {String}

Example

{{pascalcase "foo bar baz"}}
<!-- results in:  'FooBarBaz' -->

{{pathcase}}

path/case the characters in string.

Params

  • string {String}
  • returns {String}

Example

{{pathcase "a-b-c d_e"}}
<!-- results in:  'a/b/c/d/e' -->

{{plusify}}

Replace spaces in the given string with pluses.

Params

  • str {String}: The input string
  • returns {String}: Input string with spaces replaced by plus signs

Example

{{plusify "foo bar baz"}}
<!-- results in:  'foo+bar+baz' -->

{{prepend}}

Prepends the given string with the specified prefix.

Params

  • str {String}
  • prefix {String}
  • returns {String}

Example

<!-- given that "val" is "bar" -->
{{prepend val "foo-"}}
<!-- results in:  'foo-bar' -->

{{raw}}

Render a block without processing mustache templates inside the block.

Params

  • options {Object}
  • returns {String}

Example

{{{{#raw}}}}
{{foo}}
{{{{/raw}}}}
<!-- results in:  '{{foo}}' -->

{{remove}}

Remove all occurrences of substring from the given str.

Params

  • str {String}
  • substring {String}
  • returns {String}

Example

{{remove "a b a b a b" "a "}}
<!-- results in:  'b b b' -->

{{removeFirst}}

Remove the first occurrence of substring from the given str.

Params

  • str {String}
  • substring {String}
  • returns {String}

Example

{{remove "a b a b a b" "a"}}
<!-- results in:  ' b a b a b' -->

{{replace}}

Replace all occurrences of substring a with substring b.

Params

  • str {String}
  • a {String}
  • b {String}
  • returns {String}

Example

{{replace "a b a b a b" "a" "z"}}
<!-- results in:  'z b z b z b' -->

{{replaceFirst}}

Replace the first occurrence of substring a with substring b.

Params

  • str {String}
  • a {String}
  • b {String}
  • returns {String}

Example

{{replace "a b a b a b" "a" "z"}}
<!-- results in:  'z b a b a b' -->

{{reverse}}

Reverse a string.

Params

  • str {String}
  • returns {String}

Example

{{reverse "abcde"}}
<!-- results in:  'edcba' -->

{{sentence}}

Sentence case the given string

Params

  • str {String}
  • returns {String}

Example

{{sentence "hello world. goodbye world."}}
<!-- results in:  'Hello world. Goodbye world.' -->

{{snakecase}}

snake_case the characters in the given string.

Params

  • string {String}
  • returns {String}

Example

{{snakecase "a-b-c d_e"}}
<!-- results in:  'a_b_c_d_e' -->

{{split}}

Split string by the given character.

Params

  • string {String}: The string to split.
  • returns {String} character: Default is an empty string.

Example

{{split "a,b,c" ","}}
<!-- results in:  ['a', 'b', 'c'] -->

{{startsWith}}

Tests whether a string begins with the given prefix.

Params

  • prefix {String}
  • testString {String}
  • options {String}
  • returns {String}

Example

{{#startsWith "Goodbye" "Hello, world!"}}
  Whoops
{{else}}
  Bro, do you even hello world?
{{/startsWith}}

{{titleize}}

Title case the given string.

Params

  • str {String}
  • returns {String}

Example

{{titleize "this is title case"}}
<!-- results in:  'This Is Title Case' -->

{{trim}}

Removes extraneous whitespace from the beginning and end of a string.

Params

  • string {String}: The string to trim.
  • returns {String}

Example

{{trim " ABC "}}
<!-- results in:  'ABC' -->

{{trimLeft}}

Removes extraneous whitespace from the beginning of a string.

Params

  • string {String}: The string to trim.
  • returns {String}

Example

{{trim " ABC "}}
<!-- results in:  'ABC ' -->

{{trimRight}}

Removes extraneous whitespace from the end of a string.

Params

  • string {String}: The string to trim.
  • returns {String}

Example

{{trimRight " ABC "}}
<!-- results in:  ' ABC' -->

{{truncate}}

Truncate a string to the specified length. Also see ellipsis.

Params

  • str {String}
  • limit {Number}: The desired length of the returned string.
  • suffix {String}: Optionally supply a string to use as a suffix to denote when the string has been truncated. Otherwise an ellipsis () will be used.
  • returns {String}: The truncated string.

Example

truncate("foo bar baz", 7);
<!-- results in:  'foo bar' -->
truncate(sanitize("<span>foo bar baz</span>", 7));
<!-- results in:  'foo bar' -->

{{truncateWords}}

Truncate a string to have the specified number of words. Also see truncate.

Params

  • str {String}
  • limit {Number}: The desired length of the returned string.
  • suffix {String}: Optionally supply a string to use as a suffix to denote when the string has been truncated.
  • returns {String}: The truncated string.

Example

truncateWords("foo bar baz", 1);
<!-- results in:  'foo…' -->
truncateWords("foo bar baz", 2);
<!-- results in:  'foo bar…' -->
truncateWords("foo bar baz", 3);
<!-- results in:  'foo bar baz' -->

{{upcase}}

Uppercase all of the characters in the given string. Alias for uppercase.

Params

  • string {String}
  • returns {String}

Example

{{upcase "aBcDeF"}}
<!-- results in:  'ABCDEF' -->

{{uppercase}}

Uppercase all of the characters in the given string. If used as a block helper it will uppercase the entire block. This helper does not support inverse blocks.

Params

  • str {String}: The string to uppercase
  • options {Object}: Handlebars options object
  • returns {String}

Example

{{uppercase "aBcDeF"}}
<!-- results in:  'ABCDEF' -->