私は最近、ドキュメントと一緒に使うためにMarkdownを学び始めました、そして私のMarkdownページのいくつかを印刷する必要があります。 Github風のMarkdownをPDFに変換できるようにするコマンドライン、ターミナルなどのユーティリティを使用したいと思います。それは適切な構文の強調表示を持つ必要があり、恐ろしいものに見えるべきではありません。助けてくれてありがとう。
グリップ を使用してChromeでマークダウンを表示してから、印刷ダイアログでChromeの[PDFとして保存]オプションを使用することに成功しました。
pip install grip
grip your_markdown.md
gripはlocalhost:5000に値下げを表示します - ただ編集してブラウザを更新してください。準備ができたら印刷します。
これはpandocよりも信頼できる表現を与え、ラテックスをインストールするよりも軽量でした(pdf生成のためにpandocによって必要とされる)。
この回答では、印刷はコマンドラインではありませんが、これはより簡単で信頼性が高いことがわかりました(比較的リンクされた画像やコードの強調表示を含む長いドキュメントではGithubの100%に見えます)。
Node.jsベースの markdown-pdf も使用できます。
npm install -g markdown-pdf
markdown-pdf /path/to/markdown
pandoc を見てください。構文の強調表示はありません。独自のマークダウンがあり、GitHubのフレーバーとどの程度一致しているのか私にはわかりません。
http://www.markdowntopdf.com で利用可能なオンラインコンバータがあります
これは箱から出して構文の強調表示を提供し、私がこれまで見た中で最も簡単な解決策です。 GFMに特有の他の機能も正しく処理します。テーブル.
私のコメントで述べたように、Githubは構文の強調表示を提供するために Linguist を使用します。 Githubでは、これを使用して構文の強調表示を次のように指定できます。
```Ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
残念ながら、Markdownを直接構文強調表示してPDFファイルに変換する良い方法はありません。
Vim:
もしあなたがvimを持っているのなら、端末から以下を実行することで構文の強調表示を簡単に達成できます。
vim -c hardcopy -c quit /path/to/file.ps
またはvimの中:
:hardcopy >/path/to/file.ps
これにより、例えばps2pdfを使用してpdfに変換できるPostScriptファイルが生成されます。
ps2pdf /path/to/file.ps
ソースハイライト:
代わりにHTMLやLaTeXの道を歩みたいのであれば、代わりに Source-highlight を試すことができます。 Source-highlightでサポートされているすべての言語のリストは here にあります。
ソースハイライトコマンドの例をいくつか示します。
source-highlight -s Java -f html -i Hello.Java -o Hello1.html
source-highlight -s Java -f html --input Hello.Java --output Hello2.html --doc
source-highlight -s Java -f html -i Hello.Java -o Hello3.html --title "Happy Java with Java2html :-)" --tab 3
そしてそれぞれがそれぞれのHTMLファイルを出力します。
Hello1.html
Hello2.html
Hello3.html
ソースハイライトの使い方のさらなる例は こちら にあります。
Windows:
Vim 、 ps2pdf ( Ghostscript によって提供)および Source- highlight はすべて Cygwin から利用できます。
マークダウン文書をPDFに変換するサービスを最近作成しました。 Github風のマークダウンと構文の強調表示をサポートしています。サービスは次の場所にあります。 http://markdown2pdf.com
私はいくつかのクロムプラグインとオンラインコンバータを試してみました。
MDtr2PDF が最適です。 Github風味のマークダウンとUnicodeをサポートしています。
解決策:pandoc
を使用して値下げをhtml に変換します( pandocにcssを使用 を忘れないでください)。次にlibreoffice
で開き、オプションexport as pdf
を選択します。
NB:ここでもインターネット上でも解決策はありませんでした:1)ブラウザベースの解決策(つまりグリップ)ページのように余分な情報を追加しています2)pdfへのpandoc変換は壊れています、私のためにそれは空のテーブルを生成します(おそらくUnicodeのため、そしてそう、私はxetexを使うようにそれを構成しました)、3)サイトベースのソリューション(すなわちgitprint.com)は、githubのような余白のような冗長なものも追加していますが、awkで生成した単純なテーブルだけが必要です。
Linuxをお使いの場合、 pandoc を使用してください。
インストール:
Sudo apt install pandoc texlive-latex-extra
はい、フォントのために-extra
パッケージが必要です。
変換:
pandoc --from markdown -o output.pdf my-file.md
私の個人的なニーズに合わせて、 このスニペット を改良しました。
# Sudo apt install grip wkhtmltopdf
MD=${1:-README.md}
PDF=${2:-"$MD".pdf}
PORT=8971
DELAY=10
printf "Converting $MD to $PDF on port $PORT\n"
printf "Waiting $DELAY seconds for server to start...\n"
grip "$MD" localhost:$PORT &
sleep $DELAY
wkhtmltopdf http://localhost:$PORT "$PDF"
kill $(ps -eo pid,command | grep grip | grep -v grep | awk '{print $1}')
その後/usr/local/bin/md2pdf
およびSudo chmod +x /usr/local/bin/md2pdf
として保存します。
使用法:
md2pdf
はREADME.mdをREADME.md.pdfに変換します
md2pdf foo.md
はfoo.mdをfoo.md.pdfに変換します
md2pdf foo.md bar.pdf
はfoo.mdをbar.pdfに変換します