用途
Figlet Text Converter 用于将文件中被标记的文本转换为 ASCII 艺术字。它通过 figlet 库生成 ASCII 艺术,并使用一套简单、通用的标签语法,适用于所有文件类型。当标签位于注释区域时,技能会智能识别并保留注释格式。
主要能力
- 使用 <figlet> 标签标记需要转换的文本,支持指定字体或使用默认字体。
- 自动检测并保留注释风格,支持单行注释(//、#、--)和块注释(/*),以及无注释前缀的纯文本。
- 支持 400 多种 figlet 字体,默认字体为 standard。
- 自动处理依赖管理:首次运行时自动验证 Node.js 并安装 npm 依赖。
- 提供字体发现脚本,可列出所有可用字体及预览。
- 对文件进行原地修改(in-place modification)。
使用方式
标签语法
在文件中任意位置插入 <figlet> 标签来标记需要转换的文本:
- 指定字体:<figlet font="3-D">Text to Convert</figlet>
- 使用默认字体:<figlet>Text to Convert</figlet>
在不同上下文中的用法
Markdown 文档:
Section Title
<figlet font="Standard">Important Notice</figlet>
Content goes here...
Shell 脚本:
#!/bin/bash
echo '<figlet>Deployment Started</figlet>'
Script logic...
Python 代码:
<figlet>Configuration</figlet>
config = { 'setting': 'value' }
PHP/JavaScript:
// <figlet font="Block">Database Connection</figlet>
function connectDB() { // ... }
纯文本/配置文件:
<figlet>System Status Report</figlet>
This report contains...
处理流程
当用户请求 ASCII 艺术转换时:
- 读取包含 <figlet> 标签的文件。
- 验证所有字体名称(若无效则立即报错)。
- 对每个标签:提取字体名称(若省略则使用 standard);生成文本的 ASCII 艺术;从周围行检测注释风格(//、#、--、/*);使用适当的注释前缀格式化输出;用格式化后的 ASCII 艺术替换标签。
- 将更改写回文件。
注释处理
技能会自动检测注释上下文:
- 单行注释 //:输出每行带 // 前缀。
- 哈希注释 #(Python、Shell):输出带 # 前缀。
- SQL 注释 --:输出带 -- 前缀。
- 块注释 /*:输出带 * 前缀。
- 纯文本(无注释前缀):输出原始 ASCII 艺术,无格式化。
字体选择
- 默认字体:若未指定字体,使用 standard。
- 自定义字体:可指定 400 多种可用字体中的任意一种,例如:
- <figlet font="Block">Bold Text</figlet>
- <figlet font="3-D">3D Effect</figlet>
- <figlet font="Shadow">Shadowed</figlet>
- 查找字体:当用户请求列出可用字体时,运行字体发现脚本,显示前 10 种字体的预览、全部 400 多种字体的字母顺序列表,以及可在标签中使用的字体名称。
- 常用字体:standard(默认)、3-D、Block、Big、Shadow、Slant、Graffiti、Doom。
错误处理
技能在处理前验证字体:
- 指定了无效字体:立即报错,给出字体名称并建议列出可用字体。
- 文件未找到:报错并显示文件路径。
- Node.js/npm 问题:报错并给出安装说明。
适用场景
- 用户要求将文件中的文本转换为 ASCII 艺术。
- 用户提供了包含 <figlet> 标签的文件。
- 用户请求列出可用的 figlet 字体。
- 用户希望为代码、文档或配置文件添加视觉化的 ASCII 艺术标题或横幅。
限制
- 需要 Node.js v14 或更高版本。
- 依赖 figlet 包 v1.7.0 或更高版本(首次使用时自动安装)。
- 标签格式为 <figlet font="font-name">text</figlet> 或 <figlet>text</figlet>。
- 支持的注释风格://、#、--、/* 或无。
- 文件处理方式为原地修改。
捆绑资源
scripts/
- process-file.js:主处理脚本,读取文件、查找所有 <figlet> 标签、验证字体、生成 ASCII 艺术、检测注释风格并写入结果。首次运行时自动验证 Node.js 并安装 npm 依赖。用法:node process-file.js <file-path>
- list-fonts.js:显示所有可用的 figlet 字体及预览和完整列表,帮助用户找到标签中使用的确切字体名称。用法:node list-fonts.js
- package.json:Node.js 项目文件,包含 figlet v1.7.0+ 依赖。
- .gitignore:排除 node_modules 的版本控制。
references/
- usage-guide.md:所有功能和边缘情况的综合参考文档。
技术细节
- Node.js 要求:v14 或更高。
- Figlet 包:v1.7.0 或更高(首次使用时自动安装)。
- 标签格式:<figlet font="font-name">text</figlet> 或 <figlet>text</figlet>。
- 支持的注释风格://、#、--、/* 或无。
- 默认字体:standard。
- 文件处理:原地修改。