aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bm2menu/bm2menu.pl
diff options
context:
space:
mode:
authorTatsuya Kinoshita <tats@vega.ocn.ne.jp>2011-05-04 07:05:14 +0000
committerTatsuya Kinoshita <tats@vega.ocn.ne.jp>2011-05-04 07:05:14 +0000
commit72f72d64a422d6628c4796f5c0bf2e508f134214 (patch)
tree0c9ea90cc53310832c977265521fb44db24a515e /scripts/bm2menu/bm2menu.pl
parentAdding upstream version 0.3 (diff)
downloadw3m-upstream/0.5.1.tar.gz
w3m-upstream/0.5.1.zip
Adding upstream version 0.5.1upstream/0.5.1
Diffstat (limited to 'scripts/bm2menu/bm2menu.pl')
-rw-r--r--scripts/bm2menu/bm2menu.pl58
1 files changed, 58 insertions, 0 deletions
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/\&lt;/\</g;
+ s/\&gt;/\>/g;
+ s/\&nbsp;/ /g;
+ s/\&amp;/\&/g;
+
+ return $_;
+}