summaryrefslogtreecommitdiffstats
path: root/livereload/gen/livereload-hugo-plugin.js
blob: c4c6aa487b3a322d09c6fece5609aafd1ec98de9 (plain) (blame)
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
32
33
34
/*
Hugo adds a specific prefix, "__hugo_navigate", to the path in certain situations to signal
navigation to another content page.
*/
function HugoReload() {}

HugoReload.identifier = 'hugoReloader';
HugoReload.version = '0.9';

HugoReload.prototype.reload = function (path, options) {
	var prefix = '__hugo_navigate';

	if (path.lastIndexOf(prefix, 0) !== 0) {
		return false;
	}

	path = path.substring(prefix.length);

	var portChanged = options.overrideURL && options.overrideURL != window.location.port;

	if (!portChanged && window.location.pathname === path) {
		window.location.reload();
	} else {
		if (portChanged) {
			window.location = location.protocol + '//' + location.hostname + ':' + options.overrideURL + path;
		} else {
			window.location.pathname = path;
		}
	}

	return true;
};

LiveReload.addPlugin(HugoReload);