IEのお気に入りを[ファイル]メニューからエクスポートするとbookmark.htmができます。
このファイル、"<!DOCTYPE NETSCAPE-Bookmark-file-1>"と宣言されてますが、なんだか良くわからない規格です。
"<html>"も"<head>"も"<body>"もない、"<p>"や"<DT>"は閉じていませんし、
タグは大文字だったり小文字だったりします。
それでも文字コードさえ指定しなおせばWebkitベースのブラウザでも一応表示できます。べったり左寄せになりますが。
(短い間ですがMidoriをメインで使っていました。起動時間が改善された気がするので最近はFirefox3.6メインです。)
Operaも同じような状態です。
そこで下記のようなperlのスクリプトを使って変換をしてやります。(conv_bm.pl)
CSSを使ってレイアウトを整えるのが主目的です。<DL>や<DT>は使ったほうが良いのかもしれませんが、よく理解していないので取り除きました。
<A> タグは小文字にすべきかもしれませんが、やってません。
Firefoxから出力したBookmarkも扱えるように文字コード変換はnkfに任せてしまいます。
nkfが入っていない場合は sudo apt-get install nkf で導入します。
(Firefox 3.6はWindows版もbookmarks.htmlをUTF-8でエクスポートするようです。)
WindowsのIEから出力したbookmark.htmの場合は
nkf -w8 bookmark.htm | ./conv_bm.pl > bookmarks-normal.html
Firefoxから出力したbookmark.htmの場合は
./conv_bm.pl bookmarks.html | bookmarks-normal.html
のようにして使用します。
#!/usr/bin/perl while(<>){ last if m#<TITLE>.*</TITLE>#i; } print <<EOF; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> div { margin-top:0.5em; margin-bottom:1.0em; margin-left:2.0em; } h3 { margin:0.0em; margin-top:1.0em; } </style> <title>Bookmarks</title> </head> <body> EOF while(<>){ s#<DL><p>#<div>#ig; s#</DL><p>#</div>#ig; s#<DT>##g; s#</A>#</A><br />#ig; print; } print <<EOF; </body> </html> EOF
0 件のコメント:
コメントを投稿