@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 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 pager support (vim/journalctl style)
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
- - Modern terminals (iTerm2, Windows Terminal, GNOME Terminal)
167
- - Legacy terminals (xterm, Terminal.app)
168
- - SSH sessions
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
- ASCII-based UI elements ensure rendering on any terminal emulator.
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
@@ -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.6";
15
+ readonly version: "1.0.7";
16
16
  readonly description: "浙大宁波理工学院计算机协会";
17
17
  readonly fullDescription: "NBTCA Prompt - 极简命令行工具";
18
18
  readonly author: "m1ngsama <contact@m1ng.space>";
@@ -15,7 +15,7 @@ export const URLS = {
15
15
  };
16
16
  export const APP_INFO = {
17
17
  name: 'Prompt',
18
- version: '1.0.6',
18
+ version: '1.0.7',
19
19
  description: '浙大宁波理工学院计算机协会',
20
20
  fullDescription: 'NBTCA Prompt - 极简命令行工具',
21
21
  author: 'm1ngsama <contact@m1ng.space>',
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/features/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsXH;;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,CAuClD"}
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"}
@@ -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
- // 配置marked使用终端渲染器
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. 清理多余的空行(超过2个连续空行压缩为2个)
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
- // 5. 移除 HTML 注释
242
+ // 6. 移除 HTML 注释
142
243
  cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
143
- // 6. 清理开头和结尾的空白
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":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAErC,kBAAkB;AAClB,MAAM,CAAC,UAAU,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,IAAI,gBAAgB,EAAE;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAY5E;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9C,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1C,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAChD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/C,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9C,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE;IAChD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;CAClD,CAAC;AAEF;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAe,EAAE;IACnD,MAAM,GAAG,GAAG,gCAAgC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,aAAa,IAAI,QAAQ,WAAW,CAAC,MAAM,EAAE,CAAC;IAE/H,IAAI,CAAC;QACH,MAAM,OAAO,GAAQ;YACnB,QAAQ,EAAE,gCAAgC;YAC1C,YAAY,EAAE,WAAW;SAC1B,CAAC;QAEF,gCAAgC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,YAAY,EAAE,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,KAAK;YACd,OAAO;SACR,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI;aACjB,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACpB,6BAA6B;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,CAAC;YAEjD,qBAAqB;YACrB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAErE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;YAC/B,SAAS;YACT,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,aAAa;QACb,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACzE,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAEjE,IAAI,kBAAkB,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAC;YACvH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,IAAY;IAC/C,MAAM,GAAG,GAAG,qCAAqC,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAEvH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACpC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,YAAY,EAAE,WAAW;aAC1B;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,IAAI,OAAO,GAAG,OAAO,CAAC;IAEtB,sCAAsC;IACtC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAExD,0DAA0D;IAC1D,eAAe;IACf,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEzC,+BAA+B;IAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE7C,gBAAgB;IAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAElD,gBAAgB;IAChB,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,UAAkB,EAAE;IACjD,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,SAAS;QACT,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACZ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBACpE,IAAI,QAAQ,CAAC,SAAS,EAAE;aACzB,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK;oBACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,GAAG,CAAC;oBACnC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrC,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,SAAS,EAAE;YACxB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;SACvE,CAAC;QAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACzC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS;gBAChF,OAAO;gBACP,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,KAAK;aACZ;SACF,CAAC,CAAC;QAEH,SAAS;QACT,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,SAAS;YACT,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACnC,QAAQ;YACR,MAAM,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO;YACP,MAAM,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,eAAe;YACf,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IAEH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACtC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;gBACzB,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,KAAa;IAC1D,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;IAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,eAAe;QACf,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC;QAE7C,UAAU;QACV,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAEhL,sDAAsD;QACtD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE;gBACnC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;gBACrC,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,mBAAmB;YACnB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAElB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,oBAAoB;gBACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QAEL,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;YACb,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAE1D,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAErD,kBAAkB;QAClB,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;QACP,MAAM,KAAK,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QAE/E,gBAAgB;QAChB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAEpD,sCAAsC;QACtC,MAAM,cAAc,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO;QACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,WAAW;QACX,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACvC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;gBAChC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC9C,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAC5C,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;iBACnD;aACF;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS;YACT,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IAEH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC5C;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB;gBACrC,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAa;IACnD,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI;YACd,CAAC,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;YACzD,CAAC,CAAC,0BAA0B,CAAC;QAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG;QACd,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,SAAS,EAAE;QACxB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;QAC9D,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;KAC7D,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACvC;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc;YAClC,OAAO;YACP,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,KAAK;SACZ;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,iBAAiB,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,cAAc;QACd,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,SAAS;QACT,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
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.6",
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",
@@ -19,7 +19,7 @@ export const URLS = {
19
19
 
20
20
  export const APP_INFO = {
21
21
  name: 'Prompt',
22
- version: '1.0.6',
22
+ version: '1.0.7',
23
23
  description: '浙大宁波理工学院计算机协会',
24
24
  fullDescription: 'NBTCA Prompt - 极简命令行工具',
25
25
  author: 'm1ngsama <contact@m1ng.space>',
@@ -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
- // 配置marked使用终端渲染器
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. 清理多余的空行(超过2个连续空行压缩为2个)
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
- // 5. 移除 HTML 注释
294
+ // 6. 移除 HTML 注释
165
295
  cleaned = cleaned.replace(/<!--[\s\S]*?-->/g, '');
166
296
 
167
- // 6. 清理开头和结尾的空白
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 = [