それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

man page をHTML(PDF)にして持ち歩く

manpage を読みたい。でも時間が無い。ssh_config とか長いし、bashとかも長い。

manpageをゆっくり読みたい。

KindleiPad miniに入れて電車の中でじっくり読んでみたい
それにPDFにすれば印刷できるじゃん?

HTML化してkindleでmobi にすれば楽ちんじゃん?

manpageをhtmlに変換する

man -> HTMLに出力するには
$groff -Thtml -mandoc -c  /usr/local/share/man/man5/ssh_config.5 > out.html
man をPDFに出力するには
$groff -Tps -mandoc -c  /usr/local/share/man/man5/ssh_config.5 \
 | ps2pdf - > ssh_config.pdf

ちなみにmanのファイルの位置を探すには。

そもそもmanファイルの位置が解らないと、どうするんだってことで。

manファイルの位置を表示する

$ man -w ssh_config
/usr/local/share/man/man5/ssh_config.5

これらを併せてシェルコマンドにする

これをシェルコマンドにして使えるようにしておこう。

man2pdf

manpage のファイルを pdfに出力する.

#!/usr/bin/env bash
if ! $( type -P groff >/dev/null); then
     echo groff is not found.
     echo   please install groff
     exit 1;
fi
name=$1
path=$( man -W $name  );

if  test "$path" != ""  && [ -f $path ] ; then
 $(groff -Tps -mandoc -c  $path 2>/dev/null| ps2pdf - 2>/dev/null 1>./$name.pdf )
 echo printed to ./$name.pdf;
 exit 0
fi

man2html

manをHTMLファイルに出力する

#!/usr/bin/env bash
if ! $( type -P groff >/dev/null); then
     echo groff is not found.
     echo   please install groff
     exit 1;
fi
name=$1
path=$( man -W $name  );

if  test "$path" != ""  && [ -f $path ] ; then
 $(groff -Thtml -mandoc -c  $path  2>/dev/null 1>./$name.html )
 echo printed to ./$name.html;
 exit 0
fi

man読もうぜ

Google検索で何でもできる時代といえども、ssh_config を検索して sshd_config が検索結果に出てくるgoogleは役に立たない。

ブログ記事だとどうも断片的で記憶に残らずずっと同じことを検索している気がします。
赤線や下線引いてちゃんと自分のもにしていきたいと思いました。

日本語は試してないからどうなるか解らない。英語でいいじゃん。iPadKindleも文字選択してすぐに辞書調べられるんだし。英語でがんばりませんか。

PDFに変換してEvernoteに突っ込んだら勉強のメモも、知らない英単語をEvernoteの英単語帳に入りつけていけばいいかも

2014-07-07 man2pdf を若干修正


gist5b0e2c0bb26ce79338cc