番号がふってあるテキストファイルをhtml化して読む。

利点

  • 色々情報を付加できる。
    • 「次へ」、「前へ」のリンクを付けたりとか

code

とても汚いです><。
ファイルのあるところにおいてください。

$KCODE="utf8"
target= ARGV[0] || "rensou"

def make_html(txtname, name=nil, &filter)
  htmlname=txtname.split(".").first.to_s+".html"
  puts "cleate #{htmlname}"

  File.open(htmlname, "w")  do |wf| 
    filter[wf, File.read(txtname), name || htmlname]
  end
end

#このfilterでいろいろな情報を付加する。
#ここでは、一番上と一番下に「前へ」と「次へ」のリンクを付けている。
filter = proc do |wf, rf, name|
  n = $&.to_i if name =~ /\d+/
  link = proc do |i,output|
    filename = name.sub(/\d+/){$&.to_i+i}
    %Q{<a href="./#{filename}">#{output}</a>}
  end
  pre_next_link=proc do
    wf.puts link[-1, "前へ"]
    wf.puts link[1, "次へ"]
    wf.puts "<br>"
  end

  wf.puts %Q{<html><head><title>#{name}</title>\n<meta http-equiv=content-type content="text/html; charset=UTF-8"></head>\n<body>}
  begin
    pre_next_link.call
    wf.puts rf.map{|e| e.chomp+"<br>"}
    pre_next_link.call
  ensure
    wf.puts "</body>\n</html>"
  end
end


dirs = Dir[target+"*.txt"].sort_by{|e| $&.to_i if e=~ /\d+/}
#dirs = ["rensou7.txt"]
dirs.each { |e| make_html(e,&filter) }

他の方法

greasemonkeyを使って動的にリンクを付加した方が便利だったかもしれない。
(特定のテキストファイルを開くとそれを元にhtmlを作る様な感じ)
もっと便利な方法あったら教えてください。><