このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

はてなダイアリーのダウンロード形式

メイン画面から、[管理]-[データ管理]を開くと「ブログのエクスポート」がある。そこに、

  1. はてなの日記データ形式
  2. Movable Type形式
  3. CSV形式
  4. PDF形式(有料)

はてなの日記データ形式」でダウンロードすると、拡張子は .xml、m-hiyama.xml ができる。「Movable Type形式」だと拡張子は .txt となり、CSV形式だと .csv

MT形式では原稿(はてな記法テキスト)がなくなっているのでダメ。XML形式はレンダリングイメージ(HTML形式)がない。CSVには全部入っている。とりあえずの目的ではXML形式が一番扱いやすそうだ。要素は、

  1. diary 文書要素
  2. diary
  3. day(属性: date, title)
  4. (dayの)body
  5. comments
  6. comment
  7. username
  8. (commentの)body
  9. timestamp

内容モデルは次のような感じ。


diary ::= (day*);
day ::= (body, comments?);
body ::= (#text)
comments ::= (comment+)
comment ::= (username, body, timestamp)

dayのbodyとcommentのbodyの違いは、day/bodyだと改行が先頭と末尾に追加され、comment/bodyではそれがないことかな。

Catyスキーマなら例えば:


type diary = [day*];

type day = {
"date": common:date,
"title": string,
"body": string,
"comments": [comment, comment*]?,
};

type comment = {
"username": string,
"body": string,
"timestamp": string,
};