2008-07-18

Firefox3のライブマークを普通のブックマークへ変換する

Firefox3にしてからというもの、Firefox3の起動直後が死ぬほど重くて困っていたのだけど、ライブマークが多いともたつくという情報を見たのでSage Feeds以下のライブマークを通常のブックマークへ変換したら軽くなった。

何か変換する拡張でも無いかと思ったのだけど見つからなかったので、いったんブックマークのバックアップで.jsonファイルを出力し、Emacs上で変換し、再びブックマークの復元で戻す方法をとった。.jsonファイルのSage Feedsの子孫部分だけをNarrowingして、次のような置換を実行。

(defun firefox3-strip-livemark ()
  (interactive)
  (beginning-of-buffer)
  (replace-regexp ""livemark":1," "")
  (beginning-of-buffer)
  (replace-regexp "{"name":"placesInternal/READ_ONLY"[^}]+}," "")
  (beginning-of-buffer)
  (replace-regexp "{"name":"livemark/feedURI",[^}]+"value":"\(http://[^"]+\)"},\([^]]+}],\)"type":"text/x-moz-place-container","children":\[\]" "\2"type":"text/x-moz-place","uri":"\1"")
  (beginning-of-buffer)
  (replace-regexp "{"name":"livemark/[^}]+},?" "")
)
        

一応手元のは全部置換できたみたい。タイトルに]とか"とか}とかが入っているとうまくいかないかも。