# 2003/09/19 微修正
=begin
user/plugin/word.rb
単なる文字列挿入プラグイン
wytodo.rbの優先度数値なし版。schedule.rbの日付無し版。
読込ファイル名は、デフォルトでは、過去日記ファイルと同名.word
分割型(abcなど)に一応対応してるつもり
option:
file=input_file :読込ファイル名指定
filemode=on(なんでもついてたらいい):読込ファイル名を「年月」化
encode=on(なんでもついてたらいい) :
や
を付加
example:
<= 過去日記ファイルと同名.word
<= yyyymm.word (200309a.wordとかでなく)
=end
def plug(opt)
#入力ファイル名の生成
#引数によりけり
word_src = ''
if opt['file'].nil?
#ファイル名の取得、拡張子の掃除
thisfile = date2monthlyfilename(@diarys[0]).chomp("\.html").chomp("\.htm")
if !opt['filemode'].nil?
#年月情報の取得(ページに付する日付の先頭より)、それをファイル名に
thisfile = @diarys[0][0..5]
end
#LOG_DIRECTORY以下のファイルの総当り検索:該当名ファイルがあるか?
Dir::find(@logDirectory){ |file|
#ここの拡張子を修正すれば「.word」ファイル以外も読むだろう
if /\/([^\/]+?)(\.word)$/i =~ file
word_src = file if thisfile == $1
end
}
else
#特にファイル名指定があった場合はそれ。元DIRはLOG_DIRECTORY
word_src = @logDirectory.chomp('/') + '/' + opt['file']
end
#エラーメッセージ等
$stderr.print "CHK; word #{word_src}\n"
if word_src == ''
$stderr.print "ERR; can't find word file.\n"
return
end
word = open(word_src).read
#フラグによっては、文字飾りモードに
if !opt['encode'].nil?
#改行を「
」に変更
word.gsub!(/\n/, "
\n")
#改行が3つ並んでるとそれを「
」に変更
word.gsub!(/
\n
\n
\n/,"\n\n
\n\n")
#このあたりで
#word.gsub!(/\n(.+\.jpg)\n/){"\n"}
#とかなんとかすると、ファイル中の「...jpg」がイメージとして読まれると思う
end
return word
end