diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/generate/template.js | 7 | ||||
-rw-r--r-- | lib/utils/links.js | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/generate/template.js b/lib/generate/template.js index a4ac4fd..9b85228 100644 --- a/lib/generate/template.js +++ b/lib/generate/template.js @@ -2,6 +2,7 @@ var path = require("path"); var swig = require('swig'); var hljs = require('highlight.js'); +var links = require('../utils/').links; var pkg = require('../../package.json'); swig.setDefaults({ @@ -24,7 +25,6 @@ swig.setFilter('mdLink', function(link) { return link; }); - // Swig filter: highlight coloration swig.setFilter('code', function(code, lang) { try { @@ -44,4 +44,9 @@ swig.setFilter('pathJoin', function(base, _path) { return path.join(base, _path); }); +// Is a link an absolute link +swig.setFilter('isExternalLink', function(link) { + return links.isExternal(link); +}); + module.exports = swig; diff --git a/lib/utils/links.js b/lib/utils/links.js index c965dd9..6606bbf 100644 --- a/lib/utils/links.js +++ b/lib/utils/links.js @@ -1,6 +1,11 @@ var url = require('url'); var path = require('path'); +// Is the link an external link +var isExternal = function(href) { + return Boolean(url.parse(href).protocol); +}; + // Return true if the link is relative var isRelative = function(href) { var parsed = url.parse(href); @@ -41,6 +46,7 @@ var join = function() { module.exports = { isRelative: isRelative, + isExternal: isExternal, toAbsolute: toAbsolute, join: join -};
\ No newline at end of file +}; |