-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathindex.js
More file actions
72 lines (66 loc) · 2.32 KB
/
index.js
File metadata and controls
72 lines (66 loc) · 2.32 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
;
(function () {
function wrap(classes) {
return '<i class="extfont ' + classes + '"></i>';
}
function wrapDevicons(ext) {
return wrap('devicons devicons-' + ext);
}
function wrapFontAwesome(ext) {
return wrap('fa fa-' + ext);
}
var icons = {
'bat': wrapDevicons('terminal_badge'),
'clj': wrapDevicons('clojure'),
'css': wrapDevicons('css3_full'),
'exe': wrapDevicons('windows'),
'hs': wrapDevicons('haskell'),
'html': wrapDevicons('html5'),
'js': wrapDevicons('javascript'),
'json': wrapDevicons('database'),
'less': wrapDevicons('less'),
'markdown': wrapDevicons('markdown'),
'md': wrapDevicons('markdown'),
'mdown': wrapDevicons('markdown'),
'php': wrapDevicons('php'),
'plist': wrapDevicons('apple'),
'py': wrapDevicons('python'),
'rb': wrapDevicons('ruby_rough'),
'scss': wrapDevicons('sass'),
'sh': wrapDevicons('terminal'),
'swift': wrapDevicons('swift'),
'yaml': wrapDevicons('database'),
'yml': wrapDevicons('database')
};
[].slice.call(document.querySelectorAll('tr.js-navigation-item')).forEach(function (tr) {
var icon = tr.querySelector('.icon');
var content = tr.querySelector('.content a');
if (!content) {
return;
}
var fn = content.innerText.trim();
if (fn.toLowerCase() === 'license') {
icon.innerHTML = wrapFontAwesome('certificate');
} else if (fn === 'configure') {
icon.innerHTML = wrapFontAwesome('cog');
} else if (fn === 'manifest.json') {
icon.innerHTML = wrapDevicons('chrome');
} else if (fn === 'CNAME') {
icon.innerHTML = wrapFontAwesome('globe');
} else if (fn.startsWith('.git')) {
icon.innerHTML = wrapDevicons('git');
} else if (fn.startsWith('.vim')) {
icon.innerHTML = wrapDevicons('vim');
} else if (fn.startsWith('.npm') || fn.toLowerCase() === 'package.json') {
icon.innerHTML = wrapDevicons('npm');
} else if (fn.startsWith('.travis')) {
icon.innerHTML = wrapDevicons('travis');
} else if (fn.startsWith('.docker') || fn === 'Dockerfile') {
icon.innerHTML = wrapDevicons('docker');
} else if (fn === 'gulpfile.js') {
icon.innerHTML = wrapDevicons('gulp');
} else if (fn.includes('.')) {
icon.innerHTML = icons[fn.split('.').slice(-1)[0]] || icon.innerHTML;
}
});
})();