Pandoc を試すことをお勧めします:
$ pandoc --from man --to html < input.1 > output.html
読み取りと編集の両方が可能な HTML を生成しますが、後者は私のユースケースにとって重要です。
また、Markdown などの他の多くの形式を生成することもできます。これは、どの形式にコミットするかまだ決まっていない場合に便利です。
Pandoc は man
から変換できないという質問にコメントがあります。 、しかしそれは時代遅れのようです。現在のバージョン (2.13) は、 man
を適切に変換します。 html
まで 私の例です。
さらに、受け入れられた回答では groff -mandoc -Thtml
の使用が提案されていますが、 、それは私にとってPandocほどうまくいきませんでした.具体的には、古い Flex-2.5.5 の man ページを html に変換したいと考えています。 groff
(バージョン 1.22.4) 残念ながら、すべてのコード例 (インデントなし、固定幅フォントなし) が壊れており、読みにくくなっていますが、Pandoc はそれらを pre
として持ち込んでいます。 セクション。さらに、groff
出力は明示的なインライン スタイルでいっぱいですが、Pandoc 出力は CSS をまったく使用しないため、編集の出発点として適しています。
(Pandoc についても言及している既存の回答があり、情報を編集することを検討しましたが、それを使用した経験についてもっと言いたいと思いました。)
コマンド man -k ''
を使用します find
よりも優れている可能性がある、利用可能なすべてのマニュアルページ名を一覧表示できます と zcat
元のマンページ データ ファイル。一方、man のコマンドにはオプション -T, --troff-device[=DEVICE]
があります。 これは、指定された man ページのセクションと名前の HTML を生成できます。次の bash スクリプトは、Linux で利用可能なすべての man ページを HTML ファイルに変換します。 :
man -k '' | while read sLine; do
declare sName=$(echo $sLine | cut -d' ' -f1)
declare sSection=$(echo $sLine | cut -d')' -f1|cut -d'(' -f2)
echo "converting ${sName}(${sSection}) to ${sName}.${sSection}.html ..."
man -Thtml ${sSection} ${sName} > ${sName}.${sSection}.html
done
オンライン マン ページ サービスが利用できないインターネット アクセスのないイントラネットでは、このファイルを autoindex をオンにした Nginx などの静的 HTTP サーバーに配置します。 ブラウズと Ctrl+F が便利な場合は、良いオプションです。
はい...それらの1つを変換するには、たとえば、マンオブマン:
zcat /usr/share/man/man1/man.1.gz | groff -mandoc -Thtml
「すべてをPCにインストール」したい場合は、それらを繰り返すだけです。別の出力 (テキストなど) には、別の「デバイス」を使用します (-T 引数)。
念のため...「繰り返し」が本当の問題だった場合は、次を使用できます:
OUT_DIR=...
for i in `find -name '*.gz'`; do
dname=`dirname $i`
mkdir -p $OUT_DIR/$dname
zcat $i | groff -mandoc -Thtml > $OUT_DIR/$i.html
done