ダミーのindex.htmlを自動的に作成するRubyスクリプトを書いてみた。Webサーバーのディレクトリ内ファイルが一覧表示されてしまうのを回避するためのアレである*1。
#!/usr/bin/ruby
# 指定されたディレクトリ下を再帰的に調べて、
# index.〜に相当するファイルがなければ、
# ダミーのindex.htmlを作成する。
require 'find'
dummy_content = '<html><head></head><body></body></html>'
ARGV.each do |arg|
Find.find(File.expand_path(arg)) do |path|
next unless FileTest.directory?(path)
index_pattern = File.join(path, 'index.{html,htm,shtml,shtm,php,cgi}')
index_file = Dir.glob(index_pattern, File::FNM_CASEFOLD)
if index_file.size > 0
puts index_file
else
File.open(File.join(path, 'index.html'), "w") {|f|
f.write(dummy_content)
}
end
end
end
適当なテキストエディタでスクリプトソースを打ち込んで保存し、実行権限を付けておく。dummy-index.rbという名前で保存したとして、
$ ./dummy-index.rb 'ダミーindex.htmlを作成したいディレクトリ'
のようにすれば、指定したディレクトリ(Webサイトのローカルコピーが納められたフォルダ)内を再帰的に走査してindex.〜というファイルが無いディレクトリを発見するとダミーのindex.htmlファイルを作成していく。既にindex.なにがしというファイルが存在する場合はそのパスを表示する(ダミーファイルは作成しない)。
(2009-01-02)
©2007 "TAKAHASHI Ryoji" @zone0.net