PK
n[B
" autoindex/assets/css/autoindex.cssnu [ html {
background: #edeff0;
}
.content {
max-width: 1000px;
margin: 35px auto 35px auto;
font-family: Lato, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
padding-left: 1em;
padding-right: 1em;
}
h1 {
margin-bottom: 32px;
word-break: break-all;
}
@media only screen and (max-width: 640px) {
h1 {
font-size: 1.5em;
}
}
.name {
padding-left: 1.5em;
}
.colname:not(.no-sort) a {
position: relative;
display: inline-block;
}
.colname:not(.no-sort) a:after,
.colname:not(.no-sort) a:before {
content: "";
float: right;
margin-top: 7px;
border-color: #404040 transparent;
border-style: solid;
border-width: 0 4px 4px;
visibility: visible;
opacity: .4;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.colname:not(.no-sort) a:after {
position: relative;
margin-top: 11px;
right: -8px;
transform: rotate(-180deg);
margin-left: 5px;
}
.colname:not(.no-sort) a:before {
margin-top: 5px;
}
.colname[aria-sort=ascending]:not(.no-sort) a:before,
.colname[aria-sort=descending]:not(.no-sort) a:after {
opacity: .8;
}
.colname:not(.no-sort):not([aria-sort=descending]) a:hover:before,
.colname:not(.no-sort):not([aria-sort]) a:hover:before {
opacity: 1
}
#table-list {
overflow-x: auto;
background: white;
margin-top: 32px;
margin-bottom: 32px;
box-shadow: 0 0.55rem 1.25rem rgb(0 65 98 / 4%);
-webkit-box-shadow: 0 0.55rem 1.25rem rgb(0 65 98 / 4%);
box-shadow: 0 0.55rem 1.25rem rgb(0 65 98 / 4%);
}
table {
width: 100%;
margin: 0 auto;
border-collapse: collapse;
table-layout: fixed;
font-size: 0.88em;
padding-left: 10px;
padding-right: 10px;
}
tr:hover:not(:nth-child(1)) {
background-color: rgb(220 220 220);
}
.t-header th {
font-size: 1em;
height: 1.8em;
}
th,
td {
padding: 0.65em;
text-align: left;
}
th:nth-child(1) {
width: 18em;
}
th:nth-child(2) {
width: 13em;
}
th:nth-child(3) {
width: 6em;
text-align: right;
}
th:nth-child(4) {
width: 13em;
}
td:nth-child(1) {
padding-left: 2em;
}
td:nth-child(2) {
color: #666;
}
td:nth-child(3) {
color: #666;
text-align: right;
}
tbody tr:nth-child(odd) {
background-color: #f8fafb;
border-top: 1px solid #edeff0;
border-bottom: 1px solid #edeff0;
}
a {
color: #0047AB;
text-decoration: none;
}
a:hover {
color: #0096FF;
text-decoration: underline;
}
td a {
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
td a:visited {
color: #5a5a5a;
}
.icon {
vertical-align: text-bottom;
padding-right: 0.75em;
height: 1.2em;
-webkit-filter: grayscale(.8) brightness(2);
filter: grayscale(.85) brightness(2.5);
}
address {
color: rgb(100, 100, 100);
font-size: 0.8em;
font-style: normal;
}
.header-text {
color: #4c4b4b;
}
.readme-text {
padding-bottom: 32px;
margin-bottom: 32px;
color: #4c4b4b;
font-size: 0.9em;
border-bottom: 1px solid #3333331c;
}
#filter-keyword {
padding: 0.5rem 0.85rem;
font-size: .875rem;
font-family: inherit;
font-weight: 400;
line-height: 1.5;
border-radius: 0;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #dddddd;
display: block;
width: 12rem;
max-width: 100%;
transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
#filter-keyword:focus {
color: #495057;
background-color: #fff;
border-color: #afbfe1;
outline: 0;
box-shadow: 0 0 0 0.2rem rgb(141, 169, 216, 0.25)
}
PK
n[* autoindex/assets/js/tablesort.jsnu [ ;(function() {
function Tablesort(el, options) {
if (!(this instanceof Tablesort)) return new Tablesort(el, options);
if (!el || el.tagName !== 'TABLE') {
throw new Error('Element must be a table');
}
this.init(el, options || {});
}
var sortOptions = [];
var createEvent = function(name) {
var evt;
if (!window.CustomEvent || typeof window.CustomEvent !== 'function') {
evt = document.createEvent('CustomEvent');
evt.initCustomEvent(name, false, false, undefined);
} else {
evt = new CustomEvent(name);
}
return evt;
};
var getInnerText = function(el) {
return el.getAttribute('data-sort') || el.textContent || el.innerText || '';
};
// Default sort method if no better sort method is found
var caseInsensitiveSort = function(a, b) {
a = a.trim().toLowerCase();
b = b.trim().toLowerCase();
if (a === b) return 0;
if (a < b) return 1;
return -1;
};
var getCellByKey = function(cells, key) {
return [].slice.call(cells).find(function(cell) {
return cell.getAttribute('data-sort-column-key') === key;
});
};
// Stable sort function
// If two elements are equal under the original sort function,
// then there relative order is reversed
var stabilize = function(sort, antiStabilize) {
return function(a, b) {
var unstableResult = sort(a.td, b.td);
if (unstableResult === 0) {
if (antiStabilize) return b.index - a.index;
return a.index - b.index;
}
return unstableResult;
};
};
Tablesort.extend = function(name, pattern, sort) {
if (typeof pattern !== 'function' || typeof sort !== 'function') {
throw new Error('Pattern and sort must be a function');
}
sortOptions.push({
name: name,
pattern: pattern,
sort: sort
});
};
Tablesort.prototype = {
init: function(el, options) {
var that = this,
firstRow,
defaultSort,
i,
cell;
that.table = el;
that.thead = false;
that.options = options;
if (el.rows && el.rows.length > 0) {
if (el.tHead && el.tHead.rows.length > 0) {
for (i = 0; i < el.tHead.rows.length; i++) {
if (el.tHead.rows[i].getAttribute('data-sort-method') === 'thead') {
firstRow = el.tHead.rows[i];
break;
}
}
if (!firstRow) {
firstRow = el.tHead.rows[el.tHead.rows.length - 1];
}
that.thead = true;
} else {
firstRow = el.rows[0];
}
}
if (!firstRow) return;
var onClick = function() {
if (that.current && that.current !== this) {
that.current.removeAttribute('aria-sort');
}
that.current = this;
that.sortTable(this);
};
// Assume first row is the header and attach a click handler to each.
for (i = 0; i < firstRow.cells.length; i++) {
cell = firstRow.cells[i];
cell.setAttribute('role','columnheader');
if (cell.getAttribute('data-sort-method') !== 'none') {
cell.tabindex = 0;
cell.addEventListener('click', onClick, false);
if (cell.getAttribute('data-sort-default') !== null) {
defaultSort = cell;
}
}
}
if (defaultSort) {
that.current = defaultSort;
that.sortTable(defaultSort);
}
},
sortTable: function(header, update) {
var that = this,
columnKey = header.getAttribute('data-sort-column-key'),
column = header.cellIndex,
sortFunction = caseInsensitiveSort,
item = '',
items = [],
i = that.thead ? 0 : 1,
sortMethod = header.getAttribute('data-sort-method'),
sortOrder = header.getAttribute('aria-sort');
that.table.dispatchEvent(createEvent('beforeSort'));
// If updating an existing sort, direction should remain unchanged.
if (!update) {
if (sortOrder === 'ascending') {
sortOrder = 'descending';
} else if (sortOrder === 'descending') {
sortOrder = 'ascending';
} else {
sortOrder = that.options.descending ? 'descending' : 'ascending';
}
header.setAttribute('aria-sort', sortOrder);
}
if (that.table.rows.length < 2) return;
// If we force a sort method, it is not necessary to check rows
if (!sortMethod) {
var cell;
while (items.length < 3 && i < that.table.tBodies[0].rows.length) {
if(columnKey) {
cell = getCellByKey(that.table.tBodies[0].rows[i].cells, columnKey);
} else {
cell = that.table.tBodies[0].rows[i].cells[column];
}
// Treat missing cells as empty cells
item = cell ? getInnerText(cell) : "";
item = item.trim();
if (item.length > 0) {
items.push(item);
}
i++;
}
if (!items) return;
}
for (i = 0; i < sortOptions.length; i++) {
item = sortOptions[i];
if (sortMethod) {
if (item.name === sortMethod) {
sortFunction = item.sort;
break;
}
} else if (items.every(item.pattern)) {
sortFunction = item.sort;
break;
}
}
that.col = column;
for (i = 0; i < that.table.tBodies.length; i++) {
var newRows = [],
noSorts = {},
j,
totalRows = 0,
noSortsSoFar = 0;
if (that.table.tBodies[i].rows.length < 2) continue;
for (j = 0; j < that.table.tBodies[i].rows.length; j++) {
var cell;
item = that.table.tBodies[i].rows[j];
if (item.getAttribute('data-sort-method') === 'none') {
// keep no-sorts in separate list to be able to insert
// them back at their original position later
noSorts[totalRows] = item;
} else {
if (columnKey) {
cell = getCellByKey(item.cells, columnKey);
} else {
cell = item.cells[that.col];
}
// Save the index for stable sorting
newRows.push({
tr: item,
td: cell ? getInnerText(cell) : '',
index: totalRows
});
}
totalRows++;
}
// Before we append should we reverse the new array or not?
// If we reverse, the sort needs to be `anti-stable` so that
// the double negatives cancel out
if (sortOrder === 'descending') {
newRows.sort(stabilize(sortFunction, true));
} else {
newRows.sort(stabilize(sortFunction, false));
newRows.reverse();
}
// append rows that already exist rather than creating new ones
for (j = 0; j < totalRows; j++) {
if (noSorts[j]) {
// We have a no-sort row for this position, insert it here.
item = noSorts[j];
noSortsSoFar++;
} else {
item = newRows[j - noSortsSoFar].tr;
}
// appendChild(x) moves x if already present somewhere else in the DOM
that.table.tBodies[i].appendChild(item);
}
}
that.table.dispatchEvent(createEvent('afterSort'));
},
refresh: function() {
if (this.current !== undefined) {
this.sortTable(this.current, true);
}
}
};
if (typeof module !== 'undefined' && module.exports) {
module.exports = Tablesort;
} else {
window.Tablesort = Tablesort;
}
})();
PK
n[nt ' autoindex/assets/js/tablesort.number.jsnu [ (function(){
var cleanNumber = function(i) {
return i.replace(/[^\-?0-9.]/g, '');
},
compareNumber = function(a, b) {
a = parseFloat(a);
b = parseFloat(b);
a = isNaN(a) ? 0 : a;
b = isNaN(b) ? 0 : b;
return a - b;
};
Tablesort.extend('number', function(item) {
return item.match(/^[-+]?[£\x24Û¢´€]?\d+\s*([,\.]\d{0,2})/) || // Prefixed currency
item.match(/^[-+]?\d+\s*([,\.]\d{0,2})?[£\x24Û¢´€]/) || // Suffixed currency
item.match(/^[-+]?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/); // Number
}, function(a, b) {
a = cleanNumber(a);
b = cleanNumber(b);
return compareNumber(b, a);
});
}());
PK
n[ew w autoindex/assets/icons/video.svgnu [
PK
n[Fo autoindex/assets/icons/image.svgnu [
PK
n[k k autoindex/assets/icons/file.svgnu [
PK
n[qNO O &