@nbtca/prompt 1.0.13 → 1.0.14
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/dist/core/menu.d.ts +2 -2
- package/dist/core/menu.d.ts.map +1 -1
- package/dist/core/menu.js +56 -128
- package/dist/core/menu.js.map +1 -1
- package/dist/core/ui.d.ts +14 -13
- package/dist/core/ui.d.ts.map +1 -1
- package/dist/core/ui.js +28 -38
- package/dist/core/ui.js.map +1 -1
- package/dist/features/calendar.d.ts +4 -1
- package/dist/features/calendar.d.ts.map +1 -1
- package/dist/features/calendar.js +34 -23
- package/dist/features/calendar.js.map +1 -1
- package/dist/features/docs.d.ts +2 -2
- package/dist/features/docs.d.ts.map +1 -1
- package/dist/features/docs.js +107 -284
- package/dist/features/docs.js.map +1 -1
- package/dist/features/repair.d.ts.map +1 -1
- package/dist/features/repair.js +5 -8
- package/dist/features/repair.js.map +1 -1
- package/dist/features/website.d.ts.map +1 -1
- package/dist/features/website.js +5 -7
- package/dist/features/website.js.map +1 -1
- package/dist/i18n/index.d.ts +1 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/locales/en.json +1 -0
- package/dist/i18n/locales/zh.json +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -3
- package/dist/main.js.map +1 -1
- package/package.json +2 -4
package/dist/features/docs.js
CHANGED
|
@@ -7,32 +7,25 @@ import { marked } from 'marked';
|
|
|
7
7
|
import TerminalRenderer from 'marked-terminal';
|
|
8
8
|
import chalk from 'chalk';
|
|
9
9
|
import open from 'open';
|
|
10
|
-
import
|
|
11
|
-
import { error,
|
|
10
|
+
import { select, isCancel, confirm } from '@clack/prompts';
|
|
11
|
+
import { error, warning, success, createSpinner } from '../core/ui.js';
|
|
12
12
|
import { spawn } from 'child_process';
|
|
13
13
|
import { t } from '../i18n/index.js';
|
|
14
|
-
/**
|
|
15
|
-
* Detect terminal capabilities
|
|
16
|
-
*/
|
|
17
14
|
function detectTerminalCapabilities() {
|
|
18
15
|
const term = (process.env['TERM'] || '').toLowerCase();
|
|
19
16
|
const termProgram = (process.env['TERM_PROGRAM'] || '').toLowerCase();
|
|
20
17
|
const colorTerm = process.env['COLORTERM'];
|
|
21
|
-
// Detect image support (iTerm2, Kitty, WezTerm, etc.)
|
|
22
18
|
const supportsImages = termProgram.includes('iterm') ||
|
|
23
19
|
term.includes('kitty') ||
|
|
24
20
|
termProgram.includes('wezterm') ||
|
|
25
21
|
term.includes('sixel');
|
|
26
|
-
// Detect color support
|
|
27
22
|
const supportsColor = colorTerm !== undefined ||
|
|
28
23
|
term.includes('color') ||
|
|
29
24
|
term.includes('256') ||
|
|
30
25
|
term.includes('ansi') ||
|
|
31
26
|
termProgram !== '';
|
|
32
|
-
// Detect Unicode support
|
|
33
27
|
const supportsUnicode = (process.env['LANG'] || '').includes('UTF-8') ||
|
|
34
28
|
(process.env['LC_ALL'] || '').includes('UTF-8');
|
|
35
|
-
// Determine terminal type
|
|
36
29
|
let terminalType = 'basic';
|
|
37
30
|
if (supportsImages && supportsColor && supportsUnicode) {
|
|
38
31
|
terminalType = 'advanced';
|
|
@@ -40,20 +33,10 @@ function detectTerminalCapabilities() {
|
|
|
40
33
|
else if (supportsColor && supportsUnicode) {
|
|
41
34
|
terminalType = 'enhanced';
|
|
42
35
|
}
|
|
43
|
-
return {
|
|
44
|
-
supportsColor,
|
|
45
|
-
supportsImages,
|
|
46
|
-
supportsUnicode,
|
|
47
|
-
terminalType
|
|
48
|
-
};
|
|
36
|
+
return { supportsColor, supportsImages, supportsUnicode, terminalType };
|
|
49
37
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Get marked-terminal renderer options based on terminal capabilities
|
|
52
|
-
*/
|
|
53
38
|
function getRendererOptions(capabilities) {
|
|
54
|
-
// Text width for better readability
|
|
55
39
|
const width = Math.min(process.stdout.columns || 80, 100);
|
|
56
|
-
// For basic terminals, use simpler ASCII characters
|
|
57
40
|
if (capabilities.terminalType === 'basic') {
|
|
58
41
|
return {
|
|
59
42
|
width,
|
|
@@ -67,65 +50,32 @@ function getRendererOptions(capabilities) {
|
|
|
67
50
|
}
|
|
68
51
|
};
|
|
69
52
|
}
|
|
70
|
-
// For enhanced and advanced terminals, use Unicode box-drawing characters
|
|
71
53
|
return {
|
|
72
54
|
width,
|
|
73
55
|
tableOptions: {
|
|
74
56
|
chars: {
|
|
75
|
-
top: '─',
|
|
76
|
-
'
|
|
77
|
-
'
|
|
78
|
-
'
|
|
79
|
-
bottom: '─',
|
|
80
|
-
'bottom-mid': '┴',
|
|
81
|
-
'bottom-left': '└',
|
|
82
|
-
'bottom-right': '┘',
|
|
83
|
-
left: '│',
|
|
84
|
-
'left-mid': '├',
|
|
85
|
-
mid: '─',
|
|
86
|
-
'mid-mid': '┼',
|
|
87
|
-
right: '│',
|
|
88
|
-
'right-mid': '┤',
|
|
89
|
-
middle: '│'
|
|
57
|
+
top: '─', 'top-mid': '┬', 'top-left': '┌', 'top-right': '┐',
|
|
58
|
+
bottom: '─', 'bottom-mid': '┴', 'bottom-left': '└', 'bottom-right': '┘',
|
|
59
|
+
left: '│', 'left-mid': '├', mid: '─', 'mid-mid': '┼',
|
|
60
|
+
right: '│', 'right-mid': '┤', middle: '│'
|
|
90
61
|
}
|
|
91
62
|
}
|
|
92
63
|
};
|
|
93
64
|
}
|
|
94
|
-
// Detect terminal capabilities once at startup
|
|
95
65
|
const terminalCapabilities = detectTerminalCapabilities();
|
|
96
|
-
//
|
|
97
|
-
marked.setOptions({
|
|
98
|
-
|
|
99
|
-
renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities))
|
|
100
|
-
});
|
|
101
|
-
/**
|
|
102
|
-
* GitHub仓库配置
|
|
103
|
-
*/
|
|
104
|
-
const GITHUB_REPO = {
|
|
105
|
-
owner: 'nbtca',
|
|
106
|
-
repo: 'documents',
|
|
107
|
-
branch: 'main'
|
|
108
|
-
};
|
|
109
|
-
/**
|
|
110
|
-
* GitHub Token (可选 - 用于避免 API 速率限制)
|
|
111
|
-
* 从环境变量读取,如果没有则使用未认证请求
|
|
112
|
-
*/
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
marked.setOptions({ renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities)) });
|
|
68
|
+
const GITHUB_REPO = { owner: 'nbtca', repo: 'documents', branch: 'main' };
|
|
113
69
|
const GITHUB_TOKEN = process.env['GITHUB_TOKEN'] || process.env['GH_TOKEN'];
|
|
114
|
-
/**
|
|
115
|
-
* 预定义的文档分类
|
|
116
|
-
*/
|
|
117
70
|
const DOC_CATEGORIES = [
|
|
118
|
-
{ name: '
|
|
119
|
-
{ name: '
|
|
120
|
-
{ name: '
|
|
121
|
-
{ name: '
|
|
122
|
-
{ name: '
|
|
123
|
-
{ name: '
|
|
124
|
-
{ name: '
|
|
71
|
+
{ name: '📖 教程', path: 'tutorial' },
|
|
72
|
+
{ name: '🔧 维修日记', path: '维修日' },
|
|
73
|
+
{ name: '🎉 活动文档', path: '相关活动举办' },
|
|
74
|
+
{ name: '📋 流程文档', path: 'process' },
|
|
75
|
+
{ name: '🛠 维修相关', path: 'repair' },
|
|
76
|
+
{ name: '📦 归档文档', path: 'archived' },
|
|
77
|
+
{ name: '📄 项目说明 (README)', path: 'README.md' },
|
|
125
78
|
];
|
|
126
|
-
/**
|
|
127
|
-
* 从GitHub获取目录内容
|
|
128
|
-
*/
|
|
129
79
|
async function fetchGitHubDirectory(path = '') {
|
|
130
80
|
const url = `https://api.github.com/repos/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/contents/${path}?ref=${GITHUB_REPO.branch}`;
|
|
131
81
|
try {
|
|
@@ -133,17 +83,11 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
133
83
|
'Accept': 'application/vnd.github.v3+json',
|
|
134
84
|
'User-Agent': 'NBTCA-CLI'
|
|
135
85
|
};
|
|
136
|
-
|
|
137
|
-
if (GITHUB_TOKEN) {
|
|
86
|
+
if (GITHUB_TOKEN)
|
|
138
87
|
headers['Authorization'] = `Bearer ${GITHUB_TOKEN}`;
|
|
139
|
-
}
|
|
140
|
-
const response = await axios.get(url, {
|
|
141
|
-
timeout: 10000,
|
|
142
|
-
headers
|
|
143
|
-
});
|
|
88
|
+
const response = await axios.get(url, { timeout: 10000, headers });
|
|
144
89
|
return response.data
|
|
145
90
|
.filter((item) => {
|
|
146
|
-
// 过滤掉 node_modules, .git 等目录
|
|
147
91
|
if (item.name.startsWith('.'))
|
|
148
92
|
return false;
|
|
149
93
|
if (item.name === 'node_modules')
|
|
@@ -152,7 +96,6 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
152
96
|
return false;
|
|
153
97
|
if (item.name === 'pnpm-lock.yaml')
|
|
154
98
|
return false;
|
|
155
|
-
// 只显示目录和 markdown 文件
|
|
156
99
|
if (item.type === 'file' && !item.name.endsWith('.md'))
|
|
157
100
|
return false;
|
|
158
101
|
return true;
|
|
@@ -164,7 +107,6 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
164
107
|
sha: item.sha
|
|
165
108
|
}))
|
|
166
109
|
.sort((a, b) => {
|
|
167
|
-
// 目录排在前面
|
|
168
110
|
if (a.type === 'dir' && b.type === 'file')
|
|
169
111
|
return -1;
|
|
170
112
|
if (a.type === 'file' && b.type === 'dir')
|
|
@@ -173,7 +115,6 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
173
115
|
});
|
|
174
116
|
}
|
|
175
117
|
catch (err) {
|
|
176
|
-
// 提供更详细的错误信息
|
|
177
118
|
if (err.response?.status === 403) {
|
|
178
119
|
const rateLimitRemaining = err.response.headers['x-ratelimit-remaining'];
|
|
179
120
|
const rateLimitReset = err.response.headers['x-ratelimit-reset'];
|
|
@@ -186,319 +127,201 @@ async function fetchGitHubDirectory(path = '') {
|
|
|
186
127
|
throw new Error(`无法获取目录内容: ${err.message}`);
|
|
187
128
|
}
|
|
188
129
|
}
|
|
189
|
-
/**
|
|
190
|
-
* 从GitHub获取文件原始内容
|
|
191
|
-
*/
|
|
192
130
|
async function fetchGitHubRawContent(path) {
|
|
193
131
|
const url = `https://raw.githubusercontent.com/${GITHUB_REPO.owner}/${GITHUB_REPO.repo}/${GITHUB_REPO.branch}/${path}`;
|
|
194
132
|
try {
|
|
195
|
-
const response = await axios.get(url, {
|
|
196
|
-
timeout: 15000,
|
|
197
|
-
headers: {
|
|
198
|
-
'User-Agent': 'NBTCA-CLI'
|
|
199
|
-
}
|
|
200
|
-
});
|
|
133
|
+
const response = await axios.get(url, { timeout: 15000, headers: { 'User-Agent': 'NBTCA-CLI' } });
|
|
201
134
|
return response.data;
|
|
202
135
|
}
|
|
203
136
|
catch (err) {
|
|
204
137
|
throw new Error(`无法获取文件内容: ${err.message}`);
|
|
205
138
|
}
|
|
206
139
|
}
|
|
207
|
-
/**
|
|
208
|
-
* 清理和格式化Markdown内容
|
|
209
|
-
* 移除VitePress frontmatter和特殊语法,优化终端显示
|
|
210
|
-
*/
|
|
211
140
|
function cleanMarkdownContent(content, capabilities) {
|
|
212
141
|
let cleaned = content;
|
|
213
|
-
// 1. 移除 YAML frontmatter (---开头结尾的部分)
|
|
214
142
|
cleaned = cleaned.replace(/^---\n[\s\S]*?\n---\n/m, '');
|
|
215
|
-
// 2. 移除 VitePress 的特殊容器语法 (:::info, :::tip, :::warning 等)
|
|
216
|
-
// 保留内容,只移除容器标记
|
|
217
143
|
cleaned = cleaned.replace(/^:::(info|tip|warning|danger|details).*$/gm, '');
|
|
218
144
|
cleaned = cleaned.replace(/^:::$/gm, '');
|
|
219
|
-
// 3. 处理 VitePress 的 [[toc]] 语法
|
|
220
145
|
cleaned = cleaned.replace(/\[\[toc\]\]/gi, '**目录**\n\n_(请在浏览器中查看完整目录)_\n');
|
|
221
|
-
// 4. 优化图片显示 - 根据终端能力调整
|
|
222
146
|
if (capabilities.terminalType === 'basic') {
|
|
223
|
-
|
|
224
|
-
// This prevents clutter from image syntax that can't be displayed
|
|
225
|
-
cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt, _url) => {
|
|
226
|
-
const description = alt || '图片';
|
|
227
|
-
return `📎 [${description}]`;
|
|
228
|
-
});
|
|
147
|
+
cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt) => `📎 [${alt || '图片'}]`);
|
|
229
148
|
}
|
|
230
149
|
else if (capabilities.terminalType === 'enhanced') {
|
|
231
|
-
// Enhanced terminals: Keep alt text and show it's an image
|
|
232
150
|
cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt, url) => {
|
|
233
|
-
const description = alt || '图片';
|
|
234
151
|
const filename = url.split('/').pop() || url;
|
|
235
|
-
return `🖼️ **[图片: ${
|
|
152
|
+
return `🖼️ **[图片: ${alt || '图片'}]**\n _${filename}_`;
|
|
236
153
|
});
|
|
237
154
|
}
|
|
238
|
-
// For advanced terminals (supportsImages), keep original markdown
|
|
239
|
-
// marked-terminal will handle the image syntax appropriately
|
|
240
|
-
// 5. 清理多余的空行(超过2个连续空行压缩为2个)
|
|
241
155
|
cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
|
|
242
|
-
// 6. 移除 HTML 注释
|
|
243
156
|
cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
|
|
244
|
-
// 7. 移除 HTML 标签但保留内容 (for better terminal display)
|
|
245
157
|
cleaned = cleaned.replace(/<([a-z][a-z0-9]*)[^>]*>(.*?)<\/\1>/gi, '$2');
|
|
246
|
-
// 8. 清理开头和结尾的空白
|
|
247
158
|
cleaned = cleaned.trim();
|
|
248
159
|
return cleaned;
|
|
249
160
|
}
|
|
250
|
-
/**
|
|
251
|
-
* 提取文档标题(从第一个 # 标题)
|
|
252
|
-
*/
|
|
253
161
|
function extractDocTitle(content) {
|
|
254
162
|
const match = content.match(/^#\s+(.+)$/m);
|
|
255
163
|
return match?.[1]?.trim() ?? null;
|
|
256
164
|
}
|
|
165
|
+
async function displayInPager(content, title) {
|
|
166
|
+
const trans = t();
|
|
167
|
+
return new Promise((resolve) => {
|
|
168
|
+
const pager = process.env['PAGER'] || 'less';
|
|
169
|
+
const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim(trans.docs.endOfDocument)}\n`;
|
|
170
|
+
const lessArgs = ['-R', '-F', '-X'];
|
|
171
|
+
try {
|
|
172
|
+
const child = spawn(pager, lessArgs, { stdio: ['pipe', 'inherit', 'inherit'], shell: true });
|
|
173
|
+
child.stdin.write(fullContent);
|
|
174
|
+
child.stdin.end();
|
|
175
|
+
child.on('exit', (code) => resolve(code === 0));
|
|
176
|
+
child.on('error', () => {
|
|
177
|
+
console.error(chalk.yellow(trans.docs.pagerNotAvailable));
|
|
178
|
+
console.log(fullContent);
|
|
179
|
+
resolve(false);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
console.log(fullContent);
|
|
184
|
+
resolve(false);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
257
188
|
/**
|
|
258
|
-
*
|
|
189
|
+
* Browse a GitHub directory with @clack/prompts select()
|
|
259
190
|
*/
|
|
260
191
|
async function browseDirectory(dirPath = '') {
|
|
261
192
|
const trans = t();
|
|
262
193
|
try {
|
|
263
|
-
|
|
194
|
+
const s = createSpinner(dirPath ? `${trans.docs.loadingDir}: ${dirPath}` : trans.docs.loading);
|
|
264
195
|
const items = await fetchGitHubDirectory(dirPath);
|
|
265
|
-
|
|
196
|
+
s.stop('');
|
|
266
197
|
if (items.length === 0) {
|
|
267
198
|
warning(trans.docs.emptyDir);
|
|
268
199
|
return;
|
|
269
200
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
...(dirPath ? [
|
|
273
|
-
{ name: chalk.gray(trans.docs.upToParent), value: { type: 'back' } },
|
|
274
|
-
new inquirer.Separator()
|
|
275
|
-
] : []),
|
|
201
|
+
const options = [
|
|
202
|
+
...(dirPath ? [{ value: '__back__', label: chalk.gray('↑ ' + trans.docs.upToParent) }] : []),
|
|
276
203
|
...items.map(item => ({
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
204
|
+
value: item.path,
|
|
205
|
+
label: item.type === 'dir'
|
|
206
|
+
? chalk.cyan('📁 ' + item.name + '/')
|
|
207
|
+
: chalk.white('📄 ' + item.name),
|
|
208
|
+
hint: item.type === 'dir' ? 'dir' : '.md',
|
|
281
209
|
})),
|
|
282
|
-
|
|
283
|
-
{ name: chalk.gray(trans.docs.returnToMenu), value: { type: 'exit' } }
|
|
210
|
+
{ value: '__exit__', label: chalk.gray('✕ ' + trans.docs.returnToMenu) },
|
|
284
211
|
];
|
|
285
|
-
const
|
|
286
|
-
{
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
choices,
|
|
291
|
-
pageSize: 15,
|
|
292
|
-
loop: false
|
|
293
|
-
}
|
|
294
|
-
]);
|
|
295
|
-
// 处理用户选择
|
|
296
|
-
if (selected.type === 'exit') {
|
|
212
|
+
const selected = await select({
|
|
213
|
+
message: dirPath ? `${trans.docs.currentDir}: ${dirPath}` : trans.docs.chooseDoc,
|
|
214
|
+
options,
|
|
215
|
+
});
|
|
216
|
+
if (isCancel(selected) || selected === '__exit__')
|
|
297
217
|
return;
|
|
298
|
-
|
|
299
|
-
else if (selected.type === 'back') {
|
|
300
|
-
// 返回上级目录
|
|
218
|
+
if (selected === '__back__') {
|
|
301
219
|
const parentPath = dirPath.split('/').slice(0, -1).join('/');
|
|
302
220
|
await browseDirectory(parentPath);
|
|
303
221
|
}
|
|
304
|
-
else
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
222
|
+
else {
|
|
223
|
+
const item = items.find(i => i.path === selected);
|
|
224
|
+
if (item?.type === 'dir') {
|
|
225
|
+
await browseDirectory(selected);
|
|
226
|
+
}
|
|
227
|
+
else if (item?.type === 'file') {
|
|
228
|
+
await viewMarkdownFile(selected);
|
|
229
|
+
await browseDirectory(dirPath);
|
|
230
|
+
}
|
|
313
231
|
}
|
|
314
232
|
}
|
|
315
233
|
catch (err) {
|
|
316
234
|
error(trans.docs.loadError);
|
|
317
235
|
console.log(chalk.gray(` ${trans.docs.errorHint}: ${err.message}`));
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
type: 'confirm',
|
|
321
|
-
name: 'retry',
|
|
322
|
-
message: trans.docs.retry,
|
|
323
|
-
default: true
|
|
324
|
-
}
|
|
325
|
-
]);
|
|
326
|
-
if (retry) {
|
|
236
|
+
const retry = await confirm({ message: trans.docs.retry });
|
|
237
|
+
if (!isCancel(retry) && retry) {
|
|
327
238
|
await browseDirectory(dirPath);
|
|
328
239
|
}
|
|
329
240
|
}
|
|
330
241
|
}
|
|
331
242
|
/**
|
|
332
|
-
*
|
|
333
|
-
* 提供类似vim/journalctl的阅读体验
|
|
334
|
-
*/
|
|
335
|
-
async function displayInPager(content, title) {
|
|
336
|
-
const trans = t();
|
|
337
|
-
return new Promise((resolve) => {
|
|
338
|
-
// 检测可用的pager程序
|
|
339
|
-
const pager = process.env['PAGER'] || 'less';
|
|
340
|
-
// 为内容添加标题
|
|
341
|
-
const fullContent = `${chalk.cyan.bold(`>> ${title}`)}\n${chalk.gray('='.repeat(80))}\n\n${content}\n\n${chalk.gray('='.repeat(80))}\n${chalk.dim(trans.docs.endOfDocument)}\n`;
|
|
342
|
-
// less的参数: -R (支持颜色), -F (如果内容少于一屏则直接显示), -X (退出时不清屏)
|
|
343
|
-
const lessArgs = ['-R', '-F', '-X'];
|
|
344
|
-
try {
|
|
345
|
-
const child = spawn(pager, lessArgs, {
|
|
346
|
-
stdio: ['pipe', 'inherit', 'inherit'],
|
|
347
|
-
shell: true
|
|
348
|
-
});
|
|
349
|
-
// 将内容写入pager的stdin
|
|
350
|
-
child.stdin.write(fullContent);
|
|
351
|
-
child.stdin.end();
|
|
352
|
-
child.on('exit', (code) => {
|
|
353
|
-
resolve(code === 0);
|
|
354
|
-
});
|
|
355
|
-
child.on('error', () => {
|
|
356
|
-
// 如果pager失败,回退到直接输出
|
|
357
|
-
console.error(chalk.yellow(trans.docs.pagerNotAvailable));
|
|
358
|
-
console.log(fullContent);
|
|
359
|
-
resolve(false);
|
|
360
|
-
});
|
|
361
|
-
}
|
|
362
|
-
catch {
|
|
363
|
-
// 回退方案: 直接输出
|
|
364
|
-
console.log(fullContent);
|
|
365
|
-
resolve(false);
|
|
366
|
-
}
|
|
367
|
-
});
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* 查看Markdown文件
|
|
243
|
+
* View a markdown file using pager, then offer next-action select()
|
|
371
244
|
*/
|
|
372
245
|
async function viewMarkdownFile(path) {
|
|
373
246
|
const trans = t();
|
|
374
247
|
try {
|
|
375
|
-
|
|
376
|
-
// 从GitHub获取原始Markdown内容
|
|
248
|
+
const s = createSpinner(`${trans.docs.loading.replace('...', '')}: ${path}`);
|
|
377
249
|
const rawContent = await fetchGitHubRawContent(path);
|
|
378
|
-
// 清理VitePress特殊语法 - 使用终端能力优化显示
|
|
379
250
|
const cleanedContent = cleanMarkdownContent(rawContent, terminalCapabilities);
|
|
380
|
-
// 提取标题
|
|
381
251
|
const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
|
|
382
|
-
// 渲染Markdown到终端
|
|
383
252
|
const rendered = await marked(cleanedContent);
|
|
384
|
-
|
|
385
|
-
// 使用pager显示文档 (类似vim/journalctl的阅读体验)
|
|
253
|
+
s.stop('');
|
|
386
254
|
await displayInPager(rendered, `${title}\n${chalk.gray(` ${path}`)}`);
|
|
387
|
-
console.log();
|
|
255
|
+
console.log();
|
|
388
256
|
success(trans.docs.docCompleted);
|
|
389
257
|
console.log();
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}
|
|
402
|
-
]);
|
|
403
|
-
if (action === 'browser') {
|
|
258
|
+
const action = await select({
|
|
259
|
+
message: trans.docs.chooseAction,
|
|
260
|
+
options: [
|
|
261
|
+
{ value: 'back', label: trans.docs.backToList },
|
|
262
|
+
{ value: 'reread', label: trans.docs.reread },
|
|
263
|
+
{ value: 'browser', label: trans.docs.openBrowser },
|
|
264
|
+
],
|
|
265
|
+
});
|
|
266
|
+
if (isCancel(action))
|
|
267
|
+
return;
|
|
268
|
+
if (action === 'browser')
|
|
404
269
|
await openDocsInBrowser(path);
|
|
405
|
-
|
|
406
|
-
else if (action === 'reread') {
|
|
407
|
-
// 重新阅读文档
|
|
270
|
+
if (action === 'reread')
|
|
408
271
|
await viewMarkdownFile(path);
|
|
409
|
-
}
|
|
410
272
|
}
|
|
411
273
|
catch (err) {
|
|
412
|
-
console.log('\r' + ' '.repeat(60) + '\r');
|
|
413
274
|
error(trans.docs.loadError);
|
|
414
275
|
console.log(chalk.gray(` ${trans.docs.errorHint}: ${err.message}`));
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
const { openBrowser } = await inquirer.prompt([
|
|
418
|
-
{
|
|
419
|
-
type: 'confirm',
|
|
420
|
-
name: 'openBrowser',
|
|
421
|
-
message: trans.docs.openBrowserPrompt,
|
|
422
|
-
default: true
|
|
423
|
-
}
|
|
424
|
-
]);
|
|
425
|
-
if (openBrowser) {
|
|
276
|
+
const openBrowser = await confirm({ message: trans.docs.openBrowserPrompt });
|
|
277
|
+
if (!isCancel(openBrowser) && openBrowser) {
|
|
426
278
|
await openDocsInBrowser(path);
|
|
427
279
|
}
|
|
428
280
|
}
|
|
429
281
|
}
|
|
430
282
|
/**
|
|
431
|
-
*
|
|
283
|
+
* Open docs in browser with real spinner
|
|
432
284
|
*/
|
|
433
285
|
export async function openDocsInBrowser(path) {
|
|
434
286
|
const trans = t();
|
|
287
|
+
const s = createSpinner(trans.docs.opening);
|
|
435
288
|
try {
|
|
436
|
-
info(trans.docs.opening);
|
|
437
289
|
const url = path
|
|
438
290
|
? `https://docs.nbtca.space/${path.replace(/\.md$/, '')}`
|
|
439
291
|
: 'https://docs.nbtca.space';
|
|
440
292
|
await open(url);
|
|
441
|
-
|
|
293
|
+
s.stop(trans.docs.browserOpened);
|
|
442
294
|
}
|
|
443
|
-
catch
|
|
444
|
-
error(trans.docs.browserError);
|
|
295
|
+
catch {
|
|
296
|
+
s.error(trans.docs.browserError);
|
|
445
297
|
console.log(chalk.gray(` ${trans.docs.browserErrorHint}`));
|
|
446
298
|
}
|
|
447
299
|
console.log();
|
|
448
300
|
}
|
|
449
301
|
/**
|
|
450
|
-
*
|
|
302
|
+
* Show docs category menu
|
|
451
303
|
*/
|
|
452
304
|
export async function showDocsMenu() {
|
|
453
305
|
const trans = t();
|
|
454
306
|
while (true) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
// 显示终端能力信息 - 帮助用户了解文档渲染能力
|
|
460
|
-
const terminalTypeDisplay = {
|
|
461
|
-
'basic': chalk.yellow(trans.docs.terminalBasic),
|
|
462
|
-
'enhanced': chalk.cyan(trans.docs.terminalEnhanced),
|
|
463
|
-
'advanced': chalk.green(trans.docs.terminalAdvanced)
|
|
464
|
-
}[terminalCapabilities.terminalType];
|
|
465
|
-
console.log(chalk.dim(` ${trans.docs.terminalProfile}: ${terminalTypeDisplay} | ${trans.docs.terminalSupport}: ${[
|
|
466
|
-
terminalCapabilities.supportsColor && 'Color',
|
|
467
|
-
terminalCapabilities.supportsUnicode && 'Unicode',
|
|
468
|
-
terminalCapabilities.supportsImages && 'Image'
|
|
469
|
-
].filter(Boolean).join(', ') || 'Text'}`));
|
|
470
|
-
console.log();
|
|
471
|
-
const choices = [
|
|
472
|
-
...DOC_CATEGORIES.map(cat => ({
|
|
473
|
-
name: cat.name,
|
|
474
|
-
value: cat.path
|
|
475
|
-
})),
|
|
476
|
-
new inquirer.Separator(),
|
|
477
|
-
{ name: chalk.gray(trans.docs.openBrowser), value: 'browser' },
|
|
478
|
-
{ name: chalk.gray(trans.docs.returnToMenu), value: 'back' }
|
|
307
|
+
const options = [
|
|
308
|
+
...DOC_CATEGORIES.map(cat => ({ value: cat.path, label: cat.name })),
|
|
309
|
+
{ value: 'browser', label: chalk.gray('🌐 ' + trans.docs.openBrowser) },
|
|
310
|
+
{ value: 'back', label: chalk.gray('← ' + trans.docs.returnToMenu) },
|
|
479
311
|
];
|
|
480
|
-
const
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
choices,
|
|
486
|
-
pageSize: 15,
|
|
487
|
-
loop: false
|
|
488
|
-
}
|
|
489
|
-
]);
|
|
490
|
-
if (action === 'back') {
|
|
312
|
+
const action = await select({
|
|
313
|
+
message: trans.docs.chooseCategory,
|
|
314
|
+
options,
|
|
315
|
+
});
|
|
316
|
+
if (isCancel(action) || action === 'back')
|
|
491
317
|
return;
|
|
492
|
-
|
|
493
|
-
else if (action === 'browser') {
|
|
318
|
+
if (action === 'browser') {
|
|
494
319
|
await openDocsInBrowser();
|
|
495
320
|
}
|
|
496
321
|
else if (action === 'README.md') {
|
|
497
|
-
// 直接查看 README
|
|
498
322
|
await viewMarkdownFile('README.md');
|
|
499
323
|
}
|
|
500
324
|
else {
|
|
501
|
-
// 浏览指定目录
|
|
502
325
|
await browseDirectory(action);
|
|
503
326
|
}
|
|
504
327
|
}
|
|
@@ -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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"}
|