@isomoes/iread 0.1.0
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/LICENSE +21 -0
- package/README.md +127 -0
- package/dist/server/cli.js +84 -0
- package/dist/server/cli.js.map +1 -0
- package/dist/server/db.js +158 -0
- package/dist/server/db.js.map +1 -0
- package/dist/server/feed-service.js +523 -0
- package/dist/server/feed-service.js.map +1 -0
- package/dist/server/fetch-feed.js +83 -0
- package/dist/server/fetch-feed.js.map +1 -0
- package/dist/server/index.js +62 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/opml.js +137 -0
- package/dist/server/opml.js.map +1 -0
- package/dist/server/routes/feeds.js +68 -0
- package/dist/server/routes/feeds.js.map +1 -0
- package/dist/server/routes/helpers.js +44 -0
- package/dist/server/routes/helpers.js.map +1 -0
- package/dist/server/routes/items.js +95 -0
- package/dist/server/routes/items.js.map +1 -0
- package/dist/server/routes/opml.js +50 -0
- package/dist/server/routes/opml.js.map +1 -0
- package/dist/server/sanitize.js +75 -0
- package/dist/server/sanitize.js.map +1 -0
- package/dist/server/ssrf.js +275 -0
- package/dist/server/ssrf.js.map +1 -0
- package/dist/shared/types.js +5 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/web/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
- package/dist/web/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
- package/dist/web/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
- package/dist/web/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
- package/dist/web/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
- package/dist/web/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
- package/dist/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/web/assets/index-BI1j2sXf.css +2 -0
- package/dist/web/assets/index-HhCr0pHx.js +17 -0
- package/dist/web/assets/index-HhCr0pHx.js.map +1 -0
- package/dist/web/index.html +25 -0
- package/package.json +75 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>iread</title>
|
|
7
|
+
<script>
|
|
8
|
+
(function () {
|
|
9
|
+
try {
|
|
10
|
+
var saved = localStorage.getItem('iread-theme'); // 'light' | 'dark' | 'system' | null
|
|
11
|
+
var sys = matchMedia('(prefers-color-scheme: dark)').matches;
|
|
12
|
+
var dark = saved === 'dark' || ((saved === 'system' || !saved) && sys);
|
|
13
|
+
var el = document.documentElement;
|
|
14
|
+
el.classList.toggle('dark', dark);
|
|
15
|
+
if (saved === 'light') el.classList.add('theme-light');
|
|
16
|
+
} catch (e) {}
|
|
17
|
+
})();
|
|
18
|
+
</script>
|
|
19
|
+
<script type="module" crossorigin src="/assets/index-HhCr0pHx.js"></script>
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BI1j2sXf.css">
|
|
21
|
+
</head>
|
|
22
|
+
<body>
|
|
23
|
+
<div id="root"></div>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@isomoes/iread",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Local, single-user RSS/Atom reader with a keyboard-first three-pane web UI, inspired by newsboat.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/isomoes/iread.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/isomoes/iread#readme",
|
|
12
|
+
"bugs": "https://github.com/isomoes/iread/issues",
|
|
13
|
+
"keywords": [
|
|
14
|
+
"rss",
|
|
15
|
+
"atom",
|
|
16
|
+
"feed-reader",
|
|
17
|
+
"rss-reader",
|
|
18
|
+
"newsboat",
|
|
19
|
+
"self-hosted",
|
|
20
|
+
"sqlite"
|
|
21
|
+
],
|
|
22
|
+
"bin": {
|
|
23
|
+
"iread": "dist/server/cli.js"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist"
|
|
27
|
+
],
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"registry": "https://registry.npmjs.org",
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": ">=24"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"dev": "concurrently -n server,web -c blue,magenta \"pnpm dev:server\" \"pnpm dev:web\"",
|
|
37
|
+
"dev:server": "tsx watch --disable-warning=ExperimentalWarning src/server/index.ts",
|
|
38
|
+
"dev:web": "vite",
|
|
39
|
+
"build": "pnpm build:server && pnpm build:web",
|
|
40
|
+
"build:server": "tsc -p tsconfig.server.json",
|
|
41
|
+
"build:web": "vite build",
|
|
42
|
+
"start": "NODE_ENV=production node --disable-warning=ExperimentalWarning dist/server/index.js",
|
|
43
|
+
"typecheck": "tsc -p tsconfig.server.json --noEmit && tsc -p tsconfig.web.json --noEmit",
|
|
44
|
+
"preview": "vite preview",
|
|
45
|
+
"prepack": "pnpm build",
|
|
46
|
+
"clean": "rm -rf dist"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@hono/node-server": "^2.0.4",
|
|
50
|
+
"fast-xml-parser": "^5.2.5",
|
|
51
|
+
"hono": "^4.12.25",
|
|
52
|
+
"rss-parser": "^3.13.0",
|
|
53
|
+
"sanitize-html": "^2.17.4"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@fontsource-variable/geist": "^5.2.9",
|
|
57
|
+
"@fontsource-variable/geist-mono": "^5.2.8",
|
|
58
|
+
"@phosphor-icons/react": "^2.1.10",
|
|
59
|
+
"@tailwindcss/vite": "^4.3.0",
|
|
60
|
+
"@tanstack/react-query": "^5.101.0",
|
|
61
|
+
"@types/node": "^24.10.0",
|
|
62
|
+
"@types/react": "^18.3.12",
|
|
63
|
+
"@types/react-dom": "^18.3.1",
|
|
64
|
+
"@types/sanitize-html": "^2.16.1",
|
|
65
|
+
"@vitejs/plugin-react": "^6.0.2",
|
|
66
|
+
"concurrently": "^10.0.3",
|
|
67
|
+
"motion": "^12.40.0",
|
|
68
|
+
"react": "^18.3.1",
|
|
69
|
+
"react-dom": "^18.3.1",
|
|
70
|
+
"tailwindcss": "^4.3.0",
|
|
71
|
+
"tsx": "^4.22.4",
|
|
72
|
+
"typescript": "^6.0.3",
|
|
73
|
+
"vite": "^8.0.16"
|
|
74
|
+
}
|
|
75
|
+
}
|