Semo 系列文章之三:插件 semo-plugin-chalk

以前已經寫了2篇 Semo 相關的文章,給你們展現了 Semo 部分的能力,分別是:

今天是第三篇,給你們介紹一個 Semo 新出爐的插件: semo-plugin-chalk,相信用 Node 寫過命令行工具的人確定用過 chalk 這個包,並且這個包也有相關的命令行工具版本 chalk-cli,我寫這個插件的目的一個是方便本身使用,還有一個就是繼續向你們展現 Semo 插件開發技巧。node

功能描述

咱們在寫 Shell 腳本的時候有時須要向外輸出一些信息,默認 Shell 的 echo 只能輸出默認色調的字符串,而終端的顏色語法可讀性不是很好,運維工程師能夠用這樣的插件提供各類顏色的終端輸出。npm

PS: 這裏固然有不少種解決方案,這裏僅僅是 Semo 給你們提供的解決方案。bash

安裝 Semo

首先,固然是須要你們安裝 Semo,推薦全局安裝。運維

npm i -g @semo/cli
複製代碼

若是不安裝,經過 npx @semo/cli 來調用後面的命令也是能夠的,固然這種是不推薦的。工具

安裝插件

插件也推薦全局安裝,由於這不屬於業務依賴post

npm i -g semo-plugin-chalk
複製代碼

固然,受益於 semo run 命令提供的機制,這裏也能夠不手動安裝插件,而是使用 semo run chalk 來調用。本文仍然假設你們安裝了插件,這樣命令更短一些。性能

使用方法

查看顏色示例:

有時候咱們記不住什麼關鍵字表明什麼顏色,經過 --demo 參數能夠看到,效果已經在頭圖中展現。優化

semo chalk --demo
複製代碼

直接輸出默認文本

semo chalk hello
複製代碼

給文本添加顏色

semo chalk hello blue
複製代碼

給文本添加顏色,下劃線,粗體,傾斜,反色

semo chalk hello blue.underline.bold.italic.inverse
複製代碼

同一行文本不一樣顏色,須要用到 chalk 的標籤模板語法

semo chalk '{red hello} {blue world}' -t
複製代碼

-t--template 參數代表開啓模板解析,不然默認是直接輸出。spa

以上命令的效果以下:插件

小結

以上就是這個 Semo 插件的用法,這個插件開發過程一共就花了不到一個小時,由於首先核心特性都是 chalk 提供的,其次,Semo 提供了 插件開發的模板,好比,我是這樣起步的:

semo create semo-plugin-chalk --template=plugin
複製代碼

因此,這裏主要仍是向你們展現通過不斷優化後,Semo 這個項目的一點點能力,同時,這個項目有一些性能問題,還須要你們給予指點。

彩蛋

假設你們環境裏只安裝了 node, npm, npx 這樣的基本命令,仍然能夠一行命令執行本文中的命令,示例:

npx @semo/cli run chalk -- hello blue.underline.bold.italic.inverse
複製代碼

慢不慢且不說,it works :)

交流羣

相關文章
相關標籤/搜索