linkpress 0.2.4 → 0.3.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/README.ko.md +218 -0
- package/README.md +13 -4
- package/dist/ai.d.ts +2 -1
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +1 -1
- package/dist/ai.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +8 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/db.d.ts +2 -0
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +27 -2
- package/dist/db.js.map +1 -1
- package/dist/index.js +8 -8
- package/dist/magazine.js +147 -12
- package/dist/magazine.js.map +1 -1
- package/dist/process.d.ts +1 -0
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +6 -1
- package/dist/process.js.map +1 -1
- package/dist/slack/browser-auth.js +1 -1
- package/dist/slack/browser-auth.js.map +1 -1
- package/dist/slack/sync.d.ts.map +1 -1
- package/dist/slack/sync.js +41 -32
- package/dist/slack/sync.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.ko.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/FullLogo_Transparent.png" alt="LinkPress" width="400">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>슬랙 링크를 나만의 기술 매거진으로!</strong>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="#빠른-시작">빠른 시작</a> · <a href="#기능">기능</a> · <a href="#명령어">명령어</a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="README.md">English</a>
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="https://www.npmjs.com/package/linkpress"><img src="https://img.shields.io/npm/v/linkpress.svg" alt="npm version"></a>
|
|
19
|
+
<img src="https://img.shields.io/github/license/mindori/linkpress" alt="license">
|
|
20
|
+
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node version">
|
|
21
|
+
<img src="https://img.shields.io/badge/AI-Claude-blueviolet" alt="AI powered by Claude">
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<img src="assets/serve.gif" alt="LinkPress Demo" width="800">
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 왜 LinkPress인가요?
|
|
32
|
+
|
|
33
|
+
매일 슬랙에 좋은 기술 아티클이 공유됩니다. 하지만 쌓이기만 하고, 묻히고, 결국 읽지 못합니다.
|
|
34
|
+
|
|
35
|
+
**LinkPress가 이 문제를 해결합니다.** 슬랙 채널에서 링크를 수집하고, AI로 요약하고, 실제로 읽고 싶은 멋진 매거진을 생성합니다.
|
|
36
|
+
|
|
37
|
+
- 🤖 **AI 요약** — 클릭하기 전에 핵심 파악 (Claude 지원)
|
|
38
|
+
- 📰 **매거진 스타일 UI** — 지루한 목록이 아닌, 큐레이션된 읽기 경험
|
|
39
|
+
- 🔒 **100% 로컬** — 데이터가 내 컴퓨터에만 저장
|
|
40
|
+
- ⚡ **5분 설치** — 설치하고, 슬랙 연결하면 끝
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## 요구 사항
|
|
44
|
+
|
|
45
|
+
- Node.js 18+
|
|
46
|
+
- AI API 키 (Anthropic)
|
|
47
|
+
- 슬랙 계정
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## 빠른 시작
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 전역 설치
|
|
54
|
+
npm install -g linkpress
|
|
55
|
+
|
|
56
|
+
# 초기화 (AI 프로바이더 설정)
|
|
57
|
+
linkpress init
|
|
58
|
+
|
|
59
|
+
# 슬랙 워크스페이스 연결
|
|
60
|
+
linkpress source add slack
|
|
61
|
+
|
|
62
|
+
# 동기화, 생성, 실행!
|
|
63
|
+
linkpress sync
|
|
64
|
+
linkpress generate
|
|
65
|
+
linkpress serve
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## Step 1: 슬랙 연결
|
|
70
|
+
|
|
71
|
+
자동 토큰 추출로 슬랙 워크스페이스를 연결합니다. 로그인만 하면 나머지는 자동으로 처리됩니다.
|
|
72
|
+
|
|
73
|
+
> **🚀 Coming Soon:** LinkPress SaaS에서 **Slack OAuth**를 지원할 예정입니다 — 원클릭으로 워크스페이스 연결이 가능해집니다.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
linkpress source add slack
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
<p align="center">
|
|
80
|
+
<img src="assets/add.gif" alt="Connect Slack" width="800">
|
|
81
|
+
</p>
|
|
82
|
+
|
|
83
|
+
> **⚠️ 중요:** 브라우저가 열리면 **슬랙 데스크톱 앱으로 열지 마세요**.
|
|
84
|
+
> 반드시 **"브라우저에서 슬랙 사용"**을 클릭해야 합니다.
|
|
85
|
+
> 자동 토큰 추출은 브라우저에서만 작동합니다.
|
|
86
|
+
|
|
87
|
+
> **📝 참고:** **자동** 방식(기본값)을 권장합니다. 자동 추출이 실패하면
|
|
88
|
+
> **수동** 모드를 선택하여 브라우저 DevTools에서 토큰을 복사할 수 있습니다.
|
|
89
|
+
> CLI가 과정을 안내합니다.
|
|
90
|
+
|
|
91
|
+
실시간 자동완성으로 모니터링할 채널을 선택하세요. **저장된 메시지(나에게 보낸 DM)**가 기본으로 추가됩니다. 검색어를 입력하고, Enter로 선택하고, "Done"을 선택하면 완료됩니다.
|
|
92
|
+
|
|
93
|
+
<p align="center">
|
|
94
|
+
<img src="assets/select.gif" alt="Channel Selection" width="800">
|
|
95
|
+
</p>
|
|
96
|
+
|
|
97
|
+
> **💡 팁:** 저장된 메시지가 링크 큐레이션의 가장 쉬운 방법입니다 — 슬랙에서 관심 있는 아티클을 나에게 전달하기만 하면 됩니다!
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
## Step 2: 링크 동기화
|
|
101
|
+
|
|
102
|
+
연결된 슬랙 채널에서 링크를 가져옵니다. AI가 자동으로 노이즈(내부 문서, 동영상 등)를 필터링하고 가치 있는 기술 콘텐츠만 남깁니다.
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
linkpress sync
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
<p align="center">
|
|
109
|
+
<img src="assets/sync.gif" alt="Sync Links" width="800">
|
|
110
|
+
</p>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
## Step 3: 매거진 생성
|
|
114
|
+
|
|
115
|
+
> **⚠️ 중요:** 슬랙 토큰은 주기적으로 만료됩니다. 동기화 중 `invalid_auth` 에러가 발생하면 `linkpress source add slack`을 다시 실행하여 토큰을 갱신하세요.
|
|
116
|
+
|
|
117
|
+
AI로 아티클을 처리하고 나만의 매거진을 생성합니다. 각 아티클에 다음이 포함됩니다:
|
|
118
|
+
- 눈길을 끄는 헤드라인
|
|
119
|
+
- TL;DR 요약
|
|
120
|
+
- 핵심 포인트
|
|
121
|
+
- 난이도
|
|
122
|
+
- 읽기 시간
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
linkpress generate
|
|
126
|
+
linkpress serve
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
<p align="center">
|
|
130
|
+
<img src="assets/generate.gif" alt="Generate Magazine" width="800">
|
|
131
|
+
</p>
|
|
132
|
+
|
|
133
|
+
> **참고:** 봇 탐지가 있는 일부 웹사이트는 스크래핑에 실패할 수 있습니다 (HTTP 403). 이런 아티클은 처리 중 건너뛰지만, 원본 URL로 직접 접근할 수 있습니다.
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
## 기능
|
|
137
|
+
|
|
138
|
+
### 🤖 AI 기반
|
|
139
|
+
- **Anthropic** (Claude) - 현재 지원
|
|
140
|
+
- **OpenAI** (GPT) - 지원 예정
|
|
141
|
+
- **Google** (Gemini) - 지원 예정
|
|
142
|
+
|
|
143
|
+
### 📊 스마트 분류
|
|
144
|
+
아티클이 자동으로 태그되고 분류됩니다:
|
|
145
|
+
- 주제 (Frontend, Backend, DevOps, AI/ML 등)
|
|
146
|
+
- 난이도 (입문, 중급, 고급)
|
|
147
|
+
- 읽기 시간
|
|
148
|
+
|
|
149
|
+
### 🌙 라이트 & 다크 테마
|
|
150
|
+
라이트 모드와 다크 모드를 전환할 수 있습니다. 설정이 저장됩니다.
|
|
151
|
+
|
|
152
|
+
### ✅ 읽음/안읽음 추적
|
|
153
|
+
읽은 것을 추적합니다. 클릭 한 번으로 아티클을 읽음으로 표시할 수 있습니다.
|
|
154
|
+
|
|
155
|
+
### 👀 워치 모드
|
|
156
|
+
실시간 모니터링 — 새 아티클이 공유되면 자동으로 나타납니다.
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
linkpress serve --watch
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 🌍 다국어 지원
|
|
163
|
+
원하는 언어로 AI 요약을 받을 수 있습니다 (English, 한국어, 日本語, 中文 등)
|
|
164
|
+
|
|
165
|
+
## 명령어
|
|
166
|
+
|
|
167
|
+
| 명령어 | 설명 |
|
|
168
|
+
|--------|------|
|
|
169
|
+
| `linkpress init` | AI 프로바이더 및 설정 구성 |
|
|
170
|
+
| `linkpress source add slack` | 슬랙 워크스페이스 연결 |
|
|
171
|
+
| `linkpress source list` | 연결된 소스 목록 |
|
|
172
|
+
| `linkpress source remove slack` | 워크스페이스 제거 |
|
|
173
|
+
| `linkpress sync` | 슬랙에서 링크 가져오기 |
|
|
174
|
+
| `linkpress add <url>` | 수동으로 URL 추가 |
|
|
175
|
+
| `linkpress list` | 저장된 아티클 보기 |
|
|
176
|
+
| `linkpress generate` | 아티클 처리 및 매거진 생성 |
|
|
177
|
+
| `linkpress generate --skip-process` | AI 처리 없이 재생성 |
|
|
178
|
+
| `linkpress serve` | 로컬 서버 시작 (localhost:3000) |
|
|
179
|
+
| `linkpress serve --watch` | 실시간 모니터링으로 시작 |
|
|
180
|
+
| `linkpress clear` | 모든 아티클 삭제 |
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
## 설정
|
|
184
|
+
|
|
185
|
+
설정은 `~/.linkpress/config.yaml`에 저장됩니다:
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
ai:
|
|
189
|
+
provider: anthropic # anthropic, openai, gemini
|
|
190
|
+
model: claude-sonnet-4-5-20250929
|
|
191
|
+
apiKey: sk-ant-...
|
|
192
|
+
language: 한국어 # 요약 언어
|
|
193
|
+
|
|
194
|
+
sources:
|
|
195
|
+
slack:
|
|
196
|
+
- workspace: MyWorkspace
|
|
197
|
+
channels:
|
|
198
|
+
- id: C01234567
|
|
199
|
+
name: tech-links
|
|
200
|
+
|
|
201
|
+
output:
|
|
202
|
+
directory: ~/.linkpress/output
|
|
203
|
+
format: html
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
## 기여하기
|
|
208
|
+
|
|
209
|
+
기여를 환영합니다!
|
|
210
|
+
|
|
211
|
+
- 🐛 버그 제보
|
|
212
|
+
- 💡 기능 제안
|
|
213
|
+
- 🔧 풀 리퀘스트
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
## 저자
|
|
217
|
+
|
|
218
|
+
[Changmin (Chris) Kang](https://github.com/mindori)
|
package/README.md
CHANGED
|
@@ -3,12 +3,19 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>Turn your Slack links into a personal tech magazine
|
|
6
|
+
<strong>Turn your Slack links into a personal tech magazine!</strong>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="#quick-start">Quick Start</a> · <a href="#features">Features</a> · <a href="#commands">Commands</a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="README.ko.md">한국어</a>
|
|
7
15
|
</p>
|
|
8
16
|
|
|
9
17
|
<p align="center">
|
|
10
18
|
<a href="https://www.npmjs.com/package/linkpress"><img src="https://img.shields.io/npm/v/linkpress.svg" alt="npm version"></a>
|
|
11
|
-
<a href="https://www.npmjs.com/package/linkpress"><img src="https://img.shields.io/npm/dm/linkpress.svg" alt="npm downloads"></a>
|
|
12
19
|
<img src="https://img.shields.io/github/license/mindori/linkpress" alt="license">
|
|
13
20
|
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node version">
|
|
14
21
|
<img src="https://img.shields.io/badge/AI-Claude-blueviolet" alt="AI powered by Claude">
|
|
@@ -18,6 +25,7 @@
|
|
|
18
25
|
<img src="assets/serve.gif" alt="LinkPress Demo" width="800">
|
|
19
26
|
</p>
|
|
20
27
|
|
|
28
|
+
|
|
21
29
|
---
|
|
22
30
|
|
|
23
31
|
## Why LinkPress?
|
|
@@ -60,7 +68,9 @@ linkpress serve
|
|
|
60
68
|
|
|
61
69
|
## Step 1: Connect Slack
|
|
62
70
|
|
|
63
|
-
Connect your Slack workspace with automatic token extraction.
|
|
71
|
+
Connect your Slack workspace with automatic token extraction. Just log in and we'll handle the rest.
|
|
72
|
+
|
|
73
|
+
> **🚀 Coming Soon:** LinkPress SaaS will support **Slack OAuth** for one-click workspace connection — no manual login required.
|
|
64
74
|
|
|
65
75
|
```bash
|
|
66
76
|
linkpress source add slack
|
|
@@ -151,7 +161,6 @@ linkpress serve --watch
|
|
|
151
161
|
### 🌍 Multilingual
|
|
152
162
|
AI summaries in your preferred language (English, 한국어, 日本語, 中文, etc.)
|
|
153
163
|
|
|
154
|
-
|
|
155
164
|
## Commands
|
|
156
165
|
|
|
157
166
|
| Command | Description |
|
package/dist/ai.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { serializeSummary, parseSummary, fetchModels, FALLBACK_MODELS, type ArticleSummary, type ContentClassification, type ModelInfo } from '@linkpress/core';
|
|
1
|
+
import { serializeSummary, parseSummary, fetchModels, FALLBACK_MODELS, type ArticleSummary, type ContentClassification, type ModelInfo, type AIConfig } from '@linkpress/core';
|
|
2
2
|
export { serializeSummary, parseSummary, fetchModels, FALLBACK_MODELS };
|
|
3
3
|
export type { ArticleSummary, ContentClassification, ModelInfo };
|
|
4
|
+
export declare function getAIConfig(): AIConfig;
|
|
4
5
|
export declare function summarizeArticle(title: string, content: string, url: string): Promise<ArticleSummary>;
|
|
5
6
|
export declare function classifyContent(messageText: string, url: string, title: string, description: string): Promise<ContentClassification>;
|
|
6
7
|
//# sourceMappingURL=ai.d.ts.map
|
package/dist/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC;AAEjE,wBAAgB,WAAW,IAAI,QAAQ,CAQtC;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAEhC"}
|
package/dist/ai.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { summarizeArticle as coreSummarize, classifyContent as coreClassify, serializeSummary, parseSummary, fetchModels, FALLBACK_MODELS, } from '@linkpress/core';
|
|
2
2
|
import { loadConfig } from './config.js';
|
|
3
3
|
export { serializeSummary, parseSummary, fetchModels, FALLBACK_MODELS };
|
|
4
|
-
function getAIConfig() {
|
|
4
|
+
export function getAIConfig() {
|
|
5
5
|
const config = loadConfig();
|
|
6
6
|
return {
|
|
7
7
|
provider: config.ai.provider,
|
package/dist/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,aAAa,EACjC,eAAe,IAAI,YAAY,EAC/B,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAGxE,
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,IAAI,aAAa,EACjC,eAAe,IAAI,YAAY,EAC/B,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAGxE,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ;QAC5B,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK;QACtB,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAa,EACb,OAAe,EACf,GAAW;IAEX,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,GAAW,EACX,KAAa,EACb,WAAmB;IAEnB,OAAO,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,eAAO,MAAM,WAAW,SAsIpB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -117,11 +117,19 @@ export const initCommand = new Command('init')
|
|
|
117
117
|
default: config.output.format,
|
|
118
118
|
}]);
|
|
119
119
|
config.output.format = outputFormat;
|
|
120
|
+
const { skipOutdated } = await inquirer.prompt([{
|
|
121
|
+
type: 'confirm',
|
|
122
|
+
name: 'skipOutdated',
|
|
123
|
+
message: 'Filter out deprecated/outdated content? (experimental)',
|
|
124
|
+
default: config.filter?.skipOutdated ?? false,
|
|
125
|
+
}]);
|
|
126
|
+
config.filter = { skipOutdated };
|
|
120
127
|
saveConfig(config);
|
|
121
128
|
console.log(chalk.green('\n✅ Configuration saved to'), chalk.cyan(getConfigDir()));
|
|
122
129
|
console.log(chalk.dim(` Provider: ${providerName}`));
|
|
123
130
|
console.log(chalk.dim(` Model: ${finalModel}`));
|
|
124
131
|
console.log(chalk.dim(` Language: ${finalLanguage}`));
|
|
132
|
+
console.log(chalk.dim(` Outdated filter: ${skipOutdated ? 'enabled' : 'disabled'}`));
|
|
125
133
|
console.log(chalk.dim('\nNext steps:'));
|
|
126
134
|
console.log(chalk.dim(' 1. Add a Slack source:'), chalk.white('linkpress source add slack'));
|
|
127
135
|
console.log(chalk.dim(' 2. Or add URLs manually:'), chalk.white('linkpress add <url>'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAGxE,MAAM,gBAAgB,GAAG;IACvB,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,WAAW,EAAE;IAClD,oEAAoE;IACpE,6CAA6C;IAC7C,gDAAgD;CACjD,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACrC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC7B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACrC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACzC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACrC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,WAAW,EAAE;CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC;IAExF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,cAAc,YAAY,WAAW;YAC9C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,OAAO,sBAAsB,CAAC;gBAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC,CAAC;IAEJ,MAAM,OAAO,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5D,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,QAAsB,EAAE,MAAM,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAC7D,MAAM,GAAG,eAAe,CAAC,QAAsB,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,SAAS,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG;YACpD,KAAK,EAAE,CAAC,CAAC,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,SAAS,EAAE;QACxB,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,YAAY,EAAE;KAC7D,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC,CAAC;IAEJ,IAAI,UAAU,GAAG,aAAa,CAAC;IAE/B,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC,CAAC;QACJ,UAAU,GAAG,WAAW,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAsB,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC;IAE1B,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,+CAA+C;YACxD,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,SAAS;SACzC,CAAC,CAAC,CAAC;IAEJ,IAAI,aAAa,GAAG,gBAAgB,CAAC;IAErC,IAAI,gBAAgB,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,uBAAuB,CAAC;oBACjC,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC,CAAC;QACJ,aAAa,GAAG,cAAc,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC;IAEnC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;YACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;SAC9B,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;IAEpC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAWnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAEtD,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,EAAE,EAAE;YACF,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,SAAS;SACpB;QACD,MAAM,EAAE;YACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,MAAM;SACf;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,eAAe,EAAE,CAAC;IAElB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAEtD,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,EAAE;QACX,EAAE,EAAE;YACF,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,SAAS;SACpB;QACD,MAAM,EAAE;YACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,MAAM;SACf;QACD,MAAM,EAAE;YACN,YAAY,EAAE,KAAK;SACpB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,eAAe,EAAE,CAAC;IAElB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/db.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export declare function getArticlesForReprocess(limit?: number): Article[];
|
|
|
7
7
|
export declare function getAllArticles(limit?: number): Article[];
|
|
8
8
|
export declare function updateArticle(article: Article): void;
|
|
9
9
|
export declare function articleExists(url: string): boolean;
|
|
10
|
+
export declare function getExistingUrls(urls: string[]): Set<string>;
|
|
11
|
+
export declare function getProcessedArticles(limit?: number): Article[];
|
|
10
12
|
export declare function clearAllArticles(): number;
|
|
11
13
|
export declare function markAsRead(articleId: string): void;
|
|
12
14
|
export declare function markAsUnread(articleId: string): void;
|
package/dist/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAOzC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAOzC;AAwDD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBpD;AAED,wBAAgB,sBAAsB,IAAI,OAAO,EAAE,CAOlD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,SAAM,GAAG,OAAO,EAAE,CAO9D;AAED,wBAAgB,cAAc,CAAC,KAAK,SAAM,GAAG,OAAO,EAAE,CAOrD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwBpD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIlD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAU3D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,SAAM,GAAG,OAAO,EAAE,CAO3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAMlD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGpD;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAIrE"}
|
package/dist/db.js
CHANGED
|
@@ -48,6 +48,15 @@ function migrateSchema(database) {
|
|
|
48
48
|
if (!columnNames.includes('read_at')) {
|
|
49
49
|
database.exec('ALTER TABLE articles ADD COLUMN read_at TEXT');
|
|
50
50
|
}
|
|
51
|
+
if (!columnNames.includes('is_outdated')) {
|
|
52
|
+
database.exec('ALTER TABLE articles ADD COLUMN is_outdated INTEGER DEFAULT 0');
|
|
53
|
+
}
|
|
54
|
+
if (!columnNames.includes('outdated_reason')) {
|
|
55
|
+
database.exec('ALTER TABLE articles ADD COLUMN outdated_reason TEXT');
|
|
56
|
+
}
|
|
57
|
+
if (!columnNames.includes('published_at')) {
|
|
58
|
+
database.exec('ALTER TABLE articles ADD COLUMN published_at TEXT');
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
61
|
export function insertArticle(article) {
|
|
53
62
|
const database = getDb();
|
|
@@ -87,16 +96,31 @@ export function updateArticle(article) {
|
|
|
87
96
|
UPDATE articles SET
|
|
88
97
|
title = ?, description = ?, content = ?, summary = ?,
|
|
89
98
|
tags = ?, difficulty = ?, reading_time_minutes = ?,
|
|
90
|
-
image = ?, source_label = ?, processed_at = ?
|
|
99
|
+
image = ?, source_label = ?, processed_at = ?, published_at = ?
|
|
91
100
|
WHERE id = ?
|
|
92
101
|
`);
|
|
93
|
-
stmt.run(article.title, article.description ?? null, article.content ?? null, article.summary ?? null, JSON.stringify(article.tags), article.difficulty ?? null, article.readingTimeMinutes ?? null, article.image ?? null, article.sourceLabel ?? null, article.processedAt?.toISOString() ?? null, article.id);
|
|
102
|
+
stmt.run(article.title, article.description ?? null, article.content ?? null, article.summary ?? null, JSON.stringify(article.tags), article.difficulty ?? null, article.readingTimeMinutes ?? null, article.image ?? null, article.sourceLabel ?? null, article.processedAt?.toISOString() ?? null, article.publishedAt?.toISOString() ?? null, article.id);
|
|
94
103
|
}
|
|
95
104
|
export function articleExists(url) {
|
|
96
105
|
const database = getDb();
|
|
97
106
|
const row = database.prepare('SELECT 1 FROM articles WHERE url = ?').get(url);
|
|
98
107
|
return !!row;
|
|
99
108
|
}
|
|
109
|
+
export function getExistingUrls(urls) {
|
|
110
|
+
if (urls.length === 0)
|
|
111
|
+
return new Set();
|
|
112
|
+
const database = getDb();
|
|
113
|
+
const placeholders = urls.map(() => '?').join(',');
|
|
114
|
+
const rows = database.prepare(`SELECT url FROM articles WHERE url IN (${placeholders})`).all(...urls);
|
|
115
|
+
return new Set(rows.map(r => r.url));
|
|
116
|
+
}
|
|
117
|
+
export function getProcessedArticles(limit = 100) {
|
|
118
|
+
const database = getDb();
|
|
119
|
+
const rows = database.prepare(`
|
|
120
|
+
SELECT * FROM articles WHERE processed_at IS NOT NULL ORDER BY created_at DESC LIMIT ?
|
|
121
|
+
`).all(limit);
|
|
122
|
+
return rows.map(rowToArticle);
|
|
123
|
+
}
|
|
100
124
|
export function clearAllArticles() {
|
|
101
125
|
const database = getDb();
|
|
102
126
|
const countResult = database.prepare('SELECT COUNT(*) as count FROM articles').get();
|
|
@@ -135,6 +159,7 @@ function rowToArticle(row) {
|
|
|
135
159
|
createdAt: new Date(row.created_at),
|
|
136
160
|
processedAt: row.processed_at ? new Date(row.processed_at) : undefined,
|
|
137
161
|
readAt: row.read_at ? new Date(row.read_at) : undefined,
|
|
162
|
+
publishedAt: row.published_at ? new Date(row.published_at) : undefined,
|
|
138
163
|
};
|
|
139
164
|
}
|
|
140
165
|
//# sourceMappingURL=db.js.map
|
package/dist/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { program } from
|
|
3
|
-
import { addCommand, clearCommand, generateCommand, initCommand, listCommand, serveCommand, sourceCommand, syncCommand, } from
|
|
4
|
-
process.on(
|
|
5
|
-
if (error.name ===
|
|
6
|
-
console.log(
|
|
2
|
+
import { program } from "commander";
|
|
3
|
+
import { addCommand, clearCommand, generateCommand, initCommand, listCommand, serveCommand, sourceCommand, syncCommand, } from "./commands/index.js";
|
|
4
|
+
process.on("uncaughtException", (error) => {
|
|
5
|
+
if (error.name === "ExitPromptError") {
|
|
6
|
+
console.log("\n");
|
|
7
7
|
process.exit(0);
|
|
8
8
|
}
|
|
9
9
|
throw error;
|
|
10
10
|
});
|
|
11
11
|
program
|
|
12
|
-
.name(
|
|
13
|
-
.description(
|
|
14
|
-
.version(
|
|
12
|
+
.name("linkpress")
|
|
13
|
+
.description("Turn your Slack links into a personal tech magazine")
|
|
14
|
+
.version("0.3.1");
|
|
15
15
|
program.addCommand(initCommand);
|
|
16
16
|
program.addCommand(addCommand);
|
|
17
17
|
program.addCommand(listCommand);
|
package/dist/magazine.js
CHANGED
|
@@ -17,7 +17,17 @@ export function generateMagazine(options = {}) {
|
|
|
17
17
|
fs.writeFileSync(outputPath, html, 'utf-8');
|
|
18
18
|
return outputPath;
|
|
19
19
|
}
|
|
20
|
+
const DIFFICULTY_LABELS = {
|
|
21
|
+
'한국어': { beginner: '입문', intermediate: '중급', advanced: '심화' },
|
|
22
|
+
'default': { beginner: 'Beginner', intermediate: 'Intermediate', advanced: 'Advanced' },
|
|
23
|
+
};
|
|
24
|
+
function getDifficultyLabel(difficulty, language) {
|
|
25
|
+
const labels = DIFFICULTY_LABELS[language] || DIFFICULTY_LABELS['default'];
|
|
26
|
+
return labels[difficulty] || labels['intermediate'];
|
|
27
|
+
}
|
|
20
28
|
function renderMagazineHtml(articles) {
|
|
29
|
+
const config = loadConfig();
|
|
30
|
+
const language = config.ai?.language || 'English';
|
|
21
31
|
const now = new Date();
|
|
22
32
|
const dateStr = now.toLocaleDateString('en-US', {
|
|
23
33
|
year: 'numeric',
|
|
@@ -42,9 +52,9 @@ function renderMagazineHtml(articles) {
|
|
|
42
52
|
totalArticles: unreadArticles.length,
|
|
43
53
|
totalReadingTime: unreadReadingTime,
|
|
44
54
|
};
|
|
45
|
-
const featuredHtml = featuredArticle ? renderFeaturedCard(featuredArticle, issueStats) : '';
|
|
46
|
-
const unreadCards = remainingUnread.map((article, idx) => renderArticleCard(article, idx)).join('\n');
|
|
47
|
-
const readCards = readArticles.map((article, idx) => renderArticleCard(article, idx)).join('\n');
|
|
55
|
+
const featuredHtml = featuredArticle ? renderFeaturedCard(featuredArticle, issueStats, language) : '';
|
|
56
|
+
const unreadCards = remainingUnread.map((article, idx) => renderArticleCard(article, idx, language)).join('\n');
|
|
57
|
+
const readCards = readArticles.map((article, idx) => renderArticleCard(article, idx, language)).join('\n');
|
|
48
58
|
const tagFilters = topTags.map(([tag]) => `<button class="tag-btn" data-tag="${tag}">${tag}</button>`).join('\n');
|
|
49
59
|
return `<!DOCTYPE html>
|
|
50
60
|
<html lang="ko" data-theme="light">
|
|
@@ -496,6 +506,46 @@ function renderMagazineHtml(articles) {
|
|
|
496
506
|
color: var(--accent);
|
|
497
507
|
}
|
|
498
508
|
|
|
509
|
+
.sort-controls {
|
|
510
|
+
display: flex;
|
|
511
|
+
align-items: center;
|
|
512
|
+
gap: 0.75rem;
|
|
513
|
+
margin-left: 1rem;
|
|
514
|
+
padding-left: 1rem;
|
|
515
|
+
border-left: 1px solid var(--border);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.sort-btn {
|
|
519
|
+
font-family: var(--font-mono);
|
|
520
|
+
font-size: 0.7rem;
|
|
521
|
+
padding: 0.35rem 0.7rem;
|
|
522
|
+
background: var(--bg-deep);
|
|
523
|
+
border: 1px solid var(--border);
|
|
524
|
+
border-radius: 6px;
|
|
525
|
+
color: var(--text-secondary);
|
|
526
|
+
cursor: pointer;
|
|
527
|
+
transition: all 0.2s;
|
|
528
|
+
white-space: nowrap;
|
|
529
|
+
display: flex;
|
|
530
|
+
align-items: center;
|
|
531
|
+
gap: 0.3rem;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.sort-btn:hover, .sort-btn.active {
|
|
535
|
+
background: var(--bg-elevated);
|
|
536
|
+
border-color: var(--accent);
|
|
537
|
+
color: var(--accent);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
.sort-btn .sort-icon {
|
|
541
|
+
font-size: 0.6rem;
|
|
542
|
+
opacity: 0.7;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.sort-btn.active .sort-icon {
|
|
546
|
+
opacity: 1;
|
|
547
|
+
}
|
|
548
|
+
|
|
499
549
|
.hidden {
|
|
500
550
|
display: none !important;
|
|
501
551
|
}
|
|
@@ -1117,6 +1167,24 @@ function renderMagazineHtml(articles) {
|
|
|
1117
1167
|
padding: 1rem 1.5rem;
|
|
1118
1168
|
}
|
|
1119
1169
|
|
|
1170
|
+
.filters-row {
|
|
1171
|
+
flex-wrap: wrap;
|
|
1172
|
+
gap: 0.75rem;
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
.tag-filters {
|
|
1176
|
+
flex-wrap: wrap;
|
|
1177
|
+
width: 100%;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
.sort-controls {
|
|
1181
|
+
margin-left: 0;
|
|
1182
|
+
padding-left: 0;
|
|
1183
|
+
border-left: none;
|
|
1184
|
+
padding-top: 0.5rem;
|
|
1185
|
+
width: 100%;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1120
1188
|
.articles-section {
|
|
1121
1189
|
padding: 2rem 1.5rem;
|
|
1122
1190
|
}
|
|
@@ -1267,6 +1335,10 @@ function renderMagazineHtml(articles) {
|
|
|
1267
1335
|
<span class="filter-label">Filter by</span>
|
|
1268
1336
|
<button class="tag-btn active" data-tag="all">All</button>
|
|
1269
1337
|
${tagFilters}
|
|
1338
|
+
<div class="sort-controls">
|
|
1339
|
+
<span class="filter-label">Sort by</span>
|
|
1340
|
+
<button class="sort-btn active" data-sort="added" data-order="desc">Added <span class="sort-icon">↓</span></button>
|
|
1341
|
+
</div>
|
|
1270
1342
|
</div>
|
|
1271
1343
|
</div>
|
|
1272
1344
|
</section>
|
|
@@ -1308,6 +1380,16 @@ function renderMagazineHtml(articles) {
|
|
|
1308
1380
|
|
|
1309
1381
|
<script>
|
|
1310
1382
|
(function() {
|
|
1383
|
+
const DIFFICULTY_LABELS = {
|
|
1384
|
+
'한국어': { beginner: '입문', intermediate: '중급', advanced: '심화' },
|
|
1385
|
+
'default': { beginner: 'Beginner', intermediate: 'Intermediate', advanced: 'Advanced' },
|
|
1386
|
+
};
|
|
1387
|
+
const CURRENT_LANGUAGE = '${language}';
|
|
1388
|
+
function getDifficultyLabel(difficulty) {
|
|
1389
|
+
const labels = DIFFICULTY_LABELS[CURRENT_LANGUAGE] || DIFFICULTY_LABELS['default'];
|
|
1390
|
+
return labels[difficulty] || labels['intermediate'];
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1311
1393
|
const html = document.documentElement;
|
|
1312
1394
|
const themeToggle = document.getElementById('theme-toggle');
|
|
1313
1395
|
const THEME_KEY = 'linkpress-theme';
|
|
@@ -1473,6 +1555,47 @@ function renderMagazineHtml(articles) {
|
|
|
1473
1555
|
});
|
|
1474
1556
|
});
|
|
1475
1557
|
|
|
1558
|
+
let currentSort = 'added';
|
|
1559
|
+
let currentOrder = 'desc';
|
|
1560
|
+
|
|
1561
|
+
function sortArticles(sortBy, order) {
|
|
1562
|
+
const grids = [unreadGrid, readGrid];
|
|
1563
|
+
grids.forEach(grid => {
|
|
1564
|
+
const cards = Array.from(grid.querySelectorAll('.article-card'));
|
|
1565
|
+
cards.sort((a, b) => {
|
|
1566
|
+
const aVal = parseInt(a.dataset.index) || 0;
|
|
1567
|
+
const bVal = parseInt(b.dataset.index) || 0;
|
|
1568
|
+
return order === 'desc' ? aVal - bVal : bVal - aVal;
|
|
1569
|
+
});
|
|
1570
|
+
cards.forEach(card => grid.appendChild(card));
|
|
1571
|
+
});
|
|
1572
|
+
currentPage = 1;
|
|
1573
|
+
updatePagination();
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
document.querySelectorAll('.sort-btn').forEach(btn => {
|
|
1577
|
+
btn.addEventListener('click', () => {
|
|
1578
|
+
const sortBy = btn.dataset.sort;
|
|
1579
|
+
const wasActive = btn.classList.contains('active');
|
|
1580
|
+
|
|
1581
|
+
if (wasActive) {
|
|
1582
|
+
const newOrder = btn.dataset.order === 'desc' ? 'asc' : 'desc';
|
|
1583
|
+
btn.dataset.order = newOrder;
|
|
1584
|
+
btn.querySelector('.sort-icon').textContent = newOrder === 'desc' ? '↓' : '↑';
|
|
1585
|
+
currentOrder = newOrder;
|
|
1586
|
+
} else {
|
|
1587
|
+
document.querySelectorAll('.sort-btn').forEach(b => b.classList.remove('active'));
|
|
1588
|
+
btn.classList.add('active');
|
|
1589
|
+
currentSort = sortBy;
|
|
1590
|
+
currentOrder = btn.dataset.order;
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
sortArticles(currentSort, currentOrder);
|
|
1594
|
+
});
|
|
1595
|
+
});
|
|
1596
|
+
|
|
1597
|
+
sortArticles(currentSort, currentOrder);
|
|
1598
|
+
|
|
1476
1599
|
async function toggleRead(card) {
|
|
1477
1600
|
const id = card.dataset.id;
|
|
1478
1601
|
const isRead = card.dataset.read === 'true';
|
|
@@ -1554,11 +1677,13 @@ function renderMagazineHtml(articles) {
|
|
|
1554
1677
|
|
|
1555
1678
|
function createArticleCard(article) {
|
|
1556
1679
|
const div = document.createElement('article');
|
|
1557
|
-
|
|
1558
|
-
|
|
1680
|
+
const isRead = !!article.readAt;
|
|
1681
|
+
const readingTime = article.readingTimeMinutes || 0;
|
|
1682
|
+
const publishedDate = article.publishedAt ? formatDate(article.publishedAt) : null;
|
|
1683
|
+
const publishedTimestamp = article.publishedAt ? article.publishedAt.getTime() : 0;
|
|
1559
1684
|
const tags = article.tags || [];
|
|
1560
1685
|
const difficulty = article.difficulty || 'intermediate';
|
|
1561
|
-
const
|
|
1686
|
+
const difficultyLabel = getDifficultyLabel(difficulty);
|
|
1562
1687
|
|
|
1563
1688
|
let hostname = '';
|
|
1564
1689
|
try { hostname = new URL(article.url).hostname.replace('www.', ''); } catch {}
|
|
@@ -1582,7 +1707,7 @@ function renderMagazineHtml(articles) {
|
|
|
1582
1707
|
\${imageHtml}
|
|
1583
1708
|
<div class="article-content">
|
|
1584
1709
|
<div class="article-meta-row">
|
|
1585
|
-
<span class="article-difficulty difficulty-\${difficulty}">\${
|
|
1710
|
+
<span class="article-difficulty difficulty-\${difficulty}">\${difficultyLabel}</span>
|
|
1586
1711
|
<span class="article-reading-time">\${readingTime || '?'} min read</span>
|
|
1587
1712
|
</div>
|
|
1588
1713
|
<h3 class="article-headline">
|
|
@@ -1614,7 +1739,7 @@ function renderMagazineHtml(articles) {
|
|
|
1614
1739
|
</body>
|
|
1615
1740
|
</html>`;
|
|
1616
1741
|
}
|
|
1617
|
-
function renderFeaturedCard(article, stats) {
|
|
1742
|
+
function renderFeaturedCard(article, stats, language) {
|
|
1618
1743
|
const summary = parseSummary(article.summary);
|
|
1619
1744
|
const hostname = (() => {
|
|
1620
1745
|
try {
|
|
@@ -1629,8 +1754,9 @@ function renderFeaturedCard(article, stats) {
|
|
|
1629
1754
|
const tags = article.tags.slice(0, 3);
|
|
1630
1755
|
const isRead = !!article.readAt;
|
|
1631
1756
|
const readingTime = article.readingTimeMinutes || 0;
|
|
1757
|
+
const publishedTimestamp = article.publishedAt ? article.publishedAt.getTime() : 0;
|
|
1632
1758
|
return `
|
|
1633
|
-
<section class="hero" data-read="${isRead}" data-reading-time="${readingTime}">
|
|
1759
|
+
<section class="hero" data-read="${isRead}" data-reading-time="${readingTime}" data-published="${publishedTimestamp}">
|
|
1634
1760
|
<div class="hero-main">
|
|
1635
1761
|
<div class="hero-content">
|
|
1636
1762
|
<h2 class="hero-headline">
|
|
@@ -1663,7 +1789,7 @@ function renderFeaturedCard(article, stats) {
|
|
|
1663
1789
|
</section>
|
|
1664
1790
|
`;
|
|
1665
1791
|
}
|
|
1666
|
-
function renderArticleCard(article, index) {
|
|
1792
|
+
function renderArticleCard(article, index, language) {
|
|
1667
1793
|
const summary = parseSummary(article.summary);
|
|
1668
1794
|
const hostname = (() => {
|
|
1669
1795
|
try {
|
|
@@ -1680,7 +1806,7 @@ function renderArticleCard(article, index) {
|
|
|
1680
1806
|
const keyQuote = summary?.keyQuote || '';
|
|
1681
1807
|
const difficulty = article.difficulty || 'intermediate';
|
|
1682
1808
|
const sourceLabel = article.sourceLabel || 'Article';
|
|
1683
|
-
const difficultyLabel =
|
|
1809
|
+
const difficultyLabel = getDifficultyLabel(difficulty, language);
|
|
1684
1810
|
const difficultyClass = `difficulty-${difficulty}`;
|
|
1685
1811
|
const formattedIndex = String(index + 2).padStart(2, '0');
|
|
1686
1812
|
const imageHtml = article.image ? `
|
|
@@ -1704,8 +1830,10 @@ function renderArticleCard(article, index) {
|
|
|
1704
1830
|
` : '';
|
|
1705
1831
|
const isRead = !!article.readAt;
|
|
1706
1832
|
const readingTime = article.readingTimeMinutes || 0;
|
|
1833
|
+
const publishedTimestamp = article.publishedAt ? article.publishedAt.getTime() : 0;
|
|
1834
|
+
const publishedDate = article.publishedAt ? formatDate(article.publishedAt) : null;
|
|
1707
1835
|
return `
|
|
1708
|
-
<article class="article-card ${article.image ? 'has-image' : ''}" data-tags="${article.tags.join(',')}" data-index="${formattedIndex}" data-id="${article.id}" data-read="${isRead}" data-reading-time="${readingTime}">
|
|
1836
|
+
<article class="article-card ${article.image ? 'has-image' : ''}" data-tags="${article.tags.join(',')}" data-index="${formattedIndex}" data-id="${article.id}" data-read="${isRead}" data-reading-time="${readingTime}" data-published="${publishedTimestamp}">
|
|
1709
1837
|
<button class="read-toggle-btn" aria-label="Mark as ${isRead ? 'unread' : 'read'}">
|
|
1710
1838
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3">
|
|
1711
1839
|
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" />
|
|
@@ -1732,6 +1860,7 @@ function renderArticleCard(article, index) {
|
|
|
1732
1860
|
<span class="article-source-label">${escapeHtml(sourceLabel)}</span>
|
|
1733
1861
|
<span class="article-source-divider">·</span>
|
|
1734
1862
|
<span class="article-source">${escapeHtml(hostname)}</span>
|
|
1863
|
+
${publishedDate ? `<span class="article-source-divider">·</span><span class="article-published-date">${publishedDate}</span>` : ''}
|
|
1735
1864
|
</div>
|
|
1736
1865
|
</div>
|
|
1737
1866
|
|
|
@@ -1750,4 +1879,10 @@ function escapeHtml(str) {
|
|
|
1750
1879
|
.replace(/"/g, '"')
|
|
1751
1880
|
.replace(/'/g, ''');
|
|
1752
1881
|
}
|
|
1882
|
+
function formatDate(date) {
|
|
1883
|
+
const year = date.getFullYear();
|
|
1884
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
1885
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
1886
|
+
return `${year}.${month}.${day}`;
|
|
1887
|
+
}
|
|
1753
1888
|
//# sourceMappingURL=magazine.js.map
|
package/dist/magazine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magazine.js","sourceRoot":"","sources":["../src/magazine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"magazine.js","sourceRoot":"","sources":["../src/magazine.ts"],"names":[],"mappings":"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"}
|
package/dist/process.d.ts
CHANGED
package/dist/process.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkF/F"}
|
package/dist/process.js
CHANGED
|
@@ -38,6 +38,10 @@ export async function processArticles(options = {}) {
|
|
|
38
38
|
continue;
|
|
39
39
|
}
|
|
40
40
|
const scraped = await scrapeUrl(article.url);
|
|
41
|
+
if (config.filter?.skipOutdated && scraped.isOutdated) {
|
|
42
|
+
spinner?.warn(chalk.yellow(`Outdated: ${scraped.outdatedReason || 'Content marked as deprecated'}\n ${chalk.dim(article.url)}`));
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
41
45
|
const summaryData = await summarizeArticle(scraped.title || article.title, scraped.content, article.url);
|
|
42
46
|
const updatedArticle = {
|
|
43
47
|
...article,
|
|
@@ -51,10 +55,11 @@ export async function processArticles(options = {}) {
|
|
|
51
55
|
image: scraped.image,
|
|
52
56
|
sourceLabel: scraped.sourceLabel,
|
|
53
57
|
processedAt: new Date(),
|
|
58
|
+
publishedAt: scraped.publishedAt ? new Date(scraped.publishedAt) : undefined,
|
|
54
59
|
isNew: true,
|
|
55
60
|
};
|
|
56
61
|
updateArticle(updatedArticle);
|
|
57
|
-
spinner?.succeed(chalk.green(truncate(summaryData.headline || scraped.title || article.url,
|
|
62
|
+
spinner?.succeed(chalk.green(`Valid: ${truncate(summaryData.headline || scraped.title || article.url, 50)}\n ${chalk.dim(article.url)}`));
|
|
58
63
|
processedArticles.push(updatedArticle);
|
|
59
64
|
await new Promise(resolve => setTimeout(resolve, 300));
|
|
60
65
|
}
|
package/dist/process.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export async function extractSlackTokens() {
|
|
|
43
43
|
else {
|
|
44
44
|
console.log(chalk.yellow(' Warning: Could not find Chrome. Using Playwright Chromium.\n'));
|
|
45
45
|
}
|
|
46
|
-
const userDataDir = path.join(os.tmpdir(),
|
|
46
|
+
const userDataDir = path.join(os.tmpdir(), `linkpress-chrome-${Date.now()}`);
|
|
47
47
|
debug('User data dir', userDataDir);
|
|
48
48
|
const context = await chromium.launchPersistentContext(userDataDir, {
|
|
49
49
|
headless: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/slack/browser-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkC,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAOpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;AAElD,SAAS,KAAK,CAAC,GAAW,EAAE,IAAc;IACxC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,aAAa,GAAG;QACpB,8DAA8D;QAC9D,oDAAoD;QACpD,4DAA4D;QAC5D,kEAAkE;QAClE,wBAAwB;QACxB,2BAA2B;KAC5B,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAEjF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"browser-auth.js","sourceRoot":"","sources":["../../src/slack/browser-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/slack/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/slack/sync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/slack/sync.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAqH7H"}
|
package/dist/slack/sync.js
CHANGED
|
@@ -3,9 +3,10 @@ import ora from 'ora';
|
|
|
3
3
|
import crypto from 'crypto';
|
|
4
4
|
import { SlackClient, extractLinksFromMessages } from '@linkpress/core';
|
|
5
5
|
import { loadConfig } from '../config.js';
|
|
6
|
-
import { insertArticle,
|
|
6
|
+
import { insertArticle, getExistingUrls } from '../db.js';
|
|
7
7
|
import { classifyContent } from '../ai.js';
|
|
8
8
|
import { t } from '../i18n.js';
|
|
9
|
+
const AI_BATCH_SIZE = 5;
|
|
9
10
|
export async function syncSlackSources(config, options = {}) {
|
|
10
11
|
const cfg = config || loadConfig();
|
|
11
12
|
const { silent = false } = options;
|
|
@@ -32,46 +33,54 @@ export async function syncSlackSources(config, options = {}) {
|
|
|
32
33
|
const messages = await client.getConversationHistory(channel.id, { limit: 200 });
|
|
33
34
|
const uniqueLinks = extractLinksFromMessages(messages);
|
|
34
35
|
totalUrls += uniqueLinks.length;
|
|
36
|
+
const allUrls = uniqueLinks.map(l => l.url);
|
|
37
|
+
const existingUrls = getExistingUrls(allUrls);
|
|
38
|
+
const newLinks = uniqueLinks.filter(l => !existingUrls.has(l.url));
|
|
39
|
+
const channelSkipped = uniqueLinks.length - newLinks.length;
|
|
40
|
+
skipped += channelSkipped;
|
|
35
41
|
let channelNew = 0;
|
|
36
|
-
let channelSkipped = 0;
|
|
37
42
|
let channelFiltered = 0;
|
|
38
|
-
let
|
|
39
|
-
|
|
40
|
-
processed++;
|
|
43
|
+
for (let i = 0; i < newLinks.length; i += AI_BATCH_SIZE) {
|
|
44
|
+
const batch = newLinks.slice(i, i + AI_BATCH_SIZE);
|
|
41
45
|
if (spinner) {
|
|
42
46
|
spinner.text = t('sync.classifying', {
|
|
43
47
|
channel: channel.name,
|
|
44
|
-
current:
|
|
45
|
-
total:
|
|
48
|
+
current: Math.min(i + AI_BATCH_SIZE, newLinks.length),
|
|
49
|
+
total: newLinks.length
|
|
46
50
|
});
|
|
47
51
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
const classificationResults = await Promise.all(batch.map(async (link) => {
|
|
53
|
+
try {
|
|
54
|
+
const classification = await classifyContent(link.messageText, link.url, '', '');
|
|
55
|
+
return { link, shouldCollect: classification.shouldCollect, reasoning: classification.reasoning };
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return { link, shouldCollect: false, reasoning: 'Classification failed' };
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
61
|
+
for (const result of classificationResults) {
|
|
62
|
+
if (!result.shouldCollect) {
|
|
63
|
+
channelFiltered++;
|
|
64
|
+
filtered++;
|
|
65
|
+
if (!silent) {
|
|
66
|
+
console.log(chalk.dim(` ✗ ${result.link.url}`));
|
|
67
|
+
console.log(chalk.dim(` → ${result.reasoning}`));
|
|
68
|
+
}
|
|
69
|
+
continue;
|
|
60
70
|
}
|
|
61
|
-
|
|
71
|
+
const article = {
|
|
72
|
+
id: crypto.randomUUID(),
|
|
73
|
+
url: result.link.url,
|
|
74
|
+
title: result.link.url,
|
|
75
|
+
tags: [],
|
|
76
|
+
sourceType: 'slack',
|
|
77
|
+
sourceId: channel.id,
|
|
78
|
+
createdAt: result.link.timestamp,
|
|
79
|
+
};
|
|
80
|
+
insertArticle(article);
|
|
81
|
+
channelNew++;
|
|
82
|
+
newArticles++;
|
|
62
83
|
}
|
|
63
|
-
const article = {
|
|
64
|
-
id: crypto.randomUUID(),
|
|
65
|
-
url: link.url,
|
|
66
|
-
title: link.url,
|
|
67
|
-
tags: [],
|
|
68
|
-
sourceType: 'slack',
|
|
69
|
-
sourceId: channel.id,
|
|
70
|
-
createdAt: new Date(),
|
|
71
|
-
};
|
|
72
|
-
insertArticle(article);
|
|
73
|
-
channelNew++;
|
|
74
|
-
newArticles++;
|
|
75
84
|
}
|
|
76
85
|
spinner?.succeed(t('sync.channelResult', {
|
|
77
86
|
channel: channel.name,
|
package/dist/slack/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/slack/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/slack/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,OAAO,iBAAiB,EAAE,WAAW,EAAE,CAAC;KACjD,CAAC;IACF,EAAE,EAAE;QACF,QAAQ,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;QAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC;QACX,EAAE,EAAE,IAAI,CAAC;KACV,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;CACb"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,OAAO,iBAAiB,EAAE,WAAW,EAAE,CAAC;KACjD,CAAC;IACF,EAAE,EAAE;QACF,QAAQ,EAAE,OAAO,iBAAiB,EAAE,UAAU,CAAC;QAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;KACtC,CAAC;IACF,MAAM,CAAC,EAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC;QACX,EAAE,EAAE,IAAI,CAAC;KACV,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;CACb"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linkpress",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Turn your Slack links into a personal tech magazine with AI-powered summaries",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"url": "https://github.com/mindori/linkpress/issues"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@linkpress/core": "^0.1.
|
|
46
|
+
"@linkpress/core": "^0.1.3",
|
|
47
47
|
"better-sqlite3": "^11.7.0",
|
|
48
48
|
"chalk": "^5.3.0",
|
|
49
49
|
"commander": "^12.1.0",
|