aboutsummaryrefslogtreecommitdiff
path: root/dist/index.js
blob: d3a9509ecb4af504c698f684fd418ea7a0607ed4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'use strict';

var visit = require('unist-util-visit');

var schemes = require('./schemes.js');

function plugin() {
  return transformer;

  function transformer(tree) {
    visit(tree, 'link', function (link) {
      if (link.url) {
        if (link.url[0] === '/') {
          // Local link
          return;
        }

        if (schemes.some(function (scheme) {
          return link.url.startsWith(scheme + ':');
        })) {
          // Valide scheme
          return;
        }

        link.url = '/' + link.url;
      }
    });
  }
}

module.exports = plugin;