tDiary to Hugo
ブログを復活させたかった理由は2つあります.一つは,記録を残して置きたいという理由です.もう一つは,前の前の所属のときのホームページが最近消えてしまったからです.そのブログの内容は前のブログに残っているのですが,それもいずれは消える可能性が高く,それらのデータを新たなところにブログとして公開したかったのです.いろいろな可能性を考えたのですが,静的なブログとして公開することにしたのです.
tDiaryで書いていたブログの内容は,月ごとに202503.td2などというファイルに格納されている.これをHugoで読み取れる形式に変換する必要があったので,変換するrubyのスクリプトを作って,以前のブログの内容を移行した.そのスクリプトの内容はこんな感じ.
Dir.entries(".").grep(/\.td2$/i).sort.each{|fl| open(fl,"r"){|f|f.read}.split(/\n\.\n/).map{|e| title=e.split(/\n/).grep(/^Title:\s*(.+)/){$1}[0] year,month,day=e.split(/\n/).grep(/^Date:\s*(\d{4,4})(\d{2,2})(\d{2,2})/){[$1,$2,$3]}[0] contents=e.split(/\n\n/)[1..-1]*"\n\n" contents=contents.sub(/\n/," <br>\n") str= <<"STRING" --- title: "#{title}" date: #{year}-#{month}-#{day}T13:42:27+09:00 draft: false ---生成したmdファイルを年毎にフォルダに分けて,contentの中に入れれば,dataの移行は完了である.これで,以前のブログが消えても,大丈夫である.ブログ内を検索は,google検索で行えるようにした.公開したばかりの昨日はまだ検索できなかったが,今日にはもう検索できるようになっていた.#{contents} STRING open("%s%s%s.md"%[year,month,day],“w”){|f|f.puts str} } }