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
---

#{contents} STRING open("%s%s%s.md"%[year,month,day],“w”){|f|f.puts str} } }

生成したmdファイルを年毎にフォルダに分けて,contentの中に入れれば,dataの移行は完了である.これで,以前のブログが消えても,大丈夫である.ブログ内を検索は,google検索で行えるようにした.公開したばかりの昨日はまだ検索できなかったが,今日にはもう検索できるようになっていた.