コンソールに文字でAscii Artを出力する asciify がイノベーティブな件
※ 携帯から見ると崩れてたので修正しました。
アプリケーションをコンソールから起動させた時に Ascii Artが出ると心の癒しになりますよね。
毎回毎回のDaily ルーチンワークにちょっとした刺激を。
そんな心の健康を保つイノベーティブな AA 出力ツール、asciifyを見つけたので紹介します。
まぁ何はともあれデモをご覧ください。
$ asciify "Hello World" -f larry3d
3Dで出力しました。
他にも色々フォントがあります。
$ asciify "Hello World" -f starwars
全て調べるのであれば
$ asciify "Hello" -a
ってやると全部のフォントが出てきます。
100種類くらいあるので良い感じのやつを探すといいかもしれません。
インストールはnode.jsが入っていれば超簡単。
$ npm install asciify -g
とするだけでインストールできます。
組み込んで利用することもできるよ!
asciifyはnode.jsのモジュールなので、組み込んで利用することもできます。
var asciify = require('asciify'); asciify("HelloWorld", {font: 'starwars'}, function(err, msg) { if(err) return; console.log(msg); });
あと、ログに顔文字を出すと捗る、という話をしてた方がいたので、それに倣ってasciifyを使って顔文字connectのログを出してみた。
これは、、、捗るかも。。。
実際に使うなら、以下のようなconnect用のモジュールを作っておいて
var asciify = require('asciify'); var aafy = function() { return function (req, res, next) { var end = res.end; res.end = function(chunk, enc) { res.end = end; res.end(chunk, enc); var color = 32; var emoticon = '(^-^)'; if (res.statusCode >= 500) color = 31, emoticon = '(T-T)'; else if (res.statusCode >= 400) color = 33, emoticon = '(-_-;)'; asciify(res.statusCode+emoticon, {font: 'starwars'}, function(err, msg) { console.log('\033[' + color + 'm' + msg + '\033[39m'); }); }; next(); }; }; exports.aafy = aafy;
expressのuseする所に書く。
... app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); // express loggerの直前辺りが良い。 var aa = require('./aafy.js'); app.use(aa.aafy()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); ...
asciifyの欠点
ただこのasciify、マルチバイト文字を入力することはできません。
キタ━とかやりたいとおもっても入力するとエラーになります。
普通に入力することはできないんですが、asciifyにはkatakanaっていうフォントがあってそれ使うとそれっぽいことができます。
この場合、fontは固定されちゃいますが、キタ━はできます。
$ asciify "GP----" -f katakana
# # # # # ####### # # # # # # # # # ##### ##### ##### ##### ##### # # ### # # ## # ##
アルファベットとカタカナの対応表はココにあります。