@kadaliao/geektime-downloader 1.0.3 → 1.1.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 ADDED
@@ -0,0 +1,40 @@
1
+ # 更新日志
2
+
3
+ ## [1.1.0] - 2025-12-29
4
+
5
+ ### 新增功能
6
+ - 支持 EPUB 格式输出
7
+ - 新增 `--format` 选项,支持 pdf/epub/both 三种模式
8
+ - EPUB 格式特性:
9
+ - 标准 EPUB 3 格式
10
+ - 完整的目录导航
11
+ - 响应式排版,适合各种阅读器
12
+ - 自动处理图片和代码块样式
13
+ - 文件体积通常小于 PDF
14
+
15
+ ### 技术改进
16
+ - 添加 `epub-gen-memory` 依赖用于 EPUB 生成
17
+ - 实现文章 HTML 内容提取功能
18
+ - 实现并发内容提取机制
19
+ - 优化 EPUB 样式,提升阅读体验
20
+
21
+ ### Bug 修复
22
+ - 修复 epub-gen-memory 导入问题
23
+ - 修复 EPUB 生成 API 调用错误
24
+ - 优化 Cookie 过期检测,改用基于 API 响应的智能判断
25
+ - 增加页面加载超时时间(30s → 60s)
26
+
27
+ ### 文档更新
28
+ - 更新 README.md,添加 EPUB 使用说明
29
+ - 更新命令行帮助信息
30
+ - 添加多个使用示例
31
+ - 新增 CHANGELOG.md
32
+
33
+ ## [1.0.4] - 之前版本
34
+
35
+ ### 功能
36
+ - 批量下载极客时间专栏文章为 PDF
37
+ - 支持 PDF 合并
38
+ - 支持并发下载
39
+ - 完整的文章内容提取
40
+ - 自动添加 PDF 书签
package/README.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # 极客时间专栏下载器
2
2
 
3
- 一键批量下载极客时间专栏文章为 PDF 格式。支持通过 `npx` 直接运行,无需安装。
3
+ 一键批量下载极客时间专栏文章为 PDF 或 EPUB 格式。支持通过 `npx` 直接运行,无需安装。
4
4
 
5
5
  ## ✨ 特性
6
6
 
7
7
  - 🚀 **零安装**:支持 `npx` 直接使用
8
8
  - 📦 **批量下载**:自动获取整个专栏的所有文章
9
- - 📄 **完整内容**:自动处理滚动容器,确保 PDF 包含完整内容
10
- - 🔗 **智能合并**:自动将所有章节合并为一个 PDF,以专栏名称命名(可选)
9
+ - 📄 **完整内容**:自动处理滚动容器,确保包含完整内容
10
+ - 📚 **多种格式**:支持 PDF、EPUB 或同时生成两种格式
11
+ - 🔗 **智能合并**:自动将所有章节合并为一个文件,以专栏名称命名(可选)
11
12
  - ⚙️ **灵活配置**:命令行参数或配置文件,任选其一
12
13
  - 🎨 **友好界面**:彩色进度提示,实时显示下载状态
13
14
 
@@ -79,9 +80,11 @@ geektime-dl [选项]
79
80
  -u, --url <url> 专栏文章URL(任意一篇)
80
81
  -c, --cookie <cookie> Cookie字符串(用于认证)
81
82
  -o, --output <dir> 输出目录 (默认: "./downloads")
83
+ -f, --format <format> 输出格式: pdf, epub, both (默认: "pdf")
82
84
  --headless <boolean> 无头模式 (默认: true)
83
85
  --concurrency <number> 并发下载数量 (默认: 5)
84
86
  --delay <ms> 每篇文章间延迟(ms) (默认: 2000)
87
+ --timeout <ms> 页面加载超时时间(ms) (默认: 60000)
85
88
  --dry-run 预览模式,只显示文章列表
86
89
  --limit <number> 限制下载数量(测试用)
87
90
  --no-merge 禁用PDF合并(默认会合并所有文章为一个PDF)
@@ -108,7 +111,7 @@ npx @kadaliao/geektime-downloader \
108
111
  --limit 2
109
112
  ```
110
113
 
111
- **下载整个专栏**
114
+ **下载整个专栏(PDF 格式)**
112
115
 
113
116
  ```bash
114
117
  npx @kadaliao/geektime-downloader \
@@ -116,6 +119,24 @@ npx @kadaliao/geektime-downloader \
116
119
  -c "your_cookie"
117
120
  ```
118
121
 
122
+ **下载为 EPUB 格式**
123
+
124
+ ```bash
125
+ npx @kadaliao/geektime-downloader \
126
+ -u "https://time.geekbang.org/column/article/200822" \
127
+ -c "your_cookie" \
128
+ --format epub
129
+ ```
130
+
131
+ **同时生成 PDF 和 EPUB**
132
+
133
+ ```bash
134
+ npx @kadaliao/geektime-downloader \
135
+ -u "https://time.geekbang.org/column/article/200822" \
136
+ -c "your_cookie" \
137
+ --format both
138
+ ```
139
+
119
140
  **自定义输出目录**
120
141
 
121
142
  ```bash
@@ -138,7 +159,9 @@ npx @kadaliao/geektime-downloader \
138
159
 
139
160
  下载完成后,会在输出目录生成以下文件:
140
161
 
141
- ### 单独章节 PDF(始终生成)
162
+ ### PDF 格式(--format pdf 或 both)
163
+
164
+ **单独章节 PDF(始终生成)**
142
165
 
143
166
  ```
144
167
  001_开篇词___想吃透架构?你得看看真实、接地气的架构案例.pdf
@@ -150,7 +173,7 @@ npx @kadaliao/geektime-downloader \
150
173
  - 自动清理非法字符
151
174
  - 限制文件名长度
152
175
 
153
- ### 合并后的 PDF(默认生成)
176
+ **合并后的 PDF(默认生成)**
154
177
 
155
178
  ```
156
179
  专栏名称.pdf
@@ -159,8 +182,21 @@ npx @kadaliao/geektime-downloader \
159
182
  - 默认会将所有章节合并为一个完整的 PDF 文件
160
183
  - 文件名为专栏的标题(自动从 API 获取)
161
184
  - 包含所有成功下载的章节,按顺序排列
185
+ - 自动添加书签导航
162
186
  - 如不需要合并版本,使用 `--no-merge` 选项
163
187
 
188
+ ### EPUB 格式(--format epub 或 both)
189
+
190
+ ```
191
+ 专栏名称.epub
192
+ ```
193
+
194
+ - 标准 EPUB 3 格式
195
+ - 完整的目录导航
196
+ - 响应式排版,适合各种阅读器
197
+ - 自动处理图片和代码块样式
198
+ - 文件体积通常小于 PDF
199
+
164
200
  ## ⚙️ 配置方式
165
201
 
166
202
  ### 优先级
@@ -274,6 +310,7 @@ geektime-downloader/
274
310
  - **Chalk**: 彩色输出
275
311
  - **Ora**: 进度提示
276
312
  - **pdf-lib**: PDF 文档操作和合并
313
+ - **epub-gen-memory**: EPUB 电子书生成
277
314
 
278
315
  ## 📄 License
279
316