mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-01-06 22:40:14 -05:00
Allow usage of blogurl:port inside of navigation (#6998)
closes #6893 - modified logic to allow urls in form of domain:port to be referenced in navigation - added a test a domain:port link
This commit is contained in:
parent
302702c740
commit
9d1848ce5c
2 changed files with 9 additions and 1 deletions
|
@ -204,11 +204,13 @@ function urlFor(context, data, absolute) {
|
|||
baseUrl = getBaseUrl(secure);
|
||||
hostname = baseUrl.split('//')[1] + ghostConfig.paths.subdir;
|
||||
if (urlPath.indexOf(hostname) > -1
|
||||
&& !urlPath.split(hostname)[0].match(/\.|mailto:/)) {
|
||||
&& !urlPath.split(hostname)[0].match(/\.|mailto:/)
|
||||
&& urlPath.split(hostname)[1].substring(0,1) !== ':') {
|
||||
// make link relative to account for possible
|
||||
// mismatch in http/https etc, force absolute
|
||||
// do not do so if link is a subdomain of blog url
|
||||
// or if hostname is inside of the slug
|
||||
// or if slug is a port
|
||||
urlPath = urlPath.split(hostname)[1];
|
||||
if (urlPath.substring(0, 1) !== '/') {
|
||||
urlPath = '/' + urlPath;
|
||||
|
|
|
@ -358,6 +358,12 @@ describe('Config', function () {
|
|||
testData = {nav: {url: 'http://my-ghost-blog.com/short-and-sweet/'}, secure: true};
|
||||
config.urlFor(testContext, testData).should.equal('https://my-ghost-blog.com/short-and-sweet/');
|
||||
|
||||
testData = {nav: {url: 'http://my-ghost-blog.com:3000/'}};
|
||||
config.urlFor(testContext, testData).should.equal('http://my-ghost-blog.com:3000/');
|
||||
|
||||
testData = {nav: {url: 'http://my-ghost-blog.com:3000/short-and-sweet/'}};
|
||||
config.urlFor(testContext, testData).should.equal('http://my-ghost-blog.com:3000/short-and-sweet/');
|
||||
|
||||
testData = {nav: {url: 'http://sub.my-ghost-blog.com/'}};
|
||||
config.urlFor(testContext, testData).should.equal('http://sub.my-ghost-blog.com/');
|
||||
|
||||
|
|
Loading…
Reference in a new issue