#!/usr/bin/ruby -Ke require 'cgi' require 'htmltemplate' #CGIクラスの作成 cgi = CGI.new() #link.htmlをテンプレートとして読み込む html = HTMLTemplate.open( "link.html" ) #(ここにタイトルが入ります) をタイトルで置換 html.gsub!("(ここにタイトルが入ります)", "HTMLTemplateを用いたCGIのリンク集" ) #ファイルを読み込む File.open( "link.txt" ) do |file| # をブロックとして置換 html.block( "link" ) do |block| #各行を読み込んで、加工した配列を連結する file.collect do |line| #第一列は名前、第二列はURL name, url = line.chomp.split(/\t/) #この行用のテンプレートをコピーして tmpl = block.dup #各変数に置換 tmpl.gsub!( "(ここにサイト名が入ります)", name ) tmpl.gsub!( "(ここにURLが入ります)", url ) end.join( "" ) end end cgi.out do #ブロック指定により生成される可能性のある空行を削除して出力 html.to_s.gsub( /\n[\t\s]*\n/, "\n" ) end