この記事はQiitaに投稿されたものの転載です。


人間生きていればD言語くんを降臨させないといけない場面に何度も遭遇する。そこでcowsay -f dmanでいつでもD言語くんを崇めることができるようにする。
cowsay -lで使えるcowfileの一覧が見られる。

$ cowsay -l
Cow files in /usr/share/cowsay/cows:
apt beavis.zen bong bud-frogs bunny calvin cheese cock cower daemon default
dragon dragon-and-cow duck elephant elephant-in-snake eyes
flaming-sheep ghostbusters gnu head-in hellokitty kiss kitty koala kosh
luke-koala mech-and-cow meow milk moofasa moose mutilated pony pony-smaller
ren sheep skeleton snowman sodomized-sheep stegosaurus stimpy suse
three-eyes turkey turtle tux unipony unipony-smaller vader vader-koala www

同時にcowfileのあるディレクトリもわかる。ここに自分のcowfileを追加すればどこでもcowsay -fできる。というわけでD言語くんのAAを作った。

D-man AA

$ cat dman.txt
      ____
      L__L|
      /    \
    /        \
  / _______    \
  \ \#/  \/ \  /
   \|#| O| O|#\
    |#L _L__ #|
    |###|  |##|
    /###/  /##|
   /###/   /##|
  /###/___/###/
 /###########/
 /##########/
    /     \
    \     /
   _ \   /__
  |__/  |__/

Screenshot from 2016-12-01 14-38-08.png

cowfileを書く

cowfileは拡張子こそ.cowだがperlのコードである。$the_cowにAAを入れる。

  • 吹き出しの\$thoughtsと書く。
  • それ以外の\\\とエスケープする必要がある。
  • 吹き出しを伸ばすため左側にスペースを作る。
  • $eyesとか$tongueというのもあるが今回は使わない。D言語くんが舌を出すとどうなるんだろう……

そうしてできたものがこちら。

Dman cow file

##
## Dman
##
$the_cow = <<EOC;
        $thoughts     ____
         $thoughts    L__L|
            /       \\
           /         \\
          / _______   \\
          \\ \\#/  \\/ \\  /
           \\|#| O| O|#\\
            |#L _L__ #|
            |###|  |##|
            /###/  /##|
           /###/   /##|
          /###/___/###/
         /###########/
         /##########/
            /     \\
            \\     /
           _ \\   /__
          |__/  |__/
EOC

Screenshot from 2016-12-01 14-49-05.png

これを先ほどのディレクトリに入れてやればいい。

$ sudo cp dman.cow /usr/share/cowsay/cows/
$ cowsay -f dman 唯一神Dを崇めよ

Screenshot from 2016-12-01 14-51-38.png

携帯性を持たせるため小さいバージョンも作った。@simd_nyan さんのこちらのAAを使わせてもらった。

Mini Dman cow file

Screenshot from 2016-12-01 15-18-23.png

これでいつでもどこでもD言語くんのお告げが聞けるだろう。