Auto commit
All checks were successful
Build Org Website / build (push) Successful in 40s

This commit is contained in:
gitea-actions
2026-08-20 14:03:52 +01:00
parent 0b4a68b81b
commit 7a60d33610
11 changed files with 504 additions and 72 deletions

View File

@@ -7,9 +7,9 @@
<main class="rl-app" id="resource-loader" aria-labelledby="rl-title">
<header class="rl-hero">
<div class="rl-hero__copy">
<p class="rl-eyebrow">Private browser library</p>
<p class="rl-eyebrow">Private synced library</p>
<h1 id="rl-title">Resource Loader</h1>
<p>Keep books, papers, articles, and videos together. Your vaults stay in this browser.</p>
<p>Keep books, papers, articles, and videos together. Metadata and covers follow you across devices.</p>
</div>
<div class="rl-hero__actions">
<label class="rl-vault-picker" for="rl-vault-select">
@@ -25,7 +25,7 @@
<div><span id="rl-stat-active">0</span><small>active</small></div>
<div><span id="rl-stat-backlog">0</span><small>backlog</small></div>
<div><span id="rl-stat-completed">0</span><small>completed</small></div>
<div class="rl-summary__privacy"><span aria-hidden="true"></span><small>stored locally</small></div>
<div class="rl-summary__privacy" id="rl-sync-status" data-state="syncing"><span aria-hidden="true"></span><small>connecting…</small></div>
</section>
<section class="rl-command-bar" aria-label="Resource actions">
@@ -165,8 +165,8 @@
<dialog class="rl-dialog" id="rl-storage-dialog">
<div class="rl-dialog__shell rl-dialog__shell--small">
<header class="rl-dialog__head"><div><p class="rl-eyebrow">This browser</p><h2>Local storage</h2></div><button type="button" class="rl-close" data-close-dialog aria-label="Close">×</button></header>
<div class="rl-dialog__body"><p id="rl-storage-summary">Calculating storage use…</p><p class="rl-help">Export JSON regularly. Clearing browser data removes vault metadata and retained PDFs.</p><button type="button" id="rl-request-persistence">Request persistent storage</button></div>
<footer class="rl-dialog__foot"><button type="button" class="rl-danger" id="rl-clear-data">Clear Resource Loader data</button><button type="button" data-close-dialog>Close</button></footer>
<div class="rl-dialog__body"><p id="rl-storage-summary">Calculating storage use…</p><p class="rl-help">Metadata and thumbnails sync to the server. PDFs remain only in the browser where they were imported.</p><button type="button" id="rl-request-persistence">Request persistent storage</button></div>
<footer class="rl-dialog__foot"><button type="button" class="rl-danger" id="rl-clear-data">Clear this browser's cache &amp; PDFs</button><button type="button" data-close-dialog>Close</button></footer>
</div>
</dialog>

View File

@@ -0,0 +1,284 @@
{
"schemaVersion": 1,
"vaults": [
{
"id": "vault-work",
"name": "Work",
"colour": "#526d82",
"folders": [
{
"id": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"name": "Books",
"createdAt": "2026-08-19T14:26:23.797Z",
"updatedAt": "2026-08-19T14:26:23.797Z"
},
{
"id": "d35a57a9-8090-4f06-beff-9d3013dada38",
"name": "Articles",
"createdAt": "2026-08-19T14:38:08.613Z",
"updatedAt": "2026-08-19T14:38:08.613Z"
}
],
"resources": [
{
"id": "31e35b5e-3ba4-4f70-8075-5ef95ee6d1c1",
"title": "Quick Start Kubernetes",
"creators": [
"Nigel Poulton"
],
"type": "book",
"format": "pdf",
"status": "active",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 102,
"durationMinutes": null,
"url": "",
"publisher": "XeTeX 0.99998",
"published": "20230714",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "4f55a614-1f1d-467c-a6ec-6a8e4710d6a7",
"thumbnailId": "22a8f1f9-3284-4b11-b2ee-76a0439deb4d",
"sessions": [
{
"id": "92b5f660-9f41-4c11-8662-64307062ac9e",
"date": "2026-08-19",
"start": 0,
"end": 25,
"unit": "pages",
"note": "",
"createdAt": "2026-08-19T14:26:05.106Z"
}
],
"createdAt": "2026-08-19T14:25:50.144Z",
"updatedAt": "2026-08-19T14:26:31.349Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "6c3206c8-9421-40e8-8157-783bcef4c2d8",
"title": "You Wont Make It. It Makes You.",
"creators": [],
"type": "article",
"format": "web",
"status": "backlog",
"folderId": "d35a57a9-8090-4f06-beff-9d3013dada38",
"pageCount": null,
"durationMinutes": null,
"url": "https://medium.com/westenberg/you-wont-make-it-it-makes-you-5580fb0ae28c?sharedUserId=nworb",
"publisher": "Medium",
"published": "",
"tags": [],
"description": "",
"notes": "",
"attachmentId": null,
"thumbnailId": null,
"sessions": [],
"createdAt": "2026-08-19T14:29:00.526Z",
"updatedAt": "2026-08-19T14:38:13.471Z"
},
{
"id": "818c243e-4a38-4392-88a5-5622b8d45730",
"title": "Agile Testing A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory",
"creators": [
"Lisa Crispin",
"Janet Gregory"
],
"type": "book",
"format": "physical",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 573,
"durationMinutes": null,
"url": "",
"publisher": "iText 2.1.4 (by lowagie.com)",
"published": "20110315",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "2b489f35-1d4c-4086-996d-10ae9d7892d9",
"thumbnailId": "93d3c67b-7c39-476b-b3c6-144aac8be448",
"sessions": [],
"createdAt": "2026-08-20T11:12:31.407Z",
"updatedAt": "2026-08-20T11:12:31.407Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "801d464e-e6d2-4a97-b9c5-904de80336ff",
"title": "Clean Code A Handbook Of Agile Software Craftsmanship Robert C. Martin",
"creators": [],
"type": "book",
"format": "physical",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 462,
"durationMinutes": null,
"url": "",
"publisher": "",
"published": "20080916",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "3302329d-ca36-4028-ab36-ca89c84dbe9f",
"thumbnailId": "e727a0e3-0d0e-4e17-a394-d77eee7606ca",
"sessions": [],
"createdAt": "2026-08-20T11:12:51.287Z",
"updatedAt": "2026-08-20T11:12:51.287Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "968f0e4e-aec2-4ed1-8aac-372b609ae594",
"title": "Code Complete, Second Edition eBook",
"creators": [
"Steve McConnell"
],
"type": "book",
"format": "physical",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 952,
"durationMinutes": null,
"url": "",
"publisher": "Acrobat Distiller 5.0 (Windows)",
"published": "20130506",
"tags": [
"V413HAV"
],
"description": "",
"notes": "",
"attachmentId": "f105daf1-fb4e-4661-8a26-61f7a82d2f06",
"thumbnailId": "0a9e1ffa-55e4-41fb-b6c3-ef34320ec123",
"sessions": [],
"createdAt": "2026-08-20T11:13:05.046Z",
"updatedAt": "2026-08-20T11:13:05.046Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "1afa8601-5db0-4e37-932b-3c00ccf13614",
"title": "Head First: Design Patterns",
"creators": [
"Freeman",
"Eric"
],
"type": "book",
"format": "physical",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 867,
"durationMinutes": null,
"url": "",
"publisher": "calibre 3.15.0 [https://calibre-ebook.com]",
"published": "20180121",
"tags": [
"COMPUTERS / Software Development & Engineering / General"
],
"description": "<p>This edition of Head First Design Patterns—now updated for Java 8—shows you the tried-and-true, road-tested patterns used by developers to create functional, elegant, reusable, and flexible software. By the time you finish this book, youll be able to take advantage of the best design practices and experiences of those who have fought the beast of software design and triumphed.</p>",
"notes": "",
"attachmentId": "414d1ac4-6934-4191-83de-4164ef4f4e1c",
"thumbnailId": "0df8ad55-2811-4342-a411-471a5f2e3e1e",
"sessions": [],
"createdAt": "2026-08-20T11:13:14.758Z",
"updatedAt": "2026-08-20T11:13:14.758Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "9c9f2902-583b-4d36-96c8-13d0911c5b8e",
"title": "Grokking Algorithms",
"creators": [
"Aditya Y. Bhargava"
],
"type": "book",
"format": "pdf",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 258,
"durationMinutes": null,
"url": "",
"publisher": "Adobe PDF Library 11.0; modified using iText 2.1.7 by 1T3XT",
"published": "20160501",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "b3ae5709-316d-4f02-a810-7515dfa9d073",
"thumbnailId": "2fa590f1-3198-4c6f-bef6-ac90df1d51a3",
"sessions": [],
"createdAt": "2026-08-20T11:13:23.182Z",
"updatedAt": "2026-08-20T11:13:23.182Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "cc4084e8-ee45-485c-b71c-903e896c55db",
"title": "The Clean Coder: A Code of Conduct For Professional Programmers",
"creators": [
"Robert C. Martin"
],
"type": "book",
"format": "physical",
"status": "shelf",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 244,
"durationMinutes": null,
"url": "",
"publisher": "3-Heights(TM) PDF Security Shell 4.8.25.2 (http://www.pdf-tools.com) / pdcat (www.pdf-tools.com)",
"published": "20110428",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "18670834-863f-47fc-ab4b-c2f3f963e2bf",
"thumbnailId": "90d29780-d110-4525-8efe-cd333b836fc9",
"sessions": [],
"createdAt": "2026-08-20T11:13:32.620Z",
"updatedAt": "2026-08-20T11:13:32.620Z",
"attachmentState": "reattach-required-after-import"
},
{
"id": "dd1265d0-00a7-44ad-8f35-9a0fb14a657c",
"title": "The Toyota Way - Jeffrey Liker",
"creators": [
"Jeffrey Liker"
],
"type": "book",
"format": "pdf",
"status": "completed",
"folderId": "d277fa97-1f4a-4386-aba3-d1b9990020f3",
"pageCount": 151,
"durationMinutes": null,
"url": "",
"publisher": "calibre 3.22.1 [https://calibre-ebook.com]",
"published": "20190513",
"tags": [],
"description": "",
"notes": "",
"attachmentId": "0ad4f3e8-303b-4872-ae61-a3c323f510a6",
"thumbnailId": "6f17fcf2-0ce5-41be-b25e-9d3192b6146c",
"sessions": [
{
"id": "1112c865-2990-4f8d-858a-b3fa18f05001",
"date": "2026-08-20",
"start": 0,
"end": 151,
"unit": "pages",
"note": "",
"createdAt": "2026-08-20T11:14:03.816Z"
}
],
"createdAt": "2026-08-20T11:13:46.554Z",
"updatedAt": "2026-08-20T11:14:08.850Z",
"attachmentState": "reattach-required-after-import"
}
],
"createdAt": "2026-08-19T00:00:00.000Z",
"updatedAt": "2026-08-20T11:14:08.850Z"
},
{
"id": "vault-personal-study",
"name": "Personal Study",
"colour": "#9b6b43",
"folders": [],
"resources": [],
"createdAt": "2026-08-19T00:00:00.000Z",
"updatedAt": "2026-08-19T00:00:00.000Z"
}
],
"exportedAt": "2026-08-20T11:15:11.246Z"
}