aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bm2menu.pl
blob: 1390bae2e87a09eace31b26f68e80d9aa6c6a3e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/perl

$PRE_MENU = "";
$POST_MENU = <<EOF;
 nop	"����������������������"
 func	"�֥å��ޡ������ɲ� (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 $_;
}