Linkify URLs in an Ember app with a helper that uses a tested
url-regex and Handlebars
For more information on using
Utils.escapeExpression
to ensure links are safe.Installation
ember install ember-linkify
Usage
{{linkify post.description}}
{{linkify commentText}}
Use the helper with a raw string
{{linkify 'Here is a link: https://google.com and some attempted XSS <script>alert("xss!");</script>'}}
{{! => 'Here is a link: <a href="https://google.com">https://google.com</a> and some attempted XSS <script>alert("xss!");</script>'}}
Or with a variable bound to an input
{{textarea value=text placeholder='Enter some text with a url'}}
{{linkify text}}
You can specify options to the helper such as 'urlLength' which shortens the URL by 'urlLength' and add 3 dots to the end
{{linkify text urlLength=30}}
The 'defaultScheme' option specifies a scheme to use for URLs that don’t already have one.
For instance, the following will ensure that thehttps
scheme is used for the created link:{{linkify 'Link without a scheme: www.foo.com' defaultScheme='https'}}
Also use options to specify attributes you want to add to the generated anchor tags. Currently, "target", "rel" and "class" are the only recognized attributes.
{{linkify text target='_blank' rel='nofollow' class='external-link'}}
Development
Installation
git clone
this repositorycd my-addon
npm install
Running
ember server
- Visit your app at http://localhost:4200.
Running Tests
ember test
ember test --server
ember try:each
– Runs the test suite against multiple Ember versions
Building
ember build
For more information on using
ember-cli
, visit http://www.ember-cli.com/.License
MITContributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Crafted with <3 by John Otander(@4lpine).