diff options
| author | Fumitoshi UKAI <ukai@debian.or.jp> | 2001-11-21 03:58:32 +0000 | 
|---|---|---|
| committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2001-11-21 03:58:32 +0000 | 
| commit | 2a57d730276ed5565ca2252376bc47ddaccf5b0a (patch) | |
| tree | bfc019a306dfff94a00f1bc2b74ddd5e70447beb /scripts/w3mman/w3mman2html.cgi | |
| parent | add rcsids (diff) | |
| download | w3m-2a57d730276ed5565ca2252376bc47ddaccf5b0a.tar.gz w3m-2a57d730276ed5565ca2252376bc47ddaccf5b0a.zip | |
remove autogenerated files
rename scripts/dirlist.in to scripts/dirlist.cgi.in
Diffstat (limited to 'scripts/w3mman/w3mman2html.cgi')
| -rw-r--r-- | scripts/w3mman/w3mman2html.cgi | 252 | 
1 files changed, 0 insertions, 252 deletions
| diff --git a/scripts/w3mman/w3mman2html.cgi b/scripts/w3mman/w3mman2html.cgi deleted file mode 100644 index 0f75502..0000000 --- a/scripts/w3mman/w3mman2html.cgi +++ /dev/null @@ -1,252 +0,0 @@ -#!/usr/local/bin/perl - -$MAN = $ENV{'MAN'} || 'man'; -$QUERY = $ENV{'QUERY_STRING'} || $ARGV[0]; -$SCRIPT_NAME = $ENV{'SCRIPT_NAME'} || $0; -$CGI = "file://$SCRIPT_NAME"; -$CGI2 = "file:"; -# $CGI2 = "file:///\$LIB/hlink.cgi?"; -$SQUEEZE = 1; - -if ($QUERY =~ /\=/) { -  for (split('&', $QUERY)) { -    ($v, $q) = split('=', $_, 2); -    $query{$v} = &form_decode($q);  -  } -} else { -  $QUERY =~ s/^man=//; -  $query{"man"} = &form_decode($QUERY); -} - -if (! $query{"man"}) { -  if ($query{"keyword"}) { -    $keyword = $query{"keyword"}; -    $k = &html_quote($keyword); -    print <<EOF; -Content-Type: text/html - -<html> -<head><title>man -k $k</title></head> -<body> -<h2>man -k <b>$k</b></h2> -<ul> -EOF -    $keyword =~ s:([^\w./]):\\$1:g; -    open(F, "$MAN -k $keyword 2> /dev/null |"); -    @line = (); -    while(<F>) { -      chop; -      $_ = &html_quote($_); -      s/(\s+-.*)$//; -      $title = $1; -      s@(\w[\w.\-]*(\s*\,\s*\w[\w.\-]*)*)\s*(\([\dn]\w*\))@&keyword_ref($1, $3)@ge; -      print "<li>$_$title\n"; -    } -    close(F); -    print <<EOF; -</ul> -</body> -</html> -EOF -    exit; -  } -  print <<EOF; -Content-Type: text/html - -<html> -<head><title>man</title></head> -<body> -<form action="$CGI"> -<table> -<tr><td>Manual:<td><input name=man> -<tr><td>Section:<td><input name=section> -<tr><td>Keyword:<td><input name=keyword> -<tr><td><td><input type=submit> <input type=reset> -</table> -</form> -</body> -</html> -EOF -  exit; -} - -$man = $query{"man"}; -if ($man =~ s/\((\w+)\)$//) { -  $section = $1; -  $man_section = "$man($1)"; -} elsif ($query{"section"}) { -  $section = $query{"section"}; -  $man_section = "$man($section)"; -} else { -  $section = ""; -  $man_section = "$man"; -} - -$section =~ s:([^\w./]):\\$1:g; -$man =~ s:([^\w./]):\\$1:g; -open(F, "$MAN $section $man 2> /dev/null |"); -$ok = 0; -undef $header; -$blank = -1; -while(<F>) { -  if (! defined($header)) { -    /^\s*$/ && next; -    $header = $_; -    $space = $header; -    chop $space; -    $space =~ s/\S.*//; -  } elsif ($_ eq $header) {		# delete header -    $blank = -1; -    next; -  } elsif (!/\010/ && /^$space[\w\200-\377].*\s\S/o) {	# delete footer -    $blank = -1; -    next; -  } -  if ($SQUEEZE) { -    if (/^\s*$/) { -      $blank || $blank++; -      next; -    } elsif ($blank) { -      $blank > 0 && print "\n"; -      $blank = 0; -    } -  } - -  s/\&/\&/g; -  s/\</\</g; -  s/\>/\>/g; - -  s@([\200-\377].)(\010{1,2}\1)+@<b>$1</b>@g; -  s@(\&\w+;|.)(\010\1)+@<b>$1</b>@g; -  s@__\010{1,2}((\<b\>)?[\200-\377].(\</b\>)?)@<u>$1</u>@g; -  s@_\010((\<b\>)?(\&\w+\;|.)(\</b\>)?)@<u>$1</u>@g; -  s@((\<b\>)?[\200-\377].(\</b\>)?)\010{1,2}__@<u>$1</u>@g; -  s@((\<b\>)?(\&\w+\;|.)(\</b\>)?)\010_@<u>$1</u>@g; -  s@.\010(.)@$1@g; - -  s@\</b\>\</u\>\<b\>_\</b\>\<u\>\<b\>@_@g; -  s@\</u\>\<b\>_\</b\>\<u\>@_@g; -  s@\</u\>\<u\>@@g; -  s@\</b\>\<b\>@@g; - -  if (! $ok) { -    /^No/ && last; -    print <<EOF; -Content-Type: text/html - -<html> -<head><title>man $man_section</title></head> -<body> -<pre> -EOF -    print; -    $ok = 1; -    next; -  } - -  s@(http|ftp)://[\w.\-/~]+[\w/]@<a href="$&">$&</a>@g; -  s@(\W)(mailto:)?(\w[\w.\-]*\@\w[\w.\-]*\.[\w.\-]*\w)@$1<a href="mailto:$3">$2$3</a>@g; -  s@(\W)(\~?/[\w.][/\w.\-]*)@$1 . &file_ref($2)@ge; -  s@(include(<\/?[bu]\>|\s)*\<)([/\w.\-]+)@$1 . &include_ref($3)@ge; -  s@(\w[\w.\-]*)((\</[bu]\>)*)(\([\dm]\w*\))@<a href="$CGI?$1$4">$1</a>$2$4@g; -  print; -} -close(F); -if (! $ok) { -  if ($query{'quit'}) { -    print STDERR "No manual entry for $man_section.\n"; -    print <<EOF; -w3m-control: EXIT -EOF -    exit 1; -  } -  print <<EOF; -Content-Type: text/html - -<html> -<head><title>man $man_section</title></head> -<body> -<pre> -EOF -  print "No manual entry for <B>$man_section</B>.\n"; -} -print <<EOF; -</pre> -</body> -</html> -EOF - -sub is_command { -  local($_) = @_; -  local($p); - -  (! -d && -x) || return 0; -  if (! defined(%PATH)) { -    for $p (split(":", $ENV{'PATH'})) { -      $p =~ s@/+$@@; -      $PATH{$p} = 1; -    } -  } -  s@/[^/]*$@@; -  return defined($PATH{$_}); -} - -sub file_ref { -  local($_) = @_; - -  if (&is_command($_)) { -    ($man = $_) =~ s@.*/@@; -    return "<a href=\"$CGI?$man\">$_</a>"; -  } -  if (/^\~/ || -f || -d) { -    return "<a href=\"$CGI2$_\">$_</a>"; -  } -  return $_; -} - -sub include_ref { -  local($_) = @_; -  local($d); - -  for $d ( -	"/usr/include", -	"/usr/local/include", -	"/usr/X11R6/include", -	"/usr/X11/include", -	"/usr/X/include", -	"/usr/include/X11" -  ) { -    -f "$d/$_" && return "<a href=\"$CGI2$d/$_\">$_</a>"; -  } -  return $_; -} - -sub keyword_ref { -  local($_, $s) = @_; -  local(@a) = (); - -  for (split(/\s*,\s*/)) { -    push(@a, "<a href=\"$CGI?$_$s\">$_</a>"); -  } -  return join(", ", @a) . $s; -} - -sub html_quote { -  local($_) = @_; -  local(%QUOTE) = ( -    '<', '<', -    '>', '>', -    '&', '&', -    '"', '"', -  ); -  s/[<>&"]/$QUOTE{$&}/g; -  return $_; -} - -sub form_decode { -  local($_) = @_; -  s/\+/ /g; -  s/%([\da-f][\da-f])/pack('c', hex($1))/egi; -  return $_; -} - | 
