Rubyにおけるhtml/xhtmlテンプレートライブラリです。 テンプレートがhtml/xhtmlそのままなので、 プログラム部分と表示部分の切り離しがとても楽にできます。
amrita 1.0.2の場合です。
amrita本体とstrscanが必要です。
次のライブラリを使用する場合は他にも必要なものがあります。 使わなければいりません。
ただし、フォーマットにyamlを使う場合のみ。
どちらか一方でいいです。
rexmlはどちらか一方を。 uconvはなくても動きますが、UTF-8を変換してくれません。
この中でコンパイルの必要があるのはstrscanとuconvのみです。 strscanはC版でなくpure Ruby版もありますが、 速度を考えるとC版をお勧めします。
uconvはなくてもいいですが、あったら後々便利だと思います。
今回は、amrita、strscan、rexml-stable、uconvを入れてみようと思います。
基本的にはFTPでの/ディレクトリ*1 で行います。 SSHの接続方法は自分で調べてください。
展開したフォルダの中のext/cscan/の中身を/へ移します。 後は、SSHで
rbash-2.05a$ ruby extconf.rb rbash-2.05a$ make
できたcscan.soをダウンロード。
展開したフォルダ名の中身を/へ移します。 ただし、sampleは要りません。 後は、SSHで
rbash-2.05a$ ruby extconf.rb rbash-2.05a$ make
できたuconv.soをダウンロード。
libディレクトリ用意し、その下に全てのファイルを置きます。
lib/ |-- amrita/ | |-- ams.rb ~ ~ | `-- xml.rb |-- rexml/ | |-- dtd/ | | |-- attlistdecl.rb ~ ~ ~ | | `-- notationdecl.rb | |-- attlistdecl.rb ~ ~ | `-- xpath_parser.rb |-- cscan.so |-- rscan.rb |-- strscan.rb |-- scanner.rb `-- uconv.so
次に、/private_dataにそのまま全てを置きます。 ディレクトリは700、ファイルは600です。 また、*.rbはアスキーモード、*.soはバイナリモードで転送してください。
面倒な人が多そうなので、tar.gzで固めました。
コンパイルはs1で行いましたが、他のサーバでも動くでしょう。 実はテストはまだです…。
実際使ってみましょう。
まず、環境変数RUBYLIBを/virtual/***/private_data/libに設定します。
.htaccessに次の一行をくわえます。
文字列の***には自分のユーザー名を入れてください。
*2
SetEnv RUBYLIB /virtual/***/private_data/lib
後は、適当にrequireするだけです。 amritaのリファレンスを見ながら、色々やってみて下さい。
amrita以外にも欲しいものがたぶん出てくるでしょう。 例えば、zlibやGDまたはlibpng等です。 しかし、同じようにやれば可能だと思います。 コンパイルもそんなに考えるほど難しいものではありません。 ただし、Rubyのライブラリはコンパイル方法が統一されているとは言えません。 それぞれのライブラリのreadme等を良く読んでください。
こんなの面倒だとお思いになるのであれば、 サポ板で要請すれば、 入れてくれるかも知れません…。
*1実際は"/virtual/ユーザー名"のディレクトリ
*2もし、予めRUBYLIBが設定されているのであれば、
/virtual/***/private_data/lib:$RUBYLIBにしてください。