-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscripts.html
More file actions
46 lines (43 loc) · 1.55 KB
/
scripts.html
File metadata and controls
46 lines (43 loc) · 1.55 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
<script>
// Improve language-sh, to add prompt
var codes = document.querySelectorAll('.language-sh code');
for (var i = 0; i < codes.length; i++) {
codes[i].innerHTML = codes[i].innerHTML.replace(/([^\n][^<\n]+)<span class=\"nv\">\$ <\/span>/g, '<span class="gp">$1</span><span class="sb">$ </span>');
}
</script>
<script src="{{ '/js/clipboard.min.js' | relative_url }}"></script>
<script>
var btns = document.querySelectorAll('.btn');
for (var i = 0; i < btns.length; i++) {
btns[i].addEventListener('mouseleave', clearTooltip);
btns[i].addEventListener('blur', clearTooltip);
}
function clearTooltip(e) {
e.currentTarget.setAttribute('class', 'btn');
e.currentTarget.removeAttribute('aria-label');
}
function showTooltip(elem, msg) {
elem.setAttribute('class', 'btn tooltipped');
elem.setAttribute('aria-label', msg);
}
function fallbackMessage(action) {
var actionMsg = '';
var actionKey = (action === 'cut' ? 'X' : 'C');
if (/iPhone|iPad/i.test(navigator.userAgent)) {
actionMsg = 'No support :(';
} else if (/Mac/i.test(navigator.userAgent)) {
actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;
} else {
actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;
}
return actionMsg;
}
var clipboardDemos = new ClipboardJS('[data-clipboard-text]');
clipboardDemos.on('success', function(e) {
e.clearSelection();
showTooltip(e.trigger, 'Copied!');
});
clipboardDemos.on('error', function(e) {
showTooltip(e.trigger, fallbackMessage(e.action));
});
</script>