diff options
Diffstat (limited to '')
-rw-r--r-- | scripts/bm2menu/README | 21 | ||||
-rw-r--r-- | scripts/bm2menu/bm2menu.pl | 58 |
2 files changed, 79 insertions, 0 deletions
diff --git a/scripts/bm2menu/README b/scripts/bm2menu/README new file mode 100644 index 0000000..b44f144 --- /dev/null +++ b/scripts/bm2menu/README @@ -0,0 +1,21 @@ + +bm2menu.pl + + �֥å��ޡ����ե����� ~/.w3m/bookmark.html ���Ѵ����� w3m �� + �֥å��ޡ�����˥塼�Ȥ��ƻȤ����ͤˤ��롣 + +����ˡ + + ~/.w3m/bookmark.html ���Ѵ����� ~/.w3m/menu ���ɲá� + + perl bm2menu.pl ~/.w3m/bookmark.html >> ~/.w3m/menu + + ���ˡ�~/.w3m/keymap �� + + keymap x MENU Bookmarks + + ���ͤ˥����γ�����Ƥ��ɲä��ޤ��� + + ����ǡ����� `x' �ǥ֥å��ޡ�����˥塼�������ޤ��� + ��˥塼������ doc-jp/README.menu ���ɤ�Ǥ��������� + diff --git a/scripts/bm2menu/bm2menu.pl b/scripts/bm2menu/bm2menu.pl new file mode 100644 index 0000000..d89f2b5 --- /dev/null +++ b/scripts/bm2menu/bm2menu.pl @@ -0,0 +1,58 @@ +#!/usr/bin/perl + +$PRE_MENU = ""; +$POST_MENU = <<EOF; + nop "----------------------" + func "�֥å��ޡ������ɲ� (a)" ADD_BOOKMARK "aA" +EOF +# $POST_MENU = <<EOF; +# nop "----------------------" +# func "Add Bookmark (a)" ADD_BOOKMARK "aA" +# EOF + +@section = (); +%title = (); +%url = (); +while(<>) { + if (/<h2>(.*)<\/h2>/) { + $s = &unquote($1); + push(@section, $s); + } elsif (/<li><a href=\"(.*)\">(.*)<\/a>/) { + $u = &unquote($1); + $t = &unquote($2); + $url{$s} .= "$u\n"; + $title{$s} .= "$t\n"; + } +} + +print "menu Bookmarks\n"; +print $PRE_MENU; +foreach(@section) { + print " popup\t\"$_\"\t\"$_\"\n"; +} +print $POST_MENU; +print "end\n"; + +foreach(@section) { + print "\n"; + print "menu \"$_\"\n"; + @ts = split("\n", $title{$_}); + @us = split("\n", $url{$_}); + while(@ts) { + $t = shift @ts; + $u = shift @us; + print " func\t\"$t\"\tGOTO\t\"\"\t\"$u\"\n"; + } + print "end\n"; +} + +sub unquote { + local($_) = @_; + + s/\</\</g; + s/\>/\>/g; + s/\ / /g; + s/\&/\&/g; + + return $_; +} |