積極的にメモっていく姿勢

題名詐欺。更新頻度の低さが売り。

jade を使ってみる

インフルエンザだと思っていたら、食あたりかもしれないと思っている富雄です。

さて、今は自分の Portfolio サイトを作ろうと思いたちまして、作品の完成よりも勉強に熱が入っております。これも、進路が未定である現段階で、作品をまとめてアピールできるところがないと、まずいということであります。

0. ことの発端


とはいえ、はじめは別段まとめる気も無かったのです。
しかし、先日開催されました、Ohotech 並盛 #11 で WebDesign に触れようというお題目で Desing 原案を紙に描いてしまったものですから、こうして形に。

もちろん、進路のためもありますが、好きで作っているので、そこはちいちゃな動機です。
それでは、簡単な jade 入門をしていきましょう。

1. jade とは


jade とは node.js で書かれたテンプレートエンジンのようです。
また、テンプレートエンジンというのは html を書き易く、管理し易くするものだと理解しています。

2. 現在の環境


  • OS : CentOS release 6.4
  • shell : Bash 4.1.2(1)
  • python : 2.7.5
  • node.js : v0.10.22
  • npm : 1.3.14

CentOSの version を確認するには、/etc/redhat-releaseの中身を見れば良いようです。

$ cat /etc/redhat-release
CentOS release 6.4 (Final)

jade をインストールするために、node.js の package 管理をしてくれる npm が必要なのですが、これが何か python2.7.x が必要らしく、python から整えました。
// 詳しく調べてないですごめんなさい。

python, node.js, npm の流れは全面的に、以下のBlog様に倣いました。大成功。

CentOS6.3にnode.jsをインストールする | Snippets

その後、jadenpm で入れてみる訳ですが、そこで一悶着。

$ npm -g install jade
...
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/jade'

おうふ。
sudo つけわすれてたよ(笑)
↑ sudo 付ければ解決すると思っているこの対応が既に処刑対象

$ sudo npm -g install jade
sudo: npm: コマンドが見つかりません

なんということでしょう。

どうやら、-g はグローバルにインストールするという意味らしい。
そこで転んでしまっているので、安易にも sudo-g をとっぱらうことに。

$ npm install jade

いとも簡単に install できました。

$ jade
jade: コマンドが見つかりません

install できたのにコマンドが見つかりませんとは......

第2回 パッケージ管理npmとアプリケーションの永続化:基礎から学ぶNode.js|gihyo.jp … 技術評論社

こちらに依ると、node.js で install したものは ~/node_modules/ に入るらしい。
まあ、そら path も通ってないだろうな......

じゃあシンボリックリンクを張ってしまえばいいんだな!(安直)

$ echo $PATH
[省略]

どうやら、~/bin にも path が通っているので、ここにシンボリックリンクを張ることにしました。

$ ln -s ~/node_modules/jade/bin/jade ~/bin/jade
$ jade --version
0.35.0

これはうまくいっている......
果たして正しかったのだろうか......
動 け ば 正 義

正しい対処法を調べる必要があります。

3. さわった

tomio2480 / jade-practice — Bitbucket

此処を見るよりも圧倒的に本家を見た方がいいです。
ただ、この記事を書いている時点で、extends については詳しく解説されていない模様。

あと、以下のBlog様をかなり参考にさせて頂きました。

A Node in Nodes - 10分でわかるjadeテンプレートエンジン

私のソースファイルで唯一、extends-a,b,c のやつだけは参考になるかも.
一気に二つの jade ファイルを extends しようとすると、後から extends したものしか有効にならない。
その上、エラーは出ない。ということがおきました。

別段、此処に書く程でも無いですが、mixin は使う前に書かないとエラーが出ました。

4. 後々気付く

$ which npm
/usr/local/bin/npm

$ which python
/usr/local/bin/python

$ sudo which python
/usr/bin/python/

python すら違うところにあるんだけど......

こういう時は、install 時に --prefix とか使ってみたりとかするのでしょうか。
なんとなく、sudo ついていたのでみんな使えるところに入ったのかと思っていました。
Linuxの勉強不足がにじみます。


あこがれの template engine に触れることが出来たので、病み上がりは寝ます。
// markdownうまくかけてないけど無視しました(適当)

夜中に書く記事はバグが多くて大変です。
昼間に書きましょう。

参考文献