summaryrefslogtreecommitdiffstats
path: root/lib/utils/links.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/links.js')
-rw-r--r--lib/utils/links.js81
1 files changed, 0 insertions, 81 deletions
diff --git a/lib/utils/links.js b/lib/utils/links.js
deleted file mode 100644
index 5122396..0000000
--- a/lib/utils/links.js
+++ /dev/null
@@ -1,81 +0,0 @@
-var url = require('url');
-var path = require('path');
-
-// Is the link an external link
-function isExternal(href) {
- try {
- return Boolean(url.parse(href).protocol);
- } catch(err) {
- return false;
- }
-}
-
-// Return true if the link is relative
-function isRelative(href) {
- try {
- var parsed = url.parse(href);
-
- return !!(!parsed.protocol && parsed.path);
- } catch(err) {
- return true;
- }
-}
-
-// Return true if the link is an achor
-function isAnchor(href) {
- try {
- var parsed = url.parse(href);
- return !!(!parsed.protocol && !parsed.path && parsed.hash);
- } catch(err) {
- return false;
- }
-}
-
-// Normalize a path to be a link
-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
-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));
-
- // Make it relative to output
- _href = path.relative(outdir, hrefInRoot);
-
- // Normalize windows paths
- _href = normalizeLink(_href);
-
- return _href;
-}
-
-// Join links
-function join() {
- var _href = path.join.apply(path, arguments);
-
- return normalizeLink(_href);
-};
-
-// Change extension
-function changeExtension(filename, newext) {
- return path.join(
- path.dirname(filename),
- path.basename(filename, path.extname(filename))+newext
- );
-}
-
-module.exports = {
- isAnchor: isAnchor,
- isRelative: isRelative,
- isExternal: isExternal,
- toAbsolute: toAbsolute,
- join: join,
- changeExtension: changeExtension,
- normalize: normalizeLink
-};