ブックマークファイル 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
FilenameUseFormatOverwritten on installTweak 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:

  1. 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
  2. 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

#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

#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

区切り線 を表す.

#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から編集した方が楽である.

また,少ないながらもこの形式に対応したブックマークエディタなどがある.

対応しているもの

参考文献

offical

Files Used by Opera, http://www.opera.com/docs/operafiles/ , opera.com

更新履歴