@nbtca/prompt 1.0.6 → 1.0.8
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.md +52 -7
- package/dist/config/data.d.ts +1 -1
- package/dist/config/data.js +1 -1
- package/dist/features/docs.d.ts.map +1 -1
- package/dist/features/docs.js +122 -8
- package/dist/features/docs.js.map +1 -1
- package/dist/i18n/locales/en.json +107 -0
- package/dist/i18n/locales/zh.json +107 -0
- package/package.json +2 -2
- package/src/config/data.ts +1 -1
- package/src/features/docs.ts +156 -8
package/README.md
CHANGED
|
@@ -13,8 +13,11 @@ 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 with
|
|
16
|
+
- Browse technical documentation from terminal with adaptive rendering
|
|
17
|
+
- Smart terminal capability detection (basic/enhanced/advanced)
|
|
18
|
+
- Optimized markdown display for different terminal types
|
|
17
19
|
- Quick links to official website and GitHub
|
|
20
|
+
- Multi-language support (English/中文)
|
|
18
21
|
- Minimalist design with maximum terminal compatibility
|
|
19
22
|
- Smooth gradient animations for enhanced visual experience
|
|
20
23
|
|
|
@@ -134,8 +137,13 @@ The knowledge base viewer features:
|
|
|
134
137
|
|
|
135
138
|
- Direct GitHub repository access with authentication support
|
|
136
139
|
- Pager-style document reading (similar to vim/journalctl/less)
|
|
140
|
+
- **Adaptive terminal rendering** - detects and optimizes for your terminal type
|
|
141
|
+
- **Smart image handling** - displays images based on terminal capabilities
|
|
142
|
+
- **Terminal type detection** - automatically detects basic/enhanced/advanced terminals
|
|
137
143
|
- VitePress syntax cleaning
|
|
138
144
|
- Terminal Markdown rendering with color support
|
|
145
|
+
- Optimized text width for better readability (max 100 columns)
|
|
146
|
+
- Beautiful Unicode table borders (or ASCII for basic terminals)
|
|
139
147
|
- Browser fallback option
|
|
140
148
|
- Directory tree navigation
|
|
141
149
|
- Improved error handling with rate limit detection
|
|
@@ -161,14 +169,34 @@ Without a token, you have 60 requests per hour. With a token, you get 5000 reque
|
|
|
161
169
|
|
|
162
170
|
## Terminal Compatibility
|
|
163
171
|
|
|
164
|
-
Designed for maximum compatibility with:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
172
|
+
Designed for maximum compatibility with adaptive rendering:
|
|
173
|
+
|
|
174
|
+
### Advanced Terminals (Full Features)
|
|
175
|
+
- iTerm2 (macOS) - Image support + Unicode + Colors
|
|
176
|
+
- Kitty - Image support + Unicode + Colors
|
|
177
|
+
- WezTerm - Image support + Unicode + Colors
|
|
178
|
+
- Terminals with Sixel support
|
|
179
|
+
|
|
180
|
+
### Enhanced Terminals (Unicode + Colors)
|
|
181
|
+
- GNOME Terminal
|
|
182
|
+
- Windows Terminal
|
|
183
|
+
- Alacritty
|
|
184
|
+
- Hyper
|
|
185
|
+
- Konsole
|
|
186
|
+
- Terminator
|
|
187
|
+
|
|
188
|
+
### Basic Terminals (Universal Compatibility)
|
|
189
|
+
- xterm
|
|
190
|
+
- Terminal.app (legacy)
|
|
191
|
+
- Basic SSH sessions
|
|
169
192
|
- Screen/tmux multiplexers
|
|
170
193
|
|
|
171
|
-
|
|
194
|
+
The application automatically detects your terminal capabilities and adapts:
|
|
195
|
+
- **Basic**: Simple ASCII characters, text-only images
|
|
196
|
+
- **Enhanced**: Unicode box-drawing, formatted image references
|
|
197
|
+
- **Advanced**: Full Unicode + image support (when available)
|
|
198
|
+
|
|
199
|
+
ASCII-based fallbacks ensure rendering on any terminal emulator.
|
|
172
200
|
|
|
173
201
|
## System Requirements
|
|
174
202
|
|
|
@@ -229,6 +257,23 @@ MIT License - See LICENSE file for details
|
|
|
229
257
|
|
|
230
258
|
## Changelog
|
|
231
259
|
|
|
260
|
+
### v1.0.8 (2025-12-10)
|
|
261
|
+
|
|
262
|
+
- **Added**: Adaptive terminal rendering with automatic capability detection
|
|
263
|
+
- **Added**: Smart terminal type detection (basic/enhanced/advanced)
|
|
264
|
+
- **Added**: Intelligent image handling based on terminal capabilities
|
|
265
|
+
- **Added**: Terminal info display in knowledge base menu
|
|
266
|
+
- **Improved**: Markdown table rendering with Unicode box-drawing characters
|
|
267
|
+
- **Improved**: Optimized text width for better readability (max 100 columns)
|
|
268
|
+
- **Enhanced**: HTML tag stripping for cleaner terminal display
|
|
269
|
+
- **Technical**: Supports iTerm2, Kitty, WezTerm, and other image-capable terminals
|
|
270
|
+
|
|
271
|
+
### v1.0.7 (2025-12-10)
|
|
272
|
+
|
|
273
|
+
- **Added**: Multi-language support (i18n) - English and Chinese
|
|
274
|
+
- **Fixed**: Locale file inclusion in build process
|
|
275
|
+
- **Improved**: Internationalized UI messages and prompts
|
|
276
|
+
|
|
232
277
|
### v1.0.5 (2025-12-10)
|
|
233
278
|
|
|
234
279
|
- **Fixed**: Knowledge Base 403 error due to GitHub API rate limiting
|
package/dist/config/data.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare const URLS: {
|
|
|
12
12
|
};
|
|
13
13
|
export declare const APP_INFO: {
|
|
14
14
|
readonly name: "Prompt";
|
|
15
|
-
readonly version: "1.0.
|
|
15
|
+
readonly version: "1.0.7";
|
|
16
16
|
readonly description: "浙大宁波理工学院计算机协会";
|
|
17
17
|
readonly fullDescription: "NBTCA Prompt - 极简命令行工具";
|
|
18
18
|
readonly author: "m1ngsama <contact@m1ng.space>";
|
package/dist/config/data.js
CHANGED
|
@@ -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;AA2fH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpE;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAsDlD"}
|
package/dist/features/docs.js
CHANGED
|
@@ -11,10 +11,92 @@ import inquirer from 'inquirer';
|
|
|
11
11
|
import { error, info, success, warning } from '../core/ui.js';
|
|
12
12
|
import { spawn } from 'child_process';
|
|
13
13
|
import { t } from '../i18n/index.js';
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Detect terminal capabilities
|
|
16
|
+
*/
|
|
17
|
+
function detectTerminalCapabilities() {
|
|
18
|
+
const term = (process.env['TERM'] || '').toLowerCase();
|
|
19
|
+
const termProgram = (process.env['TERM_PROGRAM'] || '').toLowerCase();
|
|
20
|
+
const colorTerm = process.env['COLORTERM'];
|
|
21
|
+
// Detect image support (iTerm2, Kitty, WezTerm, etc.)
|
|
22
|
+
const supportsImages = termProgram.includes('iterm') ||
|
|
23
|
+
term.includes('kitty') ||
|
|
24
|
+
termProgram.includes('wezterm') ||
|
|
25
|
+
term.includes('sixel');
|
|
26
|
+
// Detect color support
|
|
27
|
+
const supportsColor = colorTerm !== undefined ||
|
|
28
|
+
term.includes('color') ||
|
|
29
|
+
term.includes('256') ||
|
|
30
|
+
term.includes('ansi') ||
|
|
31
|
+
termProgram !== '';
|
|
32
|
+
// Detect Unicode support
|
|
33
|
+
const supportsUnicode = (process.env['LANG'] || '').includes('UTF-8') ||
|
|
34
|
+
(process.env['LC_ALL'] || '').includes('UTF-8');
|
|
35
|
+
// Determine terminal type
|
|
36
|
+
let terminalType = 'basic';
|
|
37
|
+
if (supportsImages && supportsColor && supportsUnicode) {
|
|
38
|
+
terminalType = 'advanced';
|
|
39
|
+
}
|
|
40
|
+
else if (supportsColor && supportsUnicode) {
|
|
41
|
+
terminalType = 'enhanced';
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
supportsColor,
|
|
45
|
+
supportsImages,
|
|
46
|
+
supportsUnicode,
|
|
47
|
+
terminalType
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get marked-terminal renderer options based on terminal capabilities
|
|
52
|
+
*/
|
|
53
|
+
function getRendererOptions(capabilities) {
|
|
54
|
+
// Text width for better readability
|
|
55
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
56
|
+
// For basic terminals, use simpler ASCII characters
|
|
57
|
+
if (capabilities.terminalType === 'basic') {
|
|
58
|
+
return {
|
|
59
|
+
width,
|
|
60
|
+
tableOptions: {
|
|
61
|
+
chars: {
|
|
62
|
+
top: '-', 'top-mid': '+', 'top-left': '+', 'top-right': '+',
|
|
63
|
+
bottom: '-', 'bottom-mid': '+', 'bottom-left': '+', 'bottom-right': '+',
|
|
64
|
+
left: '|', 'left-mid': '+', mid: '-', 'mid-mid': '+',
|
|
65
|
+
right: '|', 'right-mid': '+', middle: '|'
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// For enhanced and advanced terminals, use Unicode box-drawing characters
|
|
71
|
+
return {
|
|
72
|
+
width,
|
|
73
|
+
tableOptions: {
|
|
74
|
+
chars: {
|
|
75
|
+
top: '─',
|
|
76
|
+
'top-mid': '┬',
|
|
77
|
+
'top-left': '┌',
|
|
78
|
+
'top-right': '┐',
|
|
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: '│'
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
// Detect terminal capabilities once at startup
|
|
95
|
+
const terminalCapabilities = detectTerminalCapabilities();
|
|
96
|
+
// Configure marked with terminal-optimized renderer
|
|
15
97
|
marked.setOptions({
|
|
16
98
|
// @ts-ignore - markedTerminal类型定义问题
|
|
17
|
-
renderer: new TerminalRenderer()
|
|
99
|
+
renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities))
|
|
18
100
|
});
|
|
19
101
|
/**
|
|
20
102
|
* GitHub仓库配置
|
|
@@ -126,7 +208,7 @@ async function fetchGitHubRawContent(path) {
|
|
|
126
208
|
* 清理和格式化Markdown内容
|
|
127
209
|
* 移除VitePress frontmatter和特殊语法,优化终端显示
|
|
128
210
|
*/
|
|
129
|
-
function cleanMarkdownContent(content) {
|
|
211
|
+
function cleanMarkdownContent(content, capabilities) {
|
|
130
212
|
let cleaned = content;
|
|
131
213
|
// 1. 移除 YAML frontmatter (---开头结尾的部分)
|
|
132
214
|
cleaned = cleaned.replace(/^---\n[\s\S]*?\n---\n/m, '');
|
|
@@ -136,11 +218,32 @@ function cleanMarkdownContent(content) {
|
|
|
136
218
|
cleaned = cleaned.replace(/^:::$/gm, '');
|
|
137
219
|
// 3. 处理 VitePress 的 [[toc]] 语法
|
|
138
220
|
cleaned = cleaned.replace(/\[\[toc\]\]/gi, '**目录**\n\n_(请在浏览器中查看完整目录)_\n');
|
|
139
|
-
// 4.
|
|
221
|
+
// 4. 优化图片显示 - 根据终端能力调整
|
|
222
|
+
if (capabilities.terminalType === 'basic') {
|
|
223
|
+
// Basic terminals: Replace images with simple text references
|
|
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
|
+
});
|
|
229
|
+
}
|
|
230
|
+
else if (capabilities.terminalType === 'enhanced') {
|
|
231
|
+
// Enhanced terminals: Keep alt text and show it's an image
|
|
232
|
+
cleaned = cleaned.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_match, alt, url) => {
|
|
233
|
+
const description = alt || '图片';
|
|
234
|
+
const filename = url.split('/').pop() || url;
|
|
235
|
+
return `🖼️ **[图片: ${description}]**\n _${filename}_`;
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
// For advanced terminals (supportsImages), keep original markdown
|
|
239
|
+
// marked-terminal will handle the image syntax appropriately
|
|
240
|
+
// 5. 清理多余的空行(超过2个连续空行压缩为2个)
|
|
140
241
|
cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
|
|
141
|
-
//
|
|
242
|
+
// 6. 移除 HTML 注释
|
|
142
243
|
cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
|
|
143
|
-
//
|
|
244
|
+
// 7. 移除 HTML 标签但保留内容 (for better terminal display)
|
|
245
|
+
cleaned = cleaned.replace(/<([a-z][a-z0-9]*)[^>]*>(.*?)<\/\1>/gi, '$2');
|
|
246
|
+
// 8. 清理开头和结尾的空白
|
|
144
247
|
cleaned = cleaned.trim();
|
|
145
248
|
return cleaned;
|
|
146
249
|
}
|
|
@@ -272,8 +375,8 @@ async function viewMarkdownFile(path) {
|
|
|
272
375
|
info(`${trans.docs.loading.replace('...', '')}: ${path}`);
|
|
273
376
|
// 从GitHub获取原始Markdown内容
|
|
274
377
|
const rawContent = await fetchGitHubRawContent(path);
|
|
275
|
-
// 清理VitePress特殊语法
|
|
276
|
-
const cleanedContent = cleanMarkdownContent(rawContent);
|
|
378
|
+
// 清理VitePress特殊语法 - 使用终端能力优化显示
|
|
379
|
+
const cleanedContent = cleanMarkdownContent(rawContent, terminalCapabilities);
|
|
277
380
|
// 提取标题
|
|
278
381
|
const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
|
|
279
382
|
// 渲染Markdown到终端
|
|
@@ -351,6 +454,17 @@ export async function showDocsMenu() {
|
|
|
351
454
|
console.log();
|
|
352
455
|
console.log(chalk.cyan.bold(` >> ${trans.docs.title}`));
|
|
353
456
|
console.log(chalk.dim(` ${trans.docs.subtitle}`));
|
|
457
|
+
// 显示终端能力信息 - 帮助用户了解文档渲染能力
|
|
458
|
+
const terminalTypeDisplay = {
|
|
459
|
+
'basic': chalk.yellow('基础'),
|
|
460
|
+
'enhanced': chalk.cyan('增强'),
|
|
461
|
+
'advanced': chalk.green('高级')
|
|
462
|
+
}[terminalCapabilities.terminalType];
|
|
463
|
+
console.log(chalk.dim(` 终端类型: ${terminalTypeDisplay} | 支持: ${[
|
|
464
|
+
terminalCapabilities.supportsColor && '彩色',
|
|
465
|
+
terminalCapabilities.supportsUnicode && 'Unicode',
|
|
466
|
+
terminalCapabilities.supportsImages && '图片'
|
|
467
|
+
].filter(Boolean).join(', ') || '纯文本'}`));
|
|
354
468
|
console.log();
|
|
355
469
|
const choices = [
|
|
356
470
|
...DOC_CATEGORIES.map(cat => ({
|
|
@@ -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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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"back": "Back",
|
|
4
|
+
"exit": "Exit",
|
|
5
|
+
"cancel": "Cancel",
|
|
6
|
+
"confirm": "Confirm",
|
|
7
|
+
"loading": "Loading...",
|
|
8
|
+
"error": "Error",
|
|
9
|
+
"success": "Success",
|
|
10
|
+
"goodbye": "Goodbye!"
|
|
11
|
+
},
|
|
12
|
+
"menu": {
|
|
13
|
+
"title": "Choose an action",
|
|
14
|
+
"events": "Recent Events",
|
|
15
|
+
"eventsDesc": "View upcoming events in next 30 days",
|
|
16
|
+
"repair": "Repair Service",
|
|
17
|
+
"repairDesc": "Computer repair and software installation",
|
|
18
|
+
"docs": "Knowledge Base",
|
|
19
|
+
"docsDesc": "Technical docs and tutorials",
|
|
20
|
+
"website": "Official Website",
|
|
21
|
+
"websiteDesc": "Visit NBTCA homepage",
|
|
22
|
+
"github": "GitHub",
|
|
23
|
+
"githubDesc": "Open source projects and code",
|
|
24
|
+
"about": "About",
|
|
25
|
+
"aboutDesc": "Project info and help",
|
|
26
|
+
"language": "Language",
|
|
27
|
+
"languageDesc": "Change display language",
|
|
28
|
+
"navigationHint": "Navigation: j/k or ↑/↓ | Jump: g/G | Quit: q or Ctrl+C",
|
|
29
|
+
"chooseAction": "Choose an action"
|
|
30
|
+
},
|
|
31
|
+
"about": {
|
|
32
|
+
"title": "About NBTCA",
|
|
33
|
+
"project": "Project",
|
|
34
|
+
"version": "Version",
|
|
35
|
+
"description": "Description",
|
|
36
|
+
"github": "GitHub",
|
|
37
|
+
"website": "Website",
|
|
38
|
+
"email": "Email",
|
|
39
|
+
"features": "Features:",
|
|
40
|
+
"feature1": "- View recent association events",
|
|
41
|
+
"feature2": "- Online repair service",
|
|
42
|
+
"feature3": "- Technical knowledge base access",
|
|
43
|
+
"feature4": "- Quick access to website and GitHub",
|
|
44
|
+
"license": "License",
|
|
45
|
+
"author": "Author"
|
|
46
|
+
},
|
|
47
|
+
"calendar": {
|
|
48
|
+
"title": "Recent Events",
|
|
49
|
+
"subtitle": "(Next 30 days)",
|
|
50
|
+
"loading": "Loading event calendar...",
|
|
51
|
+
"noEvents": "No upcoming events",
|
|
52
|
+
"error": "Failed to load event calendar",
|
|
53
|
+
"errorHint": "Please try again later or visit https://nbtca.space",
|
|
54
|
+
"dateTime": "Date & Time",
|
|
55
|
+
"eventName": "Event Name",
|
|
56
|
+
"location": "Location"
|
|
57
|
+
},
|
|
58
|
+
"docs": {
|
|
59
|
+
"title": "Knowledge Base",
|
|
60
|
+
"subtitle": "Browse documentation from terminal or open in browser",
|
|
61
|
+
"loading": "Loading documentation list...",
|
|
62
|
+
"loadingDir": "Loading directory",
|
|
63
|
+
"chooseCategory": "Choose a category:",
|
|
64
|
+
"currentDir": "Current directory",
|
|
65
|
+
"chooseDoc": "Choose a document or directory:",
|
|
66
|
+
"emptyDir": "This directory is empty",
|
|
67
|
+
"upToParent": "[..] Up to parent directory",
|
|
68
|
+
"returnToMenu": "[ ^] Return to main menu",
|
|
69
|
+
"backToList": "[ <] Back to docs list",
|
|
70
|
+
"reread": "[ ↻] Re-read document",
|
|
71
|
+
"openBrowser": "[ *] Open in browser",
|
|
72
|
+
"loadError": "Failed to load directory",
|
|
73
|
+
"errorHint": "Error",
|
|
74
|
+
"openBrowserPrompt": "Open in browser?",
|
|
75
|
+
"docCompleted": "Document loaded successfully",
|
|
76
|
+
"chooseAction": "Choose an action:",
|
|
77
|
+
"opening": "Opening browser...",
|
|
78
|
+
"browserOpened": "Knowledge base opened in browser",
|
|
79
|
+
"browserError": "Failed to open browser",
|
|
80
|
+
"browserErrorHint": "Please visit manually: https://docs.nbtca.space",
|
|
81
|
+
"retry": "Retry?",
|
|
82
|
+
"pagerNotAvailable": "⚠ Pager not available, using standard output",
|
|
83
|
+
"endOfDocument": "End of document - Press q to quit"
|
|
84
|
+
},
|
|
85
|
+
"repair": {
|
|
86
|
+
"title": "Repair Service",
|
|
87
|
+
"subtitle": "Computer repair and software installation support",
|
|
88
|
+
"opening": "Opening repair service page...",
|
|
89
|
+
"opened": "Repair service page opened in browser",
|
|
90
|
+
"error": "Failed to open browser",
|
|
91
|
+
"errorHint": "Please visit manually: https://nbtca.space/repair"
|
|
92
|
+
},
|
|
93
|
+
"website": {
|
|
94
|
+
"opening": "Opening website...",
|
|
95
|
+
"opened": "Opened in browser",
|
|
96
|
+
"error": "Failed to open browser",
|
|
97
|
+
"errorHint": "Please visit manually"
|
|
98
|
+
},
|
|
99
|
+
"language": {
|
|
100
|
+
"title": "Language Settings",
|
|
101
|
+
"currentLanguage": "Current Language",
|
|
102
|
+
"selectLanguage": "Select a language:",
|
|
103
|
+
"zh": "简体中文 (Simplified Chinese)",
|
|
104
|
+
"en": "English",
|
|
105
|
+
"changed": "Language changed successfully"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"back": "返回",
|
|
4
|
+
"exit": "退出",
|
|
5
|
+
"cancel": "取消",
|
|
6
|
+
"confirm": "确认",
|
|
7
|
+
"loading": "加载中...",
|
|
8
|
+
"error": "错误",
|
|
9
|
+
"success": "成功",
|
|
10
|
+
"goodbye": "再见!"
|
|
11
|
+
},
|
|
12
|
+
"menu": {
|
|
13
|
+
"title": "选择操作",
|
|
14
|
+
"events": "近期活动",
|
|
15
|
+
"eventsDesc": "查看未来30天的活动",
|
|
16
|
+
"repair": "维修服务",
|
|
17
|
+
"repairDesc": "电脑维修和软件安装",
|
|
18
|
+
"docs": "知识库",
|
|
19
|
+
"docsDesc": "技术文档和教程",
|
|
20
|
+
"website": "官方网站",
|
|
21
|
+
"websiteDesc": "访问 NBTCA 主页",
|
|
22
|
+
"github": "GitHub",
|
|
23
|
+
"githubDesc": "开源项目和代码",
|
|
24
|
+
"about": "关于",
|
|
25
|
+
"aboutDesc": "项目信息和帮助",
|
|
26
|
+
"language": "切换语言",
|
|
27
|
+
"languageDesc": "更改显示语言",
|
|
28
|
+
"navigationHint": "导航: j/k 或 ↑/↓ | 跳转: g/G | 退出: q 或 Ctrl+C",
|
|
29
|
+
"chooseAction": "选择一个操作"
|
|
30
|
+
},
|
|
31
|
+
"about": {
|
|
32
|
+
"title": "关于 NBTCA",
|
|
33
|
+
"project": "项目",
|
|
34
|
+
"version": "版本",
|
|
35
|
+
"description": "描述",
|
|
36
|
+
"github": "GitHub",
|
|
37
|
+
"website": "网站",
|
|
38
|
+
"email": "邮箱",
|
|
39
|
+
"features": "功能:",
|
|
40
|
+
"feature1": "- 查看协会近期活动",
|
|
41
|
+
"feature2": "- 在线维修服务",
|
|
42
|
+
"feature3": "- 技术知识库访问",
|
|
43
|
+
"feature4": "- 快速访问网站和 GitHub",
|
|
44
|
+
"license": "许可证",
|
|
45
|
+
"author": "作者"
|
|
46
|
+
},
|
|
47
|
+
"calendar": {
|
|
48
|
+
"title": "近期活动",
|
|
49
|
+
"subtitle": "(最近30天)",
|
|
50
|
+
"loading": "正在获取活动日历...",
|
|
51
|
+
"noEvents": "近期暂无活动安排",
|
|
52
|
+
"error": "无法获取活动日历",
|
|
53
|
+
"errorHint": "请稍后重试或访问 https://nbtca.space",
|
|
54
|
+
"dateTime": "日期时间",
|
|
55
|
+
"eventName": "活动名称",
|
|
56
|
+
"location": "地点"
|
|
57
|
+
},
|
|
58
|
+
"docs": {
|
|
59
|
+
"title": "知识库",
|
|
60
|
+
"subtitle": "从终端浏览文档或在浏览器中打开",
|
|
61
|
+
"loading": "正在加载文档列表...",
|
|
62
|
+
"loadingDir": "正在加载目录",
|
|
63
|
+
"chooseCategory": "选择文档分类:",
|
|
64
|
+
"currentDir": "当前目录",
|
|
65
|
+
"chooseDoc": "选择文档或目录:",
|
|
66
|
+
"emptyDir": "该目录为空",
|
|
67
|
+
"upToParent": "[..] 返回上级目录",
|
|
68
|
+
"returnToMenu": "[ ^] 返回主菜单",
|
|
69
|
+
"backToList": "[ <] 返回文档列表",
|
|
70
|
+
"reread": "[ ↻] 重新阅读文档",
|
|
71
|
+
"openBrowser": "[ *] 在浏览器中打开",
|
|
72
|
+
"loadError": "无法加载目录",
|
|
73
|
+
"errorHint": "错误",
|
|
74
|
+
"openBrowserPrompt": "是否在浏览器中打开?",
|
|
75
|
+
"docCompleted": "文档加载完成",
|
|
76
|
+
"chooseAction": "选择操作:",
|
|
77
|
+
"opening": "正在打开浏览器...",
|
|
78
|
+
"browserOpened": "已在浏览器中打开知识库",
|
|
79
|
+
"browserError": "无法打开浏览器",
|
|
80
|
+
"browserErrorHint": "请手动访问: https://docs.nbtca.space",
|
|
81
|
+
"retry": "是否重试?",
|
|
82
|
+
"pagerNotAvailable": "⚠ Pager不可用,使用标准输出",
|
|
83
|
+
"endOfDocument": "文档结束 - 按 q 退出"
|
|
84
|
+
},
|
|
85
|
+
"repair": {
|
|
86
|
+
"title": "维修服务",
|
|
87
|
+
"subtitle": "电脑维修和软件安装支持",
|
|
88
|
+
"opening": "正在打开维修服务页面...",
|
|
89
|
+
"opened": "已在浏览器中打开维修服务页面",
|
|
90
|
+
"error": "无法打开浏览器",
|
|
91
|
+
"errorHint": "请手动访问: https://nbtca.space/repair"
|
|
92
|
+
},
|
|
93
|
+
"website": {
|
|
94
|
+
"opening": "正在打开网站...",
|
|
95
|
+
"opened": "已在浏览器中打开",
|
|
96
|
+
"error": "无法打开浏览器",
|
|
97
|
+
"errorHint": "请手动访问"
|
|
98
|
+
},
|
|
99
|
+
"language": {
|
|
100
|
+
"title": "语言设置",
|
|
101
|
+
"currentLanguage": "当前语言",
|
|
102
|
+
"selectLanguage": "选择语言:",
|
|
103
|
+
"zh": "简体中文",
|
|
104
|
+
"en": "English",
|
|
105
|
+
"changed": "语言已切换"
|
|
106
|
+
}
|
|
107
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nbtca/prompt",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dev": "tsx src/index.ts",
|
|
13
13
|
"dev:watch": "tsx watch src/index.ts",
|
|
14
14
|
"build": "tsc",
|
|
15
|
-
"postbuild": "mkdir -p dist/logo && cp src/logo/logo.txt dist/logo/ && cp src/logo/ascii-logo.txt dist/logo/",
|
|
15
|
+
"postbuild": "mkdir -p dist/logo dist/i18n/locales && cp src/logo/logo.txt dist/logo/ && cp src/logo/ascii-logo.txt dist/logo/ && cp src/i18n/locales/*.json dist/i18n/locales/",
|
|
16
16
|
"clean": "rm -rf dist",
|
|
17
17
|
"prebuild": "npm run clean",
|
|
18
18
|
"prepublishOnly": "npm run build",
|
package/src/config/data.ts
CHANGED
package/src/features/docs.ts
CHANGED
|
@@ -13,10 +13,115 @@ import { error, info, success, warning } from '../core/ui.js';
|
|
|
13
13
|
import { spawn } from 'child_process';
|
|
14
14
|
import { t } from '../i18n/index.js';
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Terminal capability detection
|
|
18
|
+
* Detects if the terminal supports advanced features like images, colors, etc.
|
|
19
|
+
*/
|
|
20
|
+
interface TerminalCapabilities {
|
|
21
|
+
supportsColor: boolean;
|
|
22
|
+
supportsImages: boolean;
|
|
23
|
+
supportsUnicode: boolean;
|
|
24
|
+
terminalType: 'basic' | 'enhanced' | 'advanced';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Detect terminal capabilities
|
|
29
|
+
*/
|
|
30
|
+
function detectTerminalCapabilities(): TerminalCapabilities {
|
|
31
|
+
const term = (process.env['TERM'] || '').toLowerCase();
|
|
32
|
+
const termProgram = (process.env['TERM_PROGRAM'] || '').toLowerCase();
|
|
33
|
+
const colorTerm = process.env['COLORTERM'];
|
|
34
|
+
|
|
35
|
+
// Detect image support (iTerm2, Kitty, WezTerm, etc.)
|
|
36
|
+
const supportsImages =
|
|
37
|
+
termProgram.includes('iterm') ||
|
|
38
|
+
term.includes('kitty') ||
|
|
39
|
+
termProgram.includes('wezterm') ||
|
|
40
|
+
term.includes('sixel');
|
|
41
|
+
|
|
42
|
+
// Detect color support
|
|
43
|
+
const supportsColor =
|
|
44
|
+
colorTerm !== undefined ||
|
|
45
|
+
term.includes('color') ||
|
|
46
|
+
term.includes('256') ||
|
|
47
|
+
term.includes('ansi') ||
|
|
48
|
+
termProgram !== '';
|
|
49
|
+
|
|
50
|
+
// Detect Unicode support
|
|
51
|
+
const supportsUnicode =
|
|
52
|
+
(process.env['LANG'] || '').includes('UTF-8') ||
|
|
53
|
+
(process.env['LC_ALL'] || '').includes('UTF-8');
|
|
54
|
+
|
|
55
|
+
// Determine terminal type
|
|
56
|
+
let terminalType: 'basic' | 'enhanced' | 'advanced' = 'basic';
|
|
57
|
+
if (supportsImages && supportsColor && supportsUnicode) {
|
|
58
|
+
terminalType = 'advanced';
|
|
59
|
+
} else if (supportsColor && supportsUnicode) {
|
|
60
|
+
terminalType = 'enhanced';
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
supportsColor,
|
|
65
|
+
supportsImages,
|
|
66
|
+
supportsUnicode,
|
|
67
|
+
terminalType
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Get marked-terminal renderer options based on terminal capabilities
|
|
73
|
+
*/
|
|
74
|
+
function getRendererOptions(capabilities: TerminalCapabilities): any {
|
|
75
|
+
// Text width for better readability
|
|
76
|
+
const width = Math.min(process.stdout.columns || 80, 100);
|
|
77
|
+
|
|
78
|
+
// For basic terminals, use simpler ASCII characters
|
|
79
|
+
if (capabilities.terminalType === 'basic') {
|
|
80
|
+
return {
|
|
81
|
+
width,
|
|
82
|
+
tableOptions: {
|
|
83
|
+
chars: {
|
|
84
|
+
top: '-', 'top-mid': '+', 'top-left': '+', 'top-right': '+',
|
|
85
|
+
bottom: '-', 'bottom-mid': '+', 'bottom-left': '+', 'bottom-right': '+',
|
|
86
|
+
left: '|', 'left-mid': '+', mid: '-', 'mid-mid': '+',
|
|
87
|
+
right: '|', 'right-mid': '+', middle: '|'
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// For enhanced and advanced terminals, use Unicode box-drawing characters
|
|
94
|
+
return {
|
|
95
|
+
width,
|
|
96
|
+
tableOptions: {
|
|
97
|
+
chars: {
|
|
98
|
+
top: '─',
|
|
99
|
+
'top-mid': '┬',
|
|
100
|
+
'top-left': '┌',
|
|
101
|
+
'top-right': '┐',
|
|
102
|
+
bottom: '─',
|
|
103
|
+
'bottom-mid': '┴',
|
|
104
|
+
'bottom-left': '└',
|
|
105
|
+
'bottom-right': '┘',
|
|
106
|
+
left: '│',
|
|
107
|
+
'left-mid': '├',
|
|
108
|
+
mid: '─',
|
|
109
|
+
'mid-mid': '┼',
|
|
110
|
+
right: '│',
|
|
111
|
+
'right-mid': '┤',
|
|
112
|
+
middle: '│'
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Detect terminal capabilities once at startup
|
|
119
|
+
const terminalCapabilities = detectTerminalCapabilities();
|
|
120
|
+
|
|
121
|
+
// Configure marked with terminal-optimized renderer
|
|
17
122
|
marked.setOptions({
|
|
18
123
|
// @ts-ignore - markedTerminal类型定义问题
|
|
19
|
-
renderer: new TerminalRenderer()
|
|
124
|
+
renderer: new TerminalRenderer(getRendererOptions(terminalCapabilities))
|
|
20
125
|
});
|
|
21
126
|
|
|
22
127
|
/**
|
|
@@ -144,7 +249,7 @@ async function fetchGitHubRawContent(path: string): Promise<string> {
|
|
|
144
249
|
* 清理和格式化Markdown内容
|
|
145
250
|
* 移除VitePress frontmatter和特殊语法,优化终端显示
|
|
146
251
|
*/
|
|
147
|
-
function cleanMarkdownContent(content: string): string {
|
|
252
|
+
function cleanMarkdownContent(content: string, capabilities: TerminalCapabilities): string {
|
|
148
253
|
let cleaned = content;
|
|
149
254
|
|
|
150
255
|
// 1. 移除 YAML frontmatter (---开头结尾的部分)
|
|
@@ -158,13 +263,41 @@ function cleanMarkdownContent(content: string): string {
|
|
|
158
263
|
// 3. 处理 VitePress 的 [[toc]] 语法
|
|
159
264
|
cleaned = cleaned.replace(/\[\[toc\]\]/gi, '**目录**\n\n_(请在浏览器中查看完整目录)_\n');
|
|
160
265
|
|
|
161
|
-
// 4.
|
|
266
|
+
// 4. 优化图片显示 - 根据终端能力调整
|
|
267
|
+
if (capabilities.terminalType === 'basic') {
|
|
268
|
+
// Basic terminals: Replace images with simple text references
|
|
269
|
+
// This prevents clutter from image syntax that can't be displayed
|
|
270
|
+
cleaned = cleaned.replace(
|
|
271
|
+
/!\[([^\]]*)\]\(([^)]+)\)/g,
|
|
272
|
+
(_match, alt, _url) => {
|
|
273
|
+
const description = alt || '图片';
|
|
274
|
+
return `📎 [${description}]`;
|
|
275
|
+
}
|
|
276
|
+
);
|
|
277
|
+
} else if (capabilities.terminalType === 'enhanced') {
|
|
278
|
+
// Enhanced terminals: Keep alt text and show it's an image
|
|
279
|
+
cleaned = cleaned.replace(
|
|
280
|
+
/!\[([^\]]*)\]\(([^)]+)\)/g,
|
|
281
|
+
(_match, alt, url) => {
|
|
282
|
+
const description = alt || '图片';
|
|
283
|
+
const filename = url.split('/').pop() || url;
|
|
284
|
+
return `🖼️ **[图片: ${description}]**\n _${filename}_`;
|
|
285
|
+
}
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
// For advanced terminals (supportsImages), keep original markdown
|
|
289
|
+
// marked-terminal will handle the image syntax appropriately
|
|
290
|
+
|
|
291
|
+
// 5. 清理多余的空行(超过2个连续空行压缩为2个)
|
|
162
292
|
cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
|
|
163
293
|
|
|
164
|
-
//
|
|
294
|
+
// 6. 移除 HTML 注释
|
|
165
295
|
cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
|
|
166
296
|
|
|
167
|
-
//
|
|
297
|
+
// 7. 移除 HTML 标签但保留内容 (for better terminal display)
|
|
298
|
+
cleaned = cleaned.replace(/<([a-z][a-z0-9]*)[^>]*>(.*?)<\/\1>/gi, '$2');
|
|
299
|
+
|
|
300
|
+
// 8. 清理开头和结尾的空白
|
|
168
301
|
cleaned = cleaned.trim();
|
|
169
302
|
|
|
170
303
|
return cleaned;
|
|
@@ -314,8 +447,8 @@ async function viewMarkdownFile(path: string): Promise<void> {
|
|
|
314
447
|
// 从GitHub获取原始Markdown内容
|
|
315
448
|
const rawContent = await fetchGitHubRawContent(path);
|
|
316
449
|
|
|
317
|
-
// 清理VitePress特殊语法
|
|
318
|
-
const cleanedContent = cleanMarkdownContent(rawContent);
|
|
450
|
+
// 清理VitePress特殊语法 - 使用终端能力优化显示
|
|
451
|
+
const cleanedContent = cleanMarkdownContent(rawContent, terminalCapabilities);
|
|
319
452
|
|
|
320
453
|
// 提取标题
|
|
321
454
|
const title = extractDocTitle(cleanedContent) || path.split('/').pop() || path;
|
|
@@ -402,6 +535,21 @@ export async function showDocsMenu(): Promise<void> {
|
|
|
402
535
|
console.log();
|
|
403
536
|
console.log(chalk.cyan.bold(` >> ${trans.docs.title}`));
|
|
404
537
|
console.log(chalk.dim(` ${trans.docs.subtitle}`));
|
|
538
|
+
|
|
539
|
+
// 显示终端能力信息 - 帮助用户了解文档渲染能力
|
|
540
|
+
const terminalTypeDisplay = {
|
|
541
|
+
'basic': chalk.yellow('基础'),
|
|
542
|
+
'enhanced': chalk.cyan('增强'),
|
|
543
|
+
'advanced': chalk.green('高级')
|
|
544
|
+
}[terminalCapabilities.terminalType];
|
|
545
|
+
|
|
546
|
+
console.log(chalk.dim(` 终端类型: ${terminalTypeDisplay} | 支持: ${
|
|
547
|
+
[
|
|
548
|
+
terminalCapabilities.supportsColor && '彩色',
|
|
549
|
+
terminalCapabilities.supportsUnicode && 'Unicode',
|
|
550
|
+
terminalCapabilities.supportsImages && '图片'
|
|
551
|
+
].filter(Boolean).join(', ') || '纯文本'
|
|
552
|
+
}`));
|
|
405
553
|
console.log();
|
|
406
554
|
|
|
407
555
|
const choices = [
|