pigeondrop 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +7 -7
- package/package.json +2 -2
- package/public/index.html +19 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# What's new
|
|
2
2
|
|
|
3
|
+
## v1.6.1 — 2 November 2026
|
|
4
|
+
|
|
5
|
+
- Changed: **The page heading reads Pigeonhole.** It is no longer shown in capitals.
|
|
6
|
+
|
|
7
|
+
## v1.6.0 — 2 November 2026
|
|
8
|
+
|
|
9
|
+
- New: **Filter the file list by name.** Type in the box above the list to show only the files and folders whose names contain what you typed.
|
|
10
|
+
|
|
11
|
+
## v1.5.1 — 16 October 2026
|
|
12
|
+
|
|
13
|
+
- Changed: **Pigeonhole's code now lives at github.com/cventour/pigeondrop.** Old links and install commands still work.
|
|
14
|
+
|
|
3
15
|
## v1.5.0 — 16 October 2026
|
|
4
16
|
|
|
5
17
|
- New: **Run it with npx.** `npx pigeondrop` starts Pigeonhole in the folder you are in, with nothing to install. Its files and settings stay in that folder.
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ Also WSL, and anything else with bash.
|
|
|
61
61
|
## Install it
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
curl -fsSL https://raw.githubusercontent.com/cventour/
|
|
64
|
+
curl -fsSL https://raw.githubusercontent.com/cventour/pigeondrop/main/install.sh -o install.sh
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Read it — it is about a hundred lines and does nothing surprising. Then:
|
|
@@ -97,7 +97,7 @@ Run the script again later and it updates the copy it installed.
|
|
|
97
97
|
The script saves typing, not much else. The manual version is three lines:
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
git clone https://github.com/cventour/
|
|
100
|
+
git clone https://github.com/cventour/pigeondrop.git
|
|
101
101
|
cd pigeonhole
|
|
102
102
|
node server.js
|
|
103
103
|
```
|
|
@@ -243,7 +243,7 @@ PowerShell 7.
|
|
|
243
243
|
## Install it
|
|
244
244
|
|
|
245
245
|
```powershell
|
|
246
|
-
irm https://raw.githubusercontent.com/cventour/
|
|
246
|
+
irm https://raw.githubusercontent.com/cventour/pigeondrop/main/install.ps1 -OutFile install.ps1
|
|
247
247
|
```
|
|
248
248
|
|
|
249
249
|
Read it — it is about a hundred lines and does nothing surprising. Then:
|
|
@@ -285,7 +285,7 @@ Run the script again later and it updates the copy it installed.
|
|
|
285
285
|
The script saves typing, not much else. The manual version is three lines:
|
|
286
286
|
|
|
287
287
|
```powershell
|
|
288
|
-
git clone https://github.com/cventour/
|
|
288
|
+
git clone https://github.com/cventour/pigeondrop.git
|
|
289
289
|
cd pigeonhole
|
|
290
290
|
node server.js
|
|
291
291
|
```
|
|
@@ -294,9 +294,9 @@ Windows does not ship with git, so on a fresh machine that first line fails.
|
|
|
294
294
|
Take the zip instead — this needs nothing that is not already there:
|
|
295
295
|
|
|
296
296
|
```powershell
|
|
297
|
-
irm https://github.com/cventour/
|
|
298
|
-
Expand-Archive
|
|
299
|
-
cd
|
|
297
|
+
irm https://github.com/cventour/pigeondrop/archive/refs/heads/main.zip -OutFile pigeondrop.zip
|
|
298
|
+
Expand-Archive pigeondrop.zip -DestinationPath .
|
|
299
|
+
cd pigeondrop-main
|
|
300
300
|
node server.js
|
|
301
301
|
```
|
|
302
302
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pigeondrop",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "A small self-hosted file manager with no dependencies. Drag-and-drop upload with progress, browse, rename, delete, download files or folders as zip.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "server.js",
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"engines": { "node": ">=20" },
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"keywords": ["file-manager", "upload", "self-hosted", "zero-dependency", "http"],
|
|
12
|
-
"repository": { "type": "git", "url": "git+https://github.com/cventour/
|
|
12
|
+
"repository": { "type": "git", "url": "git+https://github.com/cventour/pigeondrop.git" },
|
|
13
13
|
"files": ["server.js", "public", "icon.svg", "README.md", "LICENSE", "CHANGELOG.md"]
|
|
14
14
|
}
|
package/public/index.html
CHANGED
|
@@ -45,7 +45,7 @@ body{margin:0;background:var(--panel);color:var(--ink);font-family:var(--sans);
|
|
|
45
45
|
|
|
46
46
|
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--gut)}
|
|
47
47
|
header{padding:clamp(28px,5vw,48px) 0 20px}
|
|
48
|
-
h1{font-family:var(--narrow);font-weight:700;margin:0;
|
|
48
|
+
h1{font-family:var(--narrow);font-weight:700;margin:0;
|
|
49
49
|
font-size:clamp(1.6rem,4vw,2.5rem);line-height:1;letter-spacing:-.02em}
|
|
50
50
|
.brand{display:flex;align-items:center;gap:14px}
|
|
51
51
|
.brand svg{width:clamp(36px,6vw,48px);height:auto;flex:none}
|
|
@@ -103,6 +103,10 @@ button.act.primary:hover{background:var(--signal);color:#0d0f11;border-color:var
|
|
|
103
103
|
.q-retry:hover{background:var(--signal);color:#0d0f11;border-color:var(--signal)}
|
|
104
104
|
|
|
105
105
|
/* --- listing --- */
|
|
106
|
+
.search{display:block;width:100%;padding:10px 12px;margin:0 0 -1px;
|
|
107
|
+
font-family:var(--mono);font-size:.85rem;color:var(--ink);
|
|
108
|
+
background:var(--panel);border:1px solid var(--rule)}
|
|
109
|
+
.search:focus{outline:none;border-color:var(--signal)}
|
|
106
110
|
.tablewrap{border:1px solid var(--rule);background:var(--panel-lo);overflow-x:auto}
|
|
107
111
|
table{width:100%;border-collapse:collapse;min-width:520px}
|
|
108
112
|
th{text-align:left;font-family:var(--mono);font-weight:500;font-size:.75rem;
|
|
@@ -262,6 +266,7 @@ footer a{color:var(--steel-dim)}
|
|
|
262
266
|
<div class="queue" id="queue"></div>
|
|
263
267
|
<p class="msg" id="msg" role="status"></p>
|
|
264
268
|
|
|
269
|
+
<input type="search" class="search" id="search" placeholder="Filter by name" aria-label="Filter files by name" autocomplete="off" spellcheck="false">
|
|
265
270
|
<div class="tablewrap">
|
|
266
271
|
<table>
|
|
267
272
|
<thead><tr>
|
|
@@ -278,7 +283,7 @@ footer a{color:var(--steel-dim)}
|
|
|
278
283
|
<span id="rootname"></span>
|
|
279
284
|
<span id="scanstate"></span>
|
|
280
285
|
<span>no authentication — trusted networks only</span>
|
|
281
|
-
<span><a href="https://github.com/cventour/
|
|
286
|
+
<span><a href="https://github.com/cventour/pigeondrop">pigeonhole</a></span>
|
|
282
287
|
</footer>
|
|
283
288
|
</div>
|
|
284
289
|
|
|
@@ -462,7 +467,7 @@ function drawCrumbs() {
|
|
|
462
467
|
$('drop-target').textContent = cwd;
|
|
463
468
|
}
|
|
464
469
|
|
|
465
|
-
async function go(dir) { cwd = dir || '/'; selected.clear(); await refresh(); }
|
|
470
|
+
async function go(dir) { cwd = dir || '/'; selected.clear(); $('search').value = ''; await refresh(); }
|
|
466
471
|
|
|
467
472
|
// --- selection and download ------------------------------------------------
|
|
468
473
|
// Paths of the ticked rows in this folder. A single file downloads as itself;
|
|
@@ -595,6 +600,8 @@ for (const th of document.querySelectorAll('th[data-k]')) {
|
|
|
595
600
|
};
|
|
596
601
|
}
|
|
597
602
|
|
|
603
|
+
$('search').oninput = () => render();
|
|
604
|
+
|
|
598
605
|
async function refresh() {
|
|
599
606
|
drawCrumbs();
|
|
600
607
|
let data;
|
|
@@ -630,7 +637,15 @@ function render() {
|
|
|
630
637
|
return;
|
|
631
638
|
}
|
|
632
639
|
|
|
633
|
-
|
|
640
|
+
const q = $('search').value.trim().toLowerCase();
|
|
641
|
+
const list = q ? items.filter(it => it.name.toLowerCase().includes(q)) : items;
|
|
642
|
+
if (q && !list.length) {
|
|
643
|
+
const tr = document.createElement('tr');
|
|
644
|
+
tr.innerHTML = '<td colspan="5" class="empty">No names match.</td>';
|
|
645
|
+
rows.append(tr);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
for (const it of sorted(list)) {
|
|
634
649
|
const full = (cwd === '/' ? '' : cwd) + '/' + it.name;
|
|
635
650
|
const tr = document.createElement('tr');
|
|
636
651
|
tr.innerHTML = `
|