String helpers for Ember. Extracted from the great DockYard's ember-composable-helpers.
[!WARNING]
If you are using single file components you most likely do not need this addon as it's just a wrapper on@ember/stringmethods. You can import most methods directly from@ember/stringin your components, or migrate to something like change-case.
ember install ember-cli-string-helpers
camelizeCamelizes a string using Ember.String.camelize.
{{camelize "hello jim bob"}}
{{camelize stringWithDashes}}
Output: helloJimBob
capitalizeCapitalizes a string using Ember.String.capitalize.
{{capitalize "hello jim bob"}}
{{capitalize fullName}}
Output: Hello jim bob
classifyClassifies a string using Ember.String.classify.
{{classify "hello jim bob"}}
{{classify stringWithDashes}}
Output: HelloJimBob
dasherizeDasherizes a string using Ember.String.dasherize.
{{dasherize "whatsThat"}}
{{dasherize phrase}}
Output: whats-that
html-safeMark a string as safe for unescaped output with Ember templates using Ember.String.htmlSafe.
{{html-safe "
someString
"}}
{{html-safe unsafeString}}
humanizeRemoves dashes and underscores from a string, capitalizes the first letter and makes the rest of the string lower case.
{{humanize "some-string"}}
{{humanize phrase}}
Output: Some string
lowercaseLowercases a string.
{{lowercase "People Person's Paper People"}}
{{lowercase phrase}}
Output: people person's paper people
titleizeCapitalizes every word separated by a white space or a dash.
{{titleize "my big fat greek wedding"}}
{{titleize phrase}}
Output: My Big Fat Greek Wedding
trimTrim a string.
{{trim " Lorem ipsum dolor sit amet, consectetur adipiscing elit. "}}
{{trim phrase}}
Output: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
truncateTruncates a string with a characterLimit and optionally adds an ellipsis to the end.
{{truncate "Lorem ipsum dolor sit amet, consectetur adipiscing elit." 20 true}}
{{truncate phrase characterLimit useEllipsis}}
Output: Lorem ipsum dolor...
underscoreUnderscores a string using Ember.String.underscore.
{{underscore "whatsThat"}}
{{underscore phrase}}
Output: whats_that
uppercaseUppercases a string.
{{uppercase "loud noises"}}
{{uppercase phrase}}
Output: LOUD NOISES
wSplits a string on whitespace and/or turns multiple words into an array.
{{#each (w "First" "Second" "Last") as |rank|}}
Our {{rank}} place winner is ...
{{/each}}
or:
{{#each (w "First Second Last") as |rank|}}
Our {{rank}} place winner is ...
{{/each}}
See also: Ember w documentation
If you are using Glint and environment-ember-loose, you can add all the helpers to your app at once by adding
import type EmberCliStringHelpersRegistry from 'ember-cli-string-helpers/template-registry';
to your app's e.g. types/glint.d.ts file, and making sure your registry extends from EmberCliStringHelpersRegistry:
declare module '@glint/environment-ember-loose/registry' {
export default interface Registry
extends EmberCliStringHelpersRegistry {
// ...
}
}
import { camelize } from 'ember-cli-string-helpers';
<template>
{{camelize "hello jim bob"}}
</template>
This project is licensed under the MIT License.
$ claude mcp add ember-cli-string-helpers \
-- python -m otcore.mcp_server <graph>