resolve-link v1.1.0
resolve-link 
Resolve complete/partial URLs against a canonical target URL
This library was built to resolve URLs when candidates submit incompleted URLs (e.g. missing protocol, username only).
// Username only
resolveLink('underdogio', 'https://github.com/');
// https://github.com/underdogio
// Missing protocol
resolveLink('www.linkedin.com/in/toddwolfson', 'https://www.linkedin.com/');
// https://www.linkedin.com/in/toddwolfson
// Custom website
resolveLink('https://underdog.io/', 'https://www.linkedin.com/');
// https://underdog.io/
// Complete URL
resolveLink('https://github.com/underdogio', 'https://github.com/');
// https://github.com/underdogioresolve-link is browser compatible and is 6kb when minified and gzipped.
Getting Started
npm
Install the module with: npm install resolve-link
var resolveLink = require('resolve-link');
resolveLink('underdogio', 'https://github.com/'); // https://github.com/underdogiobower
Install the module with: bower install resolve-link
<script src="bower_components/resolve-link/dist/resolve-link.min.js"></script>
<script>
window.resolveLink; // Use same as in `npm`
</script>Vanilla
Download the minified JS at:
https://raw.githubusercontent.com/underdogio/resolve-link/master/dist/resolve-link.min.js
<script src="resolve-link.min.js"></script>
<script>
window.resolveLink; // Use same as in `npm`
</script>Documentation
We expose resolveLink as our module.exports and on window.resolveLink in bower/vanilla.
resolveLink(srcUrl, targetUrl)
Resolve the best variation of srcUrl with respect to our targetUrl
- srcUrl
String- URL/partial URL to be resolving from - targetUrl
String- Canonical URL to try to match if on the same domain
Returns:
- retVal
String- Completed URL formatted vianode's url.format
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via npm run lint and test via npm test.
License
Copyright (c) 2015 Underdog.io
Licensed under the MIT license.