@nbtca/prompt 1.0.4 → 1.0.5
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 +48 -0
- package/README.md +45 -3
- package/dist/features/docs.d.ts.map +1 -1
- package/dist/features/docs.js +72 -18
- package/dist/features/docs.js.map +1 -1
- package/package.json +1 -1
- package/src/features/docs.ts +84 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## [1.0.5] - 2025-12-10
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **Knowledge Base 403 Error**: Resolved GitHub API rate limiting issue that caused 403 errors when browsing documentation
|
|
7
|
+
- Added GitHub token authentication support via `GITHUB_TOKEN` or `GH_TOKEN` environment variables
|
|
8
|
+
- Improved error messages with rate limit information and reset time
|
|
9
|
+
- Increased rate limit from 60 to 5000 requests per hour when using a token
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- **Pager-Style Document Viewer**: Documents now open in a pager (similar to vim/journalctl/less)
|
|
13
|
+
- Natural scrolling navigation with arrow keys, Space, j/k (vim-style), and q to quit
|
|
14
|
+
- Content doesn't flood the terminal anymore
|
|
15
|
+
- Better reading experience for long documents
|
|
16
|
+
- Automatic fallback to direct output if pager is unavailable
|
|
17
|
+
- **Re-read Document Option**: Added ability to re-read a document after viewing without going back to the list
|
|
18
|
+
- **Environment Variable Support**:
|
|
19
|
+
- `GITHUB_TOKEN` or `GH_TOKEN` for GitHub API authentication
|
|
20
|
+
- `PAGER` for custom pager selection (defaults to `less`)
|
|
21
|
+
|
|
22
|
+
### Improved
|
|
23
|
+
- Enhanced error handling with detailed rate limit diagnostics
|
|
24
|
+
- Better user feedback when rate limits are reached
|
|
25
|
+
- Clearer instructions for resolving authentication issues
|
|
26
|
+
|
|
27
|
+
### Technical Details
|
|
28
|
+
- Added `displayInPager()` function for spawning system pager processes
|
|
29
|
+
- Enhanced `fetchGitHubDirectory()` with conditional token authentication
|
|
30
|
+
- Updated documentation viewer workflow for better UX
|
|
31
|
+
|
|
32
|
+
## [1.0.4] - 2025-12-10
|
|
33
|
+
|
|
34
|
+
### Enhanced
|
|
35
|
+
- **Smooth Slogan Animation**: Implemented true color interpolation for buttery smooth gradient animation
|
|
36
|
+
- Increased frame rate from 24 to 60 FPS for ultra-smooth motion
|
|
37
|
+
- Changed easing from cubic to sine wave for more natural transitions
|
|
38
|
+
- Dynamically generate gradients per frame instead of using pre-defined set
|
|
39
|
+
- Eliminates staggered/jumping effect in the slogan text animation
|
|
40
|
+
|
|
41
|
+
### Technical Details
|
|
42
|
+
- Added `hexToRgb()`, `rgbToHex()`, and `interpolateColor()` functions for mathematical color blending
|
|
43
|
+
- Implemented `easeInOutSine()` easing function for smooth acceleration/deceleration
|
|
44
|
+
- Each frame now uses unique, mathematically interpolated colors
|
|
45
|
+
|
|
46
|
+
## [1.0.3] - 2025-11-27
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
- Version alignment and bug fixes
|
|
50
|
+
|
|
3
51
|
## [1.0.2] - 2025-11-27
|
|
4
52
|
|
|
5
53
|
### Added
|
package/README.md
CHANGED
|
@@ -13,9 +13,10 @@ NBTCA Prompt is a minimalist command-line interface tool designed for the Comput
|
|
|
13
13
|
|
|
14
14
|
- View upcoming association events (30-day calendar)
|
|
15
15
|
- Access repair service information
|
|
16
|
-
- Browse technical documentation from terminal
|
|
16
|
+
- Browse technical documentation from terminal with pager support (vim/journalctl style)
|
|
17
17
|
- Quick links to official website and GitHub
|
|
18
18
|
- Minimalist design with maximum terminal compatibility
|
|
19
|
+
- Smooth gradient animations for enhanced visual experience
|
|
19
20
|
|
|
20
21
|
## Installation
|
|
21
22
|
|
|
@@ -131,11 +132,25 @@ src/
|
|
|
131
132
|
|
|
132
133
|
The knowledge base viewer features:
|
|
133
134
|
|
|
134
|
-
- Direct GitHub repository access
|
|
135
|
+
- Direct GitHub repository access with authentication support
|
|
136
|
+
- Pager-style document reading (similar to vim/journalctl/less)
|
|
135
137
|
- VitePress syntax cleaning
|
|
136
|
-
- Terminal Markdown rendering
|
|
138
|
+
- Terminal Markdown rendering with color support
|
|
137
139
|
- Browser fallback option
|
|
138
140
|
- Directory tree navigation
|
|
141
|
+
- Improved error handling with rate limit detection
|
|
142
|
+
|
|
143
|
+
### GitHub Token Configuration (Optional)
|
|
144
|
+
|
|
145
|
+
To avoid GitHub API rate limits when browsing documentation, you can set a GitHub token:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
export GITHUB_TOKEN="your_github_token_here"
|
|
149
|
+
# or
|
|
150
|
+
export GH_TOKEN="your_github_token_here"
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Without a token, you have 60 requests per hour. With a token, you get 5000 requests per hour.
|
|
139
154
|
|
|
140
155
|
### Supported Formats
|
|
141
156
|
|
|
@@ -163,6 +178,10 @@ ASCII-based UI elements ensure rendering on any terminal emulator.
|
|
|
163
178
|
|
|
164
179
|
## Common Issues
|
|
165
180
|
|
|
181
|
+
### Q: Getting 403 error when browsing documentation?
|
|
182
|
+
|
|
183
|
+
A: This is due to GitHub API rate limiting. Set a `GITHUB_TOKEN` environment variable to increase your rate limit from 60 to 5000 requests per hour. See the [GitHub Token Configuration](#github-token-configuration-optional) section above.
|
|
184
|
+
|
|
166
185
|
### Q: Auto-restart when using `pnpm run dev:watch`?
|
|
167
186
|
|
|
168
187
|
A: This is expected behavior. Use `pnpm run dev` for interactive testing.
|
|
@@ -171,6 +190,10 @@ A: This is expected behavior. Use `pnpm run dev` for interactive testing.
|
|
|
171
190
|
|
|
172
191
|
A: Select the Exit option from menu, or press Ctrl+C.
|
|
173
192
|
|
|
193
|
+
### Q: How to navigate documents in the pager?
|
|
194
|
+
|
|
195
|
+
A: Use arrow keys, Space (page down), 'j/k' (vim-style), or 'q' to quit the pager.
|
|
196
|
+
|
|
174
197
|
### Q: Changes not reflected?
|
|
175
198
|
|
|
176
199
|
A: If using `pnpm start`, rebuild with `pnpm run build` first.
|
|
@@ -206,6 +229,25 @@ MIT License - See LICENSE file for details
|
|
|
206
229
|
|
|
207
230
|
## Changelog
|
|
208
231
|
|
|
232
|
+
### v1.0.5 (2025-12-10)
|
|
233
|
+
|
|
234
|
+
- **Fixed**: Knowledge Base 403 error due to GitHub API rate limiting
|
|
235
|
+
- **Added**: GitHub token authentication support (GITHUB_TOKEN/GH_TOKEN)
|
|
236
|
+
- **Added**: Pager-style document viewer (vim/journalctl/less style)
|
|
237
|
+
- **Added**: "Re-read document" option after viewing
|
|
238
|
+
- **Improved**: Better error messages with rate limit information
|
|
239
|
+
- **Improved**: Document reading experience with scroll navigation
|
|
240
|
+
|
|
241
|
+
### v1.0.4 (2025-12-10)
|
|
242
|
+
|
|
243
|
+
- **Enhanced**: Smooth slogan animation with true color interpolation
|
|
244
|
+
- **Improved**: 60 FPS animation with sine easing for natural transitions
|
|
245
|
+
- **Technical**: Added hexToRgb, rgbToHex, and interpolateColor functions
|
|
246
|
+
|
|
247
|
+
### v1.0.3 (2025-11-27)
|
|
248
|
+
|
|
249
|
+
- Version alignment and bug fixes
|
|
250
|
+
|
|
209
251
|
### v1.0.1 (2025-11-27)
|
|
210
252
|
|
|
211
253
|
- Added terminal documentation viewer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkXH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAapE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAsClD"}
|
package/dist/features/docs.js
CHANGED
|
@@ -9,6 +9,7 @@ import chalk from 'chalk';
|
|
|
9
9
|
import open from 'open';
|
|
10
10
|
import inquirer from 'inquirer';
|
|
11
11
|
import { error, info, success, warning } from '../core/ui.js';
|
|
12
|
+
import { spawn } from 'child_process';
|
|
12
13
|
// 配置marked使用终端渲染器
|
|
13
14
|
marked.setOptions({
|
|
14
15
|
// @ts-ignore - markedTerminal类型定义问题
|
|
@@ -22,6 +23,11 @@ const GITHUB_REPO = {
|
|
|
22
23
|
repo: 'documents',
|
|
23
24
|
branch: 'main'
|
|
24
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* GitHub Token (可选 - 用于避免 API 速率限制)
|
|
28
|
+
* 从环境变量读取,如果没有则使用未认证请求
|
|
29
|
+
*/
|
|
30
|
+
const GITHUB_TOKEN = process.env['GITHUB_TOKEN'] || process.env['GH_TOKEN'];
|
|
25
31
|
/**
|
|
26
32
|
* 预定义的文档分类
|
|
27
33
|
*/
|
|
@@ -40,12 +46,17 @@ const DOC_CATEGORIES = [
|
|
|
40
46
|
async function fetchGitHubDirectory(path = '') {
|
|
41
47
|
const url = `https://api.github.com/repos/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/contents/${path}?ref=${GITHUB_REPO.branch}`;
|
|
42
48
|
try {
|
|
49
|
+
const headers = {
|
|
50
|
+
'Accept': 'application/vnd.github.v3+json',
|
|
51
|
+
'User-Agent': 'NBTCA-CLI'
|
|
52
|
+
};
|
|
53
|
+
// 如果有 GitHub Token,添加认证头以避免速率限制
|
|
54
|
+
if (GITHUB_TOKEN) {
|
|
55
|
+
headers['Authorization'] = `Bearer ${GITHUB_TOKEN}`;
|
|
56
|
+
}
|
|
43
57
|
const response = await axios.get(url, {
|
|
44
58
|
timeout: 10000,
|
|
45
|
-
headers
|
|
46
|
-
'Accept': 'application/vnd.github.v3+json',
|
|
47
|
-
'User-Agent': 'NBTCA-CLI'
|
|
48
|
-
}
|
|
59
|
+
headers
|
|
49
60
|
});
|
|
50
61
|
return response.data
|
|
51
62
|
.filter((item) => {
|
|
@@ -79,6 +90,16 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
79
90
|
});
|
|
80
91
|
}
|
|
81
92
|
catch (err) {
|
|
93
|
+
// 提供更详细的错误信息
|
|
94
|
+
if (err.response?.status === 403) {
|
|
95
|
+
const rateLimitRemaining = err.response.headers['x-ratelimit-remaining'];
|
|
96
|
+
const rateLimitReset = err.response.headers['x-ratelimit-reset'];
|
|
97
|
+
if (rateLimitRemaining === '0') {
|
|
98
|
+
const resetDate = new Date(parseInt(rateLimitReset) * 1000);
|
|
99
|
+
throw new Error(`GitHub API 速率限制已达上限,将在 ${resetDate.toLocaleTimeString()} 重置。\n提示: 设置 GITHUB_TOKEN 环境变量可获得更高的速率限制。`);
|
|
100
|
+
}
|
|
101
|
+
throw new Error(`GitHub API 拒绝访问 (403)。\n提示: 尝试设置 GITHUB_TOKEN 环境变量。`);
|
|
102
|
+
}
|
|
82
103
|
throw new Error(`无法获取目录内容: ${err.message}`);
|
|
83
104
|
}
|
|
84
105
|
}
|
|
@@ -202,6 +223,43 @@ async function browseDirectory(dirPath = '') {
|
|
|
202
223
|
}
|
|
203
224
|
}
|
|
204
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* 使用系统pager (less/more) 显示内容
|
|
228
|
+
* 提供类似vim/journalctl的阅读体验
|
|
229
|
+
*/
|
|
230
|
+
async function displayInPager(content, title) {
|
|
231
|
+
return new Promise((resolve) => {
|
|
232
|
+
// 检测可用的pager程序
|
|
233
|
+
const pager = process.env['PAGER'] || 'less';
|
|
234
|
+
// 为内容添加标题
|
|
235
|
+
const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim('End of document - Press q to quit')}\n`;
|
|
236
|
+
// less的参数: -R (支持颜色), -F (如果内容少于一屏则直接显示), -X (退出时不清屏)
|
|
237
|
+
const lessArgs = ['-R', '-F', '-X'];
|
|
238
|
+
try {
|
|
239
|
+
const child = spawn(pager, lessArgs, {
|
|
240
|
+
stdio: ['pipe', 'inherit', 'inherit'],
|
|
241
|
+
shell: true
|
|
242
|
+
});
|
|
243
|
+
// 将内容写入pager的stdin
|
|
244
|
+
child.stdin.write(fullContent);
|
|
245
|
+
child.stdin.end();
|
|
246
|
+
child.on('exit', (code) => {
|
|
247
|
+
resolve(code === 0);
|
|
248
|
+
});
|
|
249
|
+
child.on('error', () => {
|
|
250
|
+
// 如果pager失败,回退到直接输出
|
|
251
|
+
console.error(chalk.yellow('⚠ Pager不可用,使用标准输出'));
|
|
252
|
+
console.log(fullContent);
|
|
253
|
+
resolve(false);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// 回退方案: 直接输出
|
|
258
|
+
console.log(fullContent);
|
|
259
|
+
resolve(false);
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
}
|
|
205
263
|
/**
|
|
206
264
|
* 查看Markdown文件
|
|
207
265
|
*/
|
|
@@ -214,21 +272,12 @@ async function viewMarkdownFile(path) {
|
|
|
214
272
|
const cleanedContent = cleanMarkdownContent(rawContent);
|
|
215
273
|
// 提取标题
|
|
216
274
|
const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
|
|
217
|
-
console.clear();
|
|
218
|
-
console.log();
|
|
219
|
-
console.log(chalk.cyan.bold(`>> ${title}`));
|
|
220
|
-
console.log(chalk.gray(` ${path}`));
|
|
221
|
-
console.log();
|
|
222
|
-
console.log(chalk.gray('='.repeat(80)));
|
|
223
|
-
console.log();
|
|
224
275
|
// 渲染Markdown到终端
|
|
225
|
-
const rendered = marked(cleanedContent);
|
|
226
|
-
console.log(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
console.log();
|
|
230
|
-
console.log(chalk.dim(' Note: Some features are only available in browser'));
|
|
231
|
-
console.log();
|
|
276
|
+
const rendered = await marked(cleanedContent);
|
|
277
|
+
console.log('\r' + ' '.repeat(60) + '\r'); // 清除加载提示
|
|
278
|
+
// 使用pager显示文档 (类似vim/journalctl的阅读体验)
|
|
279
|
+
await displayInPager(rendered, `${title}\n${chalk.gray(` ${path}`)}`);
|
|
280
|
+
console.log(); // 添加空行
|
|
232
281
|
success('文档加载完成');
|
|
233
282
|
console.log();
|
|
234
283
|
// 提供后续操作选项
|
|
@@ -239,6 +288,7 @@ async function viewMarkdownFile(path) {
|
|
|
239
288
|
message: '选择操作:',
|
|
240
289
|
choices: [
|
|
241
290
|
{ name: '[ <] Back to docs list', value: 'back' },
|
|
291
|
+
{ name: '[ ↻] Re-read document', value: 'reread' },
|
|
242
292
|
{ name: '[ *] Open in browser', value: 'browser' }
|
|
243
293
|
]
|
|
244
294
|
}
|
|
@@ -246,6 +296,10 @@ async function viewMarkdownFile(path) {
|
|
|
246
296
|
if (action === 'browser') {
|
|
247
297
|
await openDocsInBrowser(path);
|
|
248
298
|
}
|
|
299
|
+
else if (action === 'reread') {
|
|
300
|
+
// 重新阅读文档
|
|
301
|
+
await viewMarkdownFile(path);
|
|
302
|
+
}
|
|
249
303
|
}
|
|
250
304
|
catch (err) {
|
|
251
305
|
console.log('\r' + ' '.repeat(60) + '\r');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/features/docs.ts
CHANGED
|
@@ -10,6 +10,7 @@ import chalk from 'chalk';
|
|
|
10
10
|
import open from 'open';
|
|
11
11
|
import inquirer from 'inquirer';
|
|
12
12
|
import { error, info, success, warning } from '../core/ui.js';
|
|
13
|
+
import { spawn } from 'child_process';
|
|
13
14
|
|
|
14
15
|
// 配置marked使用终端渲染器
|
|
15
16
|
marked.setOptions({
|
|
@@ -26,6 +27,12 @@ const GITHUB_REPO = {
|
|
|
26
27
|
branch: 'main'
|
|
27
28
|
};
|
|
28
29
|
|
|
30
|
+
/**
|
|
31
|
+
* GitHub Token (可选 - 用于避免 API 速率限制)
|
|
32
|
+
* 从环境变量读取,如果没有则使用未认证请求
|
|
33
|
+
*/
|
|
34
|
+
const GITHUB_TOKEN = process.env['GITHUB_TOKEN'] || process.env['GH_TOKEN'];
|
|
35
|
+
|
|
29
36
|
/**
|
|
30
37
|
* 文档结构类型
|
|
31
38
|
*/
|
|
@@ -56,12 +63,19 @@ async function fetchGitHubDirectory(path: string = ''): Promise<DocItem[]> {
|
|
|
56
63
|
const url = `https://api.github.com/repos/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/contents/${path}?ref=${GITHUB_REPO.branch}`;
|
|
57
64
|
|
|
58
65
|
try {
|
|
66
|
+
const headers: any = {
|
|
67
|
+
'Accept': 'application/vnd.github.v3+json',
|
|
68
|
+
'User-Agent': 'NBTCA-CLI'
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// 如果有 GitHub Token,添加认证头以避免速率限制
|
|
72
|
+
if (GITHUB_TOKEN) {
|
|
73
|
+
headers['Authorization'] = `Bearer ${GITHUB_TOKEN}`;
|
|
74
|
+
}
|
|
75
|
+
|
|
59
76
|
const response = await axios.get(url, {
|
|
60
77
|
timeout: 10000,
|
|
61
|
-
headers
|
|
62
|
-
'Accept': 'application/vnd.github.v3+json',
|
|
63
|
-
'User-Agent': 'NBTCA-CLI'
|
|
64
|
-
}
|
|
78
|
+
headers
|
|
65
79
|
});
|
|
66
80
|
|
|
67
81
|
return response.data
|
|
@@ -90,6 +104,17 @@ async function fetchGitHubDirectory(path: string = ''): Promise<DocItem[]> {
|
|
|
90
104
|
return a.name.localeCompare(b.name);
|
|
91
105
|
});
|
|
92
106
|
} catch (err: any) {
|
|
107
|
+
// 提供更详细的错误信息
|
|
108
|
+
if (err.response?.status === 403) {
|
|
109
|
+
const rateLimitRemaining = err.response.headers['x-ratelimit-remaining'];
|
|
110
|
+
const rateLimitReset = err.response.headers['x-ratelimit-reset'];
|
|
111
|
+
|
|
112
|
+
if (rateLimitRemaining === '0') {
|
|
113
|
+
const resetDate = new Date(parseInt(rateLimitReset) * 1000);
|
|
114
|
+
throw new Error(`GitHub API 速率限制已达上限,将在 ${resetDate.toLocaleTimeString()} 重置。\n提示: 设置 GITHUB_TOKEN 环境变量可获得更高的速率限制。`);
|
|
115
|
+
}
|
|
116
|
+
throw new Error(`GitHub API 拒绝访问 (403)。\n提示: 尝试设置 GITHUB_TOKEN 环境变量。`);
|
|
117
|
+
}
|
|
93
118
|
throw new Error(`无法获取目录内容: ${err.message}`);
|
|
94
119
|
}
|
|
95
120
|
}
|
|
@@ -231,6 +256,50 @@ async function browseDirectory(dirPath: string = ''): Promise<void> {
|
|
|
231
256
|
}
|
|
232
257
|
}
|
|
233
258
|
|
|
259
|
+
/**
|
|
260
|
+
* 使用系统pager (less/more) 显示内容
|
|
261
|
+
* 提供类似vim/journalctl的阅读体验
|
|
262
|
+
*/
|
|
263
|
+
async function displayInPager(content: string, title: string): Promise<boolean> {
|
|
264
|
+
return new Promise((resolve) => {
|
|
265
|
+
// 检测可用的pager程序
|
|
266
|
+
const pager = process.env['PAGER'] || 'less';
|
|
267
|
+
|
|
268
|
+
// 为内容添加标题
|
|
269
|
+
const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim('End of document - Press q to quit')}\n`;
|
|
270
|
+
|
|
271
|
+
// less的参数: -R (支持颜色), -F (如果内容少于一屏则直接显示), -X (退出时不清屏)
|
|
272
|
+
const lessArgs = ['-R', '-F', '-X'];
|
|
273
|
+
|
|
274
|
+
try {
|
|
275
|
+
const child = spawn(pager, lessArgs, {
|
|
276
|
+
stdio: ['pipe', 'inherit', 'inherit'],
|
|
277
|
+
shell: true
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
// 将内容写入pager的stdin
|
|
281
|
+
child.stdin.write(fullContent);
|
|
282
|
+
child.stdin.end();
|
|
283
|
+
|
|
284
|
+
child.on('exit', (code) => {
|
|
285
|
+
resolve(code === 0);
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
child.on('error', () => {
|
|
289
|
+
// 如果pager失败,回退到直接输出
|
|
290
|
+
console.error(chalk.yellow('⚠ Pager不可用,使用标准输出'));
|
|
291
|
+
console.log(fullContent);
|
|
292
|
+
resolve(false);
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
} catch {
|
|
296
|
+
// 回退方案: 直接输出
|
|
297
|
+
console.log(fullContent);
|
|
298
|
+
resolve(false);
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
|
|
234
303
|
/**
|
|
235
304
|
* 查看Markdown文件
|
|
236
305
|
*/
|
|
@@ -247,23 +316,15 @@ async function viewMarkdownFile(path: string): Promise<void> {
|
|
|
247
316
|
// 提取标题
|
|
248
317
|
const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
|
|
249
318
|
|
|
250
|
-
console.clear();
|
|
251
|
-
console.log();
|
|
252
|
-
console.log(chalk.cyan.bold(`>> ${title}`));
|
|
253
|
-
console.log(chalk.gray(` ${path}`));
|
|
254
|
-
console.log();
|
|
255
|
-
console.log(chalk.gray('='.repeat(80)));
|
|
256
|
-
console.log();
|
|
257
|
-
|
|
258
319
|
// 渲染Markdown到终端
|
|
259
|
-
const rendered = marked(cleanedContent);
|
|
260
|
-
|
|
261
|
-
console.log();
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
console.log();
|
|
320
|
+
const rendered = await marked(cleanedContent);
|
|
321
|
+
|
|
322
|
+
console.log('\r' + ' '.repeat(60) + '\r'); // 清除加载提示
|
|
323
|
+
|
|
324
|
+
// 使用pager显示文档 (类似vim/journalctl的阅读体验)
|
|
325
|
+
await displayInPager(rendered, `${title}\n${chalk.gray(` ${path}`)}`);
|
|
266
326
|
|
|
327
|
+
console.log(); // 添加空行
|
|
267
328
|
success('文档加载完成');
|
|
268
329
|
console.log();
|
|
269
330
|
|
|
@@ -275,6 +336,7 @@ async function viewMarkdownFile(path: string): Promise<void> {
|
|
|
275
336
|
message: '选择操作:',
|
|
276
337
|
choices: [
|
|
277
338
|
{ name: '[ <] Back to docs list', value: 'back' },
|
|
339
|
+
{ name: '[ ↻] Re-read document', value: 'reread' },
|
|
278
340
|
{ name: '[ *] Open in browser', value: 'browser' }
|
|
279
341
|
]
|
|
280
342
|
}
|
|
@@ -282,6 +344,9 @@ async function viewMarkdownFile(path: string): Promise<void> {
|
|
|
282
344
|
|
|
283
345
|
if (action === 'browser') {
|
|
284
346
|
await openDocsInBrowser(path);
|
|
347
|
+
} else if (action === 'reread') {
|
|
348
|
+
// 重新阅读文档
|
|
349
|
+
await viewMarkdownFile(path);
|
|
285
350
|
}
|
|
286
351
|
|
|
287
352
|
} catch (err: any) {
|