檜山正幸のキマイラ飼育記 メモ編 このページをアンテナに追加 RSSフィード

この「はてなダイアリー」は、
2019年1月18日の記事を最後に更新を停止します。
しかし、
「檜山正幸のキマイラ飼育記 メモ編」は保存され、新規ブログに移行します。
新しい「檜山正幸のキマイラ飼育記」と関連ブログについては、
こちらの記事 をごらんください。
連絡は hiyama{at}chimaira{dot}org へ。

2013-09-11(水)

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

| 15:40 |

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

  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 ::= <diary>(day*);
 day ::= <day date=date title=string>(body, comments?);
 body ::= <body>(#text)
 comments ::= <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,
};

2019年春「はてなダイアリー」終了に伴う「はてなブログ」への統合スケジュールのお知らせ