2019-06-24

Apache Rivet 3.1.1

Apache Rivet は Apache HTTP Server のモジュールで、PHP のようにサーバ・サイドで動的な Web ページを作成できる Tcl システムです[1]。現バージョンの Rivet 3.x 系は Apache 2.2.x と 2.4.x に対応しています。Tcl はバージョン 8.6 以上が推奨されています。

しばらく Rivet の RPM パッケージを更新していませんでしたが、Rivet の方は着々と更新を重ねてバージョン 3 系 (3.1.1) になっていました。気が付いた時に RPM パッケージを更新しないと、と思い立ち、Fedora 30 向けに更新した RPM パッケージを公開しました[2]。Rivet 3.1 は Tcl 8.5.10 以上が必要ですが、RPM パッケージを作成するときに 8.5 と 8.6 の場合分けが面倒だったので依存パッケージで Tcl 8.6 以上必要としてしまいました。ご了承下さい。

※ Tcl のバージョンに対応したものに差し替えました。 mod_rivet-3.1.1-2.fc30.x86_64.rpm [2019-07-01]

参考サイト [3] で紹介されているカレンダーを表示するサンプルを紹介します。実行には Tcl の他に Incr Tcl (itcl) がインストールされている必要があります。

カレンダーを表示するサンプル 
<? set hello_message "Calendar" ?>
<html>
  <head>
    <title><? puts $hello_message ?></title>
  </head>
  <body><?
package require Calendar

proc ::cal_cell_attributes {day month year weekday} {
    if {$weekday == 3} {
        return [list class curr_wkday]
    }
}

set htmlc [HtmlCalendar #auto]
set html_txt [$htmlc emit \
        -container {table class calendar} \
        -current_weekday 3 \
        -cell_function cal_cell_attributes]
puts $html_txt
?></body>
</html>

これを calendar.rvt というように、拡張子 rvt のついたファイル名で保存し、保存したファイルを Web サーバー (Apache) からブラウザで読み込むと以下のようになります。


参考 サイト

  1. Rivet - Webscripting for Tcl'ers
  2. Apache Rivet RPM Wiki - OSDN
  3. Examples and Usage

 

ブログランキング・にほんブログ村へにほんブログ村

0 件のコメント: