diff options
Diffstat (limited to 'lib/utils/links.js')
-rw-r--r-- | lib/utils/links.js | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/lib/utils/links.js b/lib/utils/links.js index 589e0d7..5122396 100644 --- a/lib/utils/links.js +++ b/lib/utils/links.js @@ -1,51 +1,50 @@ -var url = require("url"); -var path = require("path"); +var url = require('url'); +var path = require('path'); // Is the link an external link -var isExternal = function(href) { +function isExternal(href) { try { return Boolean(url.parse(href).protocol); - } catch(err) { } - - return false; -}; + } catch(err) { + return false; + } +} // Return true if the link is relative -var isRelative = function(href) { +function isRelative(href) { try { var parsed = url.parse(href); return !!(!parsed.protocol && parsed.path); - } catch(err) {} - - return true; -}; + } catch(err) { + return true; + } +} // Return true if the link is an achor -var isAnchor = function(href) { +function isAnchor(href) { try { var parsed = url.parse(href); return !!(!parsed.protocol && !parsed.path && parsed.hash); - } catch(err) {} - - return false; -}; + } catch(err) { + return false; + } +} // Normalize a path to be a link -var normalizeLink = function(s) { - return s.replace(/\\/g, "/"); -}; +function normalizeLink(s) { + return s.replace(/\\/g, '/'); +} // Relative to absolute path // dir: directory parent of the file currently in rendering process // outdir: directory parent from the html output - -var toAbsolute = function(_href, dir, outdir) { +function toAbsolute(_href, dir, outdir) { if (isExternal(_href)) return _href; // Path "_href" inside the base folder var hrefInRoot = path.normalize(path.join(dir, _href)); - if (_href[0] == "/") hrefInRoot = path.normalize(_href.slice(1)); + if (_href[0] == '/') hrefInRoot = path.normalize(_href.slice(1)); // Make it relative to output _href = path.relative(outdir, hrefInRoot); @@ -54,22 +53,22 @@ var toAbsolute = function(_href, dir, outdir) { _href = normalizeLink(_href); return _href; -}; +} // Join links -var join = function() { +function join() { var _href = path.join.apply(path, arguments); return normalizeLink(_href); }; // Change extension -var changeExtension = function(filename, newext) { +function changeExtension(filename, newext) { return path.join( path.dirname(filename), path.basename(filename, path.extname(filename))+newext ); -}; +} module.exports = { isAnchor: isAnchor, |