- 介绍:使用类似 BBCode 的简单标签处理 JS 字符串以获取 ANSI,无额外装饰和依赖,仅处理字符串。这是 anansi-tags Python 包的 NodeJS 版本,npm 安装命令为
npm i --save anansi-tags。 基本标签处理:
parseTags函数可处理基本标签,如console.log(parseTags('[bold]Hello world[/bold]'))。
颜色处理:
- 可制作彩色文本,前景色用
[red]等,用/fg取消,如console.log(parseTags('[red]Hello world[/fg]'))。 - 可处理背景色,用
[bg_white]等,用/bg取消,如console.log(parseTags('[bg_white]Hello world[/bg]'))。
- 可制作彩色文本,前景色用
- 组合标签:可组合多种标签,如
console.log(parseTags('[yellow bg_green italic]Oh god this is unreadable[/]'))。 - 超链接处理:支持超链接,只要终端支持,如
console.log(parseTags('[link=https://github.com/3digitdev/anansi-tags]Anansi[/link] is a very simple library!')),还可样式化超链接,但link标签不能与其他类型标签组合。 转换函数:
parseAnsi函数可将 ANSI 转换为标签,如console.log(parseAnsi('\x1b[1mHello\x1b[22m'))。stripTags函数可去除标签,如console.log(stripTags('[bold]Hello[/bold]')),可配置是否保留 URL,如console.log(stripTags('[link=www.google.com]A link to Google[/link]', keepUrl=True))。stripAnsi函数可去除 ANSI,如console.log(stripAnsi('\x1b[1mHello\x1b[22m')),也可配置是否保留 URL。
- 对比与推荐:与
ansi-colors对比,认为anansi-tags在复杂格式处理上更易读,推荐使用ansi-colors处理更复杂需求,如区分216和217颜色。还提到添加了一些可能未广泛支持的标签,如blink等,对链接测试不充分,发现问题可开 issue。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。