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
73
|
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="%VIRT_ROOT%/assets/fonts/fonts.min.css" rel="stylesheet" type="text/css">
<link href="%VIRT_ROOT%/assets/css/gruvbox.css" rel="stylesheet" type="text/css">
<link
href="https://cdn.bootcdn.net/ajax/libs/simplebar/6.2.5/simplebar.css"
rel="stylesheet"
/>
<script src="https://cdn.bootcdn.net/ajax/libs/simplebar/6.2.5/simplebar.js"></script>
<link href="%VIRT_ROOT%/assets/css/cgit.css" rel="stylesheet" type="text/css">
<script>
function go_responsive() {
/* destroy tables that prevent responsive design */
var tabs = document.createElement("div");
var header_form = document.createElement("div");
var forms = document.createElement("div");
tabs.className = "tabs";
forms.className = "forms";
var header_td_form = document.querySelector("table#header td.form");
if (header_td_form) {
while (header_td_form.firstChild) {
header_form.appendChild(header_td_form.firstChild);
}
header_td_form.parentNode.removeChild(header_td_form);
}
var tab_items = Array.from(document.querySelectorAll("table.tabs td")).map(
(v) => {
var div = document.createElement("div");
var children = Array.from(v.children);
children.forEach((child) => div.appendChild(child));
return div;
}
);
tab_items[1].className = "form";
header_form.className = "form";
[tab_items[1], header_form].forEach((el) => forms.appendChild(el));
tabs.appendChild(tab_items[0]);
document.querySelectorAll("table.tabs").forEach((el) => el.remove());
var header = document.querySelector("table#header");
header.insertAdjacentElement("afterend", tabs);
header.insertAdjacentElement("afterend", forms);
header.style.display = "inline-block";
header.style.width = "auto";
}
function wrap_fat_elements() {
/* wrap the elements that could be very large in width */
var tables = document.querySelectorAll(
"table.list, table.blob, table.ssdiff, table.bin-blob, table.nowrap, table.commit-info, table.diffstat, table.diff, table.list, table.stats, table.vgraph, table.hgraph, table.blame"
);
tables.forEach((table) => {
var wrapper = document.createElement("div");
wrapper.className = "table-wrap";
table.parentNode.insertBefore(wrapper, table);
wrapper.appendChild(table);
});
document
.querySelectorAll(".table-wrap, pre.literal-block")
.forEach((el) => {
new SimpleBar(el);
});
}
document.addEventListener("DOMContentLoaded", function () {
go_responsive();
wrap_fat_elements();
});
</script>
<style>
.simplebar-scrollbar::before {
background-color: grey;
height: 4px;
}
</style>
|