ブックマークファイル bookmarks.adr / opera6.adr についての解説
Opera 10.50 pre-alpha で bookmarks.ini に変更された後,Post-beta fixes にて再度この形式に
注意
この文書は,Opera 10.00 の情報に基づいて作成してます.別のOS,別のバージョンの解析状況は追々.
この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.
突っ込み,感想,その他は,t.ashulaまで
説明
bookmarks.adr ( Opera 9以前では opera6.adr ) は,operaにおけるブックマーク(お気に入り)の情報を記載したファイル.
「ユーザごとの設定を使う」でインストールすると,通常 WindowsXP なら Documents and Settings\user_name\Application Data\Opera\Opera\profile
,Windows Vista なら Users\user_name\AppData\Roaming\Opera\Opera\profile
に作られる.
同時に,opera6.adr.bak
という名前でバックアップが作られることがある.
公式の解説は以下の通り(Markup一部改変).
Saved user data Filename Use Format Overwritten on install Tweak info [1] Opera6.adr Stores bookmarks. text/plain no [2] File can be saved and renamed, and another file can be selected. See the local menu on the Bookmarks tab in the Hotlist window.
Editable, but can be changed more easily in the browser. Several third party bookmark managers provide an export function.Note [1]
Tweak only while Opera is not running, except when told otherwise. Deleting files will cause data loss! Always make backups before making any changes.
Note [2]
The logic behind the bookmark installation:
- Try to read [User Prefs]Hot List File Ver2 from the opera6.ini file
- Do not alter the value if any found
- Default to opera6.adr if no value was found
- Try to install an opera6.adr file, preserve existing if the value from 1 was empty
Opera 5 behaved differently.
構造
opera6.adr ファイルは,ヘッダと,本体からなる.文字コードはデフォルトでutf-8が使われる.
数行のヘッダの後,フォルダと個々のブックマークを表す構造がブックマークの量だけ繰り返される.
ヘッダ
先頭は,Hotlist書式のversion情報が入る.
その後,ファイルのエンコード情報と,何かのversionが入る.改変が可能かどうかは不明.
Opera Hotlist version 2.0
Options: encoding = utf8, version=3
本体
本体は基本的に,#FOLDER
,#URL
と #SEPARATOR
-
の4つの要素の繰り返しによって構成される.
#FOLDER
は,そこから対応する-
が現れるまでの区間をひとつのフォルダとして扱うことを示し,#URL
は,次の#URL
か-
が現れるまでの区間をひとつのアイテムとして扱うことを示す.
#SEPERATOR
は区切り線を表し,任意の位置に出現する.
#FOLDER
,#URL
,#SEPERATOR
,-
の4つは行の先頭にあり,それ以外の属性は,タブ(U+09),名,”=“(U+3D),値 という構造をしている.
#FOLDER
属性名 | とり得る値 | 属性の種類 | 備考 |
---|---|---|---|
ID | 整数値 | 必須 |
すべての#FOLDER ,#URL ,#SEPARATOR に共通して付けられる.一意の非負整数値.
値は 各種 *.adr 全てに亘って一意の値で,生成された順につけられる. |
NAME | 文字列 | 任意 | 識別のための名前.何でもいい. |
DESCRIPTION | 文字列 | 任意 | Operaでフォルダのプロパティを編集したときのdescriptionの文字列.改行は,U+02 U+02 に変換されて保存される. |
SHORT NAME | 文字列 | 任意 | Operaでフォルダのプロパティを編集したときのnicknameに対応する文字列. |
ACTIVE | YES (NO) | 任意 | 詳細不明 |
CREATED | UnixTime | 任意 | 作られた時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値 |
EXPANDED | YES (NO) | 任意 | 開かれている状態かどうかを示す. |
ON PERSONALBAR | YES | 任意 | パーソナルバーに表示するかどうか指定する.表示するときにのみYESで作られる. |
PERSONALBAR_POS | 整数値 | (任意) | ON PERSONALBARがYESの時に何番目に表示するかを指定する.ON PERSONALBARが無ければ無効. |
ORDER | 非負整数値 | 任意 | 詳細不明 |
TRASH FOLDER | YES | 任意 | ゴミ箱(相当)のフォルダにのみ付く. |
TARGET | mini | 不明 | Opera Mini との同期 Opera Link のための情報. |
MOVE_IS_COPY | YES | 任意 | 移動ではなく,複製扱いになる. |
SUBFOLDER_ALLOWED | NO | 任意 | サブフォルダを持てるか持てないかを表す. |
SEPARATOR_ALLOWED | NO | 任意 | セパレータを持てるか持てないかを表す. |
MAX_ITEMS | 非負整数 | 任意 | 不明 |
#URL
属性名 | とり得る値 | 属性の種類 | 備考 |
---|---|---|---|
ID | 整数値 | 強制 | すべての#FOLDER ,#URL に共通して付けられる.一意の非負整数値. |
NAME | 文字列 | 任意 | 識別のための名前.何でもいい. |
URL | URL | 任意 | ブックマークしたURL.URL以外にも,bookmarkletなどのscript系も可能.必須の項目ではないらしいが,これが無ければoperaは何のアクションも起こさないので事実上必須の項目. |
DESCRIPTION | 文字列 | 任意 | Operaでアイテムのプロパティを編集したときのdescriptionの文字列.改行は,U+02 U+02 に変換されて保存される. |
SHORT NAME | 文字列 | 任意 | Operaでブックマークのプロパティを編集したときのnicknameに対応する文字列. |
CREATED | UnixTime | 強制 | アイテムが作られた時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値 |
VISITED | UnixTime | 強制 | アイテムのURLにアクセスした時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値 |
ICONFILE | アイコンファイル名か,"Bookmark Unvisited" | 任意 | faviconとして対応するファイル名を示す. |
ON PERSONALBAR | YES | 任意 | パーソナルバーに表示するかどうか指定する.表示するときにのみYESで作られる. |
PERSONALBAR_POS | 整数値 | (任意) | ON PERSONALBARがYESの時に何番目に表示するかを指定する.ON PERSONALBARが無ければ無効. |
IN PANEL | YES | 任意 | パネルに入れるかどうかを指定する.パネルにするときにのみYESになる. |
PANEL_POS | 整数値 | 任意 | IN PANEL=YESのときにパネル中で何番目に表示するかを指定する. |
SMALL SCREEN | YES | 任意 | パネル内でSmallScreenモードで表示するかどうかを指定する. |
ACTIVE | YES | 任意 | Opera終了時に開かれているとYESになる? |
ORDER | 非負整数値 | 任意 | 詳細不明. 0 - 2147483647 ? |
#SEPARATOR
区切り線 を表す.
属性名 | とり得る値 | 属性の種類 | 備考 |
---|---|---|---|
ID | 整数値 | 強制 | 省略.#FOLDER の ID属性と同様 |
構成
#FOLDER
から-
までがひとつのフォルダを構成する.フォルダの階層構造は,
#FOLDER
ID=1
NAME=Parent
#FOLDER
ID=2
NAME=Child
#URL
ID=3
URL=http://example.com/childs_bookmark
NAME=childs 1
#SEPARATOR
ID=7
#URL
ID=6
URL=http://example.com/childs_bookmark2
NAME=childs 2
-
#URL
ID=4
URL=http://example.com/Parents_bookmark
NAME=parents 1
-
#URL
ID=5
URL=http://example.com/root_bookmark
NAME=roots 1
というように#FOLDER
中に#FOLDER
を作成することで表され
+- Parent
| |
| +- Child
| | |
| | +- childs 1
| | |
| | +- (separator)
| | |
| | +- childs 2
| |
| +- parents 1
|
+- roots 1
というような構造を構成する.
カスタマイズ
上記の情報で弄れるけども,公式から引用した表にも有るようにこのファイルを弄るよりも,Operaのbookmarkから編集した方が楽である.
また,少ないながらもこの形式に対応したブックマークエディタなどがある.
対応しているもの
- オンラインブックマーク
- ソフトウェア
- BookSync(Windows)
- フローティング・ブックマーク(Windows)
参考文献
- offical
Files Used by Opera, http://www.opera.com/docs/operafiles/ , opera.com
更新履歴
- 2010/03/02 : Opera 10.50 のベータ版での変更から復帰したので修正.
- 2008/09/19 : Opera 9.5(OperaLink)に基づいたものに改訂. Vista に関して追加.
- 2007/10/22 : XML 的にinvalid な記述があったので修正
- 2007/07/15 : #SEPARTOR の記述を追加,修正.参考文献を追加
- 2006/09/22 : XML 的にinvalid な記述があったので修正
- 2006/01/30 : TRASH FOLDER を追加
- 2005/03/25 : 初版