ブックマーク情報の管理、とくにfaviconのこと

ホームディレクトリの下の Application Data\Opera\Opera\profile\ (以下単にプロファイルディレクトリと呼ぶ)をあさってみている。気がついた事は忘れないうちにメモしておこう。後日何かの役に立つかも知れない。

Operaのブックマーク情報は、このディレクトリの中の opera6.adr というファイルに格納されているようだ。UTF-8の普通のテキストなのでメモ帳で編輯可能。いくつか例を拾っておくと、まず普通のブックマークがこんな感じ:

#URL
	ID=21
	NAME=盧大統領「北の日本人拉致」 議長声明採択をけん制 - Japanese JoongAngIlbo
	SHORT NAME=好きなこと書いてよい
	URL=http://japanese.joins.com/article/article.php?aid=83815
	DESCRIPTION=ここも好きなこと書いてよい
	CREATED=1169493830
	VISITED=1169565879
	ICONFILE=japanese.joins.com.ico
	ON PERSONALBAR=YES
	PERSONALBAR_POS=1

おそらく必須なのは ID, NAME, URL だけ。
CREATED とか VISITED とかはブラウザがかってにつけた値のまま特にいじる必要なし。
SHORT NAMEDESCRIPTION については普通にブックマークのプロパティからいじれば済む話。ここをいじってないとこの属性そのものが存在しない(値が空なのではなく)こともある。
ON PERSONALBARPERSONALBAR_POS についても同様に、プロパティの "show on personal bar" をOnにしてあるときだけ現れる属性らしい。PERSONALBAR_POS の値はバーの左端を0番目として数えた値。


さて唯一プロパティから自由に編輯できない属性である ICONFILE がここではミソで、プロファイルディレクトリの下のサブディレクトimages に勝手なfaviconを入れておいて そのファイル名を書いてやると、次回起動時からfaviconが差し替えられてくれる。


ちなみにブックマークのフォルダについてはこんな感じ:

#FOLDER
	ID=43
	NAME=News
	CREATED=1164549380
#FOLDER
	ID=11
	NAME=Trash
	TRASH FOLDER=YES

この #FOLDER ステートメントに勝手に ICONFILE 属性を書き加えてやることにより「ブックマークレットやフォルダのfaviconをデフォルト以外のやつに換える」というのを試してみた。一応成功したけれども、そのブックマークレットやらフォルダやらのプロパティを後でいじってしまうと、次回起動時にfaviconはデフォルトのやつに戻ってしまうらしい。残念。


ブックマークの並び順やらフォルダの階層化やらはこのファイル中に現れる順番だけで表現しているようだ。
#FOLDER ステートメント- だけの行とで挿まれる区間がそのフォルダの中身になる。
DESCRIPTION 属性値中での改行は制御文字\x02を2つ並べて表す約束らしい。

Notesについても概ね同様

ノートについても同じくプロファイルディレクトリ中の notes.adr なるファイルに一纏めに収められていて*1、一つのノートが以下の要領で表現されている:

#NOTE
	ID=260
	NAME=†(∂_∂ )β〜☆ INCM = Incredibly Nutritious Condensed Milk
	URL=http://d.hatena.ne.jp/a6m5/edit
	CREATED=1169219174

ノートの本文が NAME の属性値に格納されている。改行についてはブックマークと同じく制御文字 \x02 ふたつで表現する方式。
作成時にWeb頁との関連付けがされていなかったノートには URL 属性が無い。
フォルダの階層構造についてもブックマークと同じ要領。

*1:なので調子に乗ってノートを幾つも作ると保存のたびに結構重たくなるよ