v1.18.x
Barış Soner Uşaklı 9 years ago
parent 1f9602d472
commit 0e466122e2

@ -1,7 +1,8 @@
'use strict'; 'use strict';
var nconf = require('nconf'), var nconf = require('nconf');
url = require('url'); var url = require('url');
var winston = require('winston');
var cache = require('./cache'); var cache = require('./cache');
var plugins = require('../plugins'); var plugins = require('../plugins');
@ -50,21 +51,24 @@ module.exports = function(Posts) {
// Turns relative links in post body to absolute urls // Turns relative links in post body to absolute urls
var parsed, current, absolute; var parsed, current, absolute;
while ((current=urlRegex.exec(content)) !== null) { while ((current = urlRegex.exec(content)) !== null) {
if (current[1]) { if (current[1]) {
parsed = url.parse(current[1]); try {
parsed = url.parse(current[1]);
if (!parsed.protocol) { if (!parsed.protocol) {
if (current[1].startsWith('/')) { if (current[1].startsWith('/')) {
// Internal link // Internal link
absolute = nconf.get('url') + current[1]; absolute = nconf.get('url') + current[1];
} else { } else {
// External link // External link
absolute = '//' + current[1]; absolute = '//' + current[1];
}
content = content.slice(0, current.index + 6) + absolute + content.slice(current.index + 6 + current[1].length);
} }
} catch(err) {
content = content.slice(0, current.index + 6) + absolute + content.slice(current.index + 6 + current[1].length); winston.verbose(err.messsage);
} }
} }
} }

Loading…
Cancel
Save