最近、ドキュメントで使用するためのMarkdownの学習を開始しました。Markdownページをいくつか印刷する必要があります。Github風味のマークダウンをPDFに変換できるコマンドライン、ターミナルなどのユーティリティを使用したいと思います。適切な構文強調表示が必要であり、恐ろしく見えるべきではありません。助けてくれてありがとう。
最近、ドキュメントで使用するためのMarkdownの学習を開始しました。Markdownページをいくつか印刷する必要があります。Github風味のマークダウンをPDFに変換できるコマンドライン、ターミナルなどのユーティリティを使用したいと思います。適切な構文強調表示が必要であり、恐ろしく見えるべきではありません。助けてくれてありがとう。
回答:
グリップを使用してChromeでマークダウンを表示し、[印刷]ダイアログでChromeの[PDFとして保存]オプションを使用して成功しました。
pip install grip
grip your_markdown.md
gripはlocalhost:5000でマークダウンをレンダリングします-ただ編集してブラウザを更新してください。準備ができたら印刷します。
これにより、pandocよりも信頼性の高い表現が得られ、ラテックスをインストールするよりも軽量になりました(pdf生成のためにpandocで必要)。
この回答では、印刷はコマンドラインではありませんが、この方が簡単で信頼性が高いことがわかりました(比較的リンクされたイメージとコードの強調表示を含む長いドキュメントのGithubに100%似ています)。
grip your_markdown.md --export your_markdown.html
ここで便利なオプションです。それをhtmlファイルにエクスポートし、wkhtmltopdfなどを使用してコマンドラインから印刷できます。
Node.jsベースのmarkdown-pdfを使用することもできます
npm install -g markdown-pdf
markdown-pdf /path/to/markdown
見てくださいpandocを。構文の強調表示があります。マークダウンの独自のフレーバーがあり、GitHubのフレーバーとどの程度一致するかわからないため、ドキュメントに(わずかな)変更を加える必要があります。
pandoc -h
するとGitHub Flavored Markdownのサポートが返されたため、この質問を解決済みとしてマークしています。
pandoc
Fedora Linux にインストールしようとしましたが、依存関係の悪夢に遭遇しました-主にLaTex関連。私のアドバイスは、pandocをスキップして、最初の他のオプションを試してみるだろう
pandoc
次のように追加します--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
sudo apt install pandoc texlive-latex-recommended texlive-xetex texlive-luatex pandoc-citeproc etoolbox wkhtmltopdf
(Ubuntuの上で、おそらくいないすべての必要な)、そしてpandoc --variable urlcolor=cyan myfile.md -o myfile.pdf
マークダウンファイルがgithubリポジトリでホストされていた場合、gitprintはpdf / printを作成するための興味深いオプションです。
あなたがやらなければならないことは、交換することであるgithub.com
ことにより、gitprint.com
URLに。以下は、gitprintのホームページの例です。
残念ながら、マークダウンの要点では機能せず、リポジトリのマークダウンファイルでのみ機能します。
私のコメントで述べたように、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でサポートされているすべての言語のリストは、ここにあります。
いくつかのSource-highlightコマンドの例は次のとおりです。
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で利用できます。
インストール:
sudo apt install pandoc texlive-latex-extra
はい、-extra
フォントのためにパッケージが必要です。
変換:
pandoc --from markdown -o output.pdf my-file.md
<font color="red">
た
最近、マークダウンドキュメントをPDFに変換するサービスを作成しました。Githubフレーバーのマークダウンと構文の強調表示をサポートしています。サービスは次の場所にあります:http : //markdown2pdf.com
私の解決策:markdown with pandoc
をhtmlに変換し(パンドックにcssを使用して表の境界線を表示することを忘れないでください)、それを開いてlibreoffice
、オプションを選択しますexport as pdf
。
NB:ここでもインターネットソリューションでも言及されていません:1)ブラウザベースのソリューション(つまりグリップ)がページ番号などの余分な情報を追加していますが、削除できませんでした。2)PDFへのpandoc変換壊れて、私にとっては空のテーブルを生成します(おそらくユニコードのため、そしてはい、私はxetexを使用するように構成しました)、3)サイトベースのソリューション(すなわちgitprint.com)もgithubのようなマージンなどの冗長なものを追加していますawkで生成した単純なテーブルが必要です!
pandoc
次のようなオプションで動作するはずです--variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans"
# 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に変換します