anansi-tags

  • 介绍:使用类似 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处理更复杂需求,如区分216217颜色。还提到添加了一些可能未广泛支持的标签,如blink等,对链接测试不充分,发现问题可开 issue。
阅读 6
0 条评论