MAN2HTML(1)

이름
man2html - 메뉴얼 페이지를 HTML로 변환한다.

사용법
man2html [options] [file]

설명
man2html은 file로 지정된 (혹은 파일 인자가 주어지지 않았거나 "-" 옵션이 주어지면, 표준 입력으로부터 읽어들인) 메뉴얼 페이지를 man 스타일의 nroff로부터 HTML을 생성해 결과를 표준 출력에 보여준다. tbl 매크로는 지원하지만, eqn 매크로는 지원하지 않는다. 종료 상태는 0 이고, 만약 뭔가 잘못되면, 오류 페이지를 표준 출력에 보여준다. 이 프로그램은 stand-alone 도구로도 사용할 수 있지만, 주된 목적은 사용자가 메뉴얼 페이지를 lynx(1), xmosaic(1), netscape(1) 등과 같은 HTML 브라우저를 통해 볼 수 있도록 보조하는 것이다. man2html의 주요 부분은 Richard Verhoeven <rcb5@win.tue.nl>에 의해 쓰여진 troff-to-html 엔진이다. 이것은 다음과 같은 형태의 하이퍼링크를 추가한다.

foo(3x) | "http://localhost/cgi-bin/man/man2html?3x+foo"
method://string | "method://string"
www.host.name | "http://www.host.name"
ftp.host.name | "ftp://ftp.host.name"
name@host | "mailto:name@host"
<string.h> | "file:///usr/include/string.h"

(다른 메뉴얼 페이지를 링크할 경우, 옵션에 의해 변경할 수 있다. 아래에 나와있으니 참조하라.) 링크의 확인은 하지 않는다. 즉, 링크가 가리키는 것이 존재하고 있지 않더라도 링크는 만들어진다. 문서 내부에서 각 섹션에 대한 하이퍼링크도 만들어진다. 따라서, bash(1) 같이 큰 메뉴얼 페이지에서 필요한 부분을 찾는 것이 편해진다.

옵션
표준 입력으로부터 읽어들일 때, .so 확장을 어떻게 할 것이지는 항상 명확하지 않다. -D 옵션을 사용하면 작업 디렉토리를 지정할 수 있다.

-D pathname
    pathname의 마지막 두 부분을 없애고, 변환을 시작하기 전에 거기로 이동(chdir)한다.

-E 옵션을 이용하면 cgi 스크립트로부터 간단하게 오류 메세지를 생성할 수 있다.

-E string
    주어진 오류 메시지를 포함한 오류 페이지를 출력한다.

참조처가 메뉴얼 페이지인 하이퍼링크는 일반적으로 아래와 같은 형식으로 생성된다.

    <method:cgipath><man2htmlpath><separator><manpage>

위의 내용을 기본값으로 사용하지만, 하이퍼링크의 각 부분은 옵셩들을 이용해서 원하는 내용으로 설정할 수 있다.

-h  <method:cgipath>를 http://localhost 로 설정한다. 이것이 기본값이다.

-H host[.domain][:port]
    <method:cgipath>를 http://host.domain:port 로 설정한다.

-l  <method:cgipath>를 lynxcgi:/home/httpd 로 설정한다.

-L dir
    <method:cgipath>를 lynxcgi:dir 로 설정한다.

-M man2htmlpath
    사용할 man2htmlpath를 설정한다. 기본값은 /cgi-bin/man/man2html 이다.

-p  <separator>를 '/'으로 설정한다.

-q  <separator>를 '?'으로 설정한다. 이것이 기본값이다.

httpd가 실행되고 있지 않은 기계에서 lynxcgi 방법을 이용해서 lynx를 통해 메뉴얼 페이지를 열람할 수 있다. http 데몬이 실행되고 있을 경우에는 lynx, 혹은 다른 브라우저에서도 http 방법을 이용해서 메뉴얼 페이지를 열람할 수 있다. -l (`lynxcgi') 옵션은 첫번째 방법을 사용하는 것이고 cgipath 기본값은 /home/httpd 이다. 일반적으로 cgi 스크립트는

    <path_to_script>/<more_path>?<query>

과 같이 부를 수 있다. 환경 변수 PATH_INFO와 QUERY_STRING는 각각 <more_path>, <query>로 설정된다. lynxcgi는 PATH_INFO 부분을 다룰 수 없기 때문에, 기본값으로 `?' 을 구분자로 하는 하이퍼링크를 생성한다. `-p'(`path') 옵션은 '/'를 구분자로 사용하고, `-q'(`query')는 '?'를 구분자로 사용한다. -H host 옵션은 localhost 대신 이용하는 호스트를 지정한다. 환경 변수 SERVER_NAME이 설정되어 있으면 cgi 스크립트에서

    man2html -H $SERVER_NAME

와 같이 사용할 수 있다. 이렇게 해서 사용하는 기계를 메뉴얼 페이지를 제공하는 서버처럼 동작시킬 수 있다.

버그
많은 발견적 방법(heuristic)이 있다. 출력은 항상 완벽하다고 할 수 없다. lynxcgi 방법은 lynx를 이 방법을 사용할 수 있도록 컴파일하지 않으면 사용할 수 없다. 또한 보안 상의 문제가 있을 수 있다.

관련 항목
lynx(1), man(1)

번역
윤현호 <hhyoon@kldp.org> 2004-03-25