23

すべてのLinuxのマニュアルページをプレーンテキスト、HTML、またはマークダウンに変換する方法はありますか?

システムにインストールしたすべてのmanファイルに対してこれを行う必要があります。

4

8 に答える 8

33

はい...それらの1つを変換するには、たとえば、man of man:

zcat /usr/share/man/man1/man.1.gz  | groff -mandoc -Thtml

「すべてをPCにインストールする」場合は、それらを繰り返し処理します。異なる出力(テキストなど)には、異なる'device'(-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
于 2012-11-17T19:28:59.447 に答える
9

このコマンドを使用すると、使用man -k ''可能なすべてのマンページ名を一覧表示できます。これはfindzcat元のマンページデータファイルよりも優れている場合があります。-T, --troff-device[=DEVICE]一方、manのコマンドには、指定されたmanページのセクションと名前のHTMLを生成できるオプションがあります。したがって、次のbashスクリプトは、Linuxで使用可能なすべてのマニュアルページを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

インターネットにアクセスできないイントラネットでオンラインのマニュアルページサービスを利用できない場合は、このファイルをNginxなどの静的HTTPサーバーに配置し、自動インデックスをオンにすることをお勧めします。この場合、参照とCtrl+Fが便利です。

于 2016-07-06T18:43:45.787 に答える
2
man -Hfirefox ls

Firefoxで直接「ls」のマンページを開きます

于 2017-01-23T20:45:04.337 に答える
1

おそらく、アプリの代わりにコードを使用してこれを行うための最良の方法は、pandocを使用することです。https://pandoc.org

python pandoのように、異なるマークアップ間でインライン文字列変換を行うこともできます。

import pypandocenter 
# With an input file: it will infer the input format from the filename
output = pypandoc.convert_file('somefile.md', 'rst')

# ...but you can overwrite the format via the `format` argument:
output = pypandoc.convert_file('somefile.txt', 'rst', format='md')

# alternatively you could just pass some string. In this case you need to
# define the input format:
output = pypandoc.convert_text('#some title', 'rst', format='md')
# output == 'some title\r\n==========\r\n\r\n'
于 2019-10-28T11:22:41.840 に答える
1

Pandocを試すことをお勧めします:

$ pandoc --from man --to html < input.1 > output.html

読み取りと編集の両方が可能なHTMLを生成します。後者は、私のユースケースにとって重要です。

また、Markdownなど、他の多くの形式を生成することもできます。これは、どの形式にコミットするかがまだわからない場合に便利です。

Pandocはから変換できないという質問に対するコメントがありますが、manそれは時代遅れのようです。現在のバージョン(2.13)は、私の例では適切な変換manhtml行います。

さらに、受け入れられた回答はを使用することを示唆してgroff -mandoc -Thtmlいますが、それは私にとってPandocほどうまくいきませんでした。具体的には、古いFlex-2.5.5のマニュアルページをhtml に変換したいと思います。groff(バージョン1.22.4)残念ながら、すべてのコード例(インデントなし、固定幅フォントなし)が壊れて読みにくくなりましたが、Pandocはそれらをpreセクションとして持ち込みました。さらに、groff出力は明示的なインラインスタイルでいっぱいですが、Pandoc出力はCSSをまったく使用しないため、編集の開始点として適しています。

(Pandocについても言及している既存の回答があり、情報を編集することを検討しましたが、Pandocを使用した経験について詳しく説明したいと思います。)

于 2021-04-29T02:33:10.527 に答える
0

これは私のためにそれをします

man --html=cat gcc > gcc.htm
于 2014-10-05T22:00:07.357 に答える
0

私が使用する男性を変換するために:

zcat "/usr/share/man/man1/${PROGRAM}.1.gz" | 男らしい>"out.html"

私が使用するhtmlとして男性を直接表示するために:

オマーン「${PROGRAM}」

出力は次のようになります。

スクリーンショット

于 2020-08-04T00:52:02.603 に答える
-1

今日はあなたの幸運な日です。誰かがすでにあなたのためにこれをしました。 http://linux.die.net/

于 2012-11-17T19:43:11.240 に答える