-
Notifications
You must be signed in to change notification settings - Fork 239
Changelog
gregjacobs edited this page Nov 8, 2014
·
9 revisions
- Add support for
$
and*
characters in URLs (http://tools.ietf.org/html/rfc3986#page-13). Thanks @jrsquared!
- Add
Autolinker.match.Match#getMatchedText
method
- Add documentation generation, and update inline documentation.
- Expose the
Autolinker.HtmlTag
class, and allow it to be used in thereplaceFn
- Add
replaceFn
option
- Allow Autolinker to link fully-capitalized URLs/Emails/Twitter handles.
- Added fix to not autolink strings like "version:1.0", which were accidentally being interpreted as a protocol:domain string.
- Added support for protocol-relative URLs (ex:
//google.com
, which will effectively either have thehttp://
orhttps://
protocol depending on the protocol that is hosting the website)
- Fixed an issue where a string in the form of
abc:def
would be autolinked as a protocol and domain name URL. Autolinker now requires the domain name to have at least one period in it to be considered.
- Fixed an issue where Twitter handles wouldn't be autolinked if they existed as the sole entity within parenthesis or brackets (thanks @busticated for pointing this out and providing unit tests)
- Fixed an issue with nested tags within an existing <a> tag, where the nested tags' inner text would be accidentally removed from the output (thanks @mjsabin01)
- Added a patch to attempt to better handle extraneous </a> tags in the input string if any exist. This is for when the input may have some invalid markup (for instance, on sites which allow user comments, blog posts, etc.).
- Added better support for the processing of existing HTML in the input string. Now handles namespaced tags, and attribute names with dashes or any other Unicode character (thanks @aziraphale)
- Added
className
option for easily styling produced links (thanks @busticated) - Refactored into a JS class. Autolinker can now be instantiated using:
var autolinker = new Autolinker( { newWindow: false, truncate: 25 } );
autolinker.link( "Check out http://www.yahoo.com/some/long/path/to/a/file" );
// Produces: "Check out <a href="http://www.yahoo.com/some/long/path/to/a/file">yahoo.com/some/long/pat..</a>"
This allows options to be set on a single instance, and used throughout a codebase by injecting the autolinker
instance as a dependency to the modules/classes that use it. (Note: Autolinker may still be used with the static Autolinker.link()
method as was previously available as well.)
- Changed build system to Grunt.
- Added AMD and CommonJS module loading support (ex: RequireJS, and Node.js's module loader).
- Added command line Jasmine test runner (
grunt test
) - Upgraded Jasmine from 1.3.1 to 2.0
- Added license header to dist files.
(Thanks to @busticated!)
- Added LICENSE file to repository.
- Added options for granular control of which types are linked (urls, email addresses, and/or twitter handles). (thanks @aziraphale)
- Simplified the path / query string / hash processing into a single regular expression instead of 3 separate ones.
- Added support for parenthesis in URLs, such as:
en.wikipedia.org/wiki/IANA_(disambiguation)
(thanks @dandv) - Add all known top-level domains (TLDs) (thanks @wouter0100)
Merged pull requests from @afeld:
- strip protocol and 'www.' by default - fixes #1
- truncate URLs from the end
- make simpler regex for detecting prefix
- remove trailing slashes from URLs, and handle periods at the end of paths
- re-use domain+TLD regexes for email matching
- add .me and .io to list of TLDs
Thanks Aidan :)
- Fixed an issue with handling nested HTML tags within anchor tags.
- Implemented the
truncate
option.
- Implemented autolinking Twitter handles.
- Initial implementation, which autolinks URLs and email addresses. Working on linking Twitter handles.