題 如何將Github風味降價轉換為PDF


我最近開始學習Markdown用於文檔,並且需要打印出一些我的Markdown頁面。我想使用命令行,終端等實用程序,它允許我將Github風格的Markdown轉換為PDF。它需要有適當的語法突出顯示,不應該看起來很糟糕。謝謝你的幫助。


113
2017-12-16 11:52


起源


GitHub上的語法著色不是GitHub Flavored Markdown的一部分。至少據我所知。 - Der Hochstapler
@OliverSalzburg Github使用 語言學家 提供語法高亮。 - DanteTheEgregore
@dillmo,轉換 首先是HTML,然後使用Chrome打印到pdf。 - Pacerier


答案:


我成功使用了  在Chrome中顯示降價,然後在“打印”對話框中使用Chrome的“另存為PDF”選項。

pip install grip  
grip your_markdown.md

grip將在localhost:5000上呈現markdown - 只需編輯並刷新瀏覽器即可。準備好後打印。

這提供了比pandoc更可靠的表示,並且比安裝乳膠(pandoc用於pdf生成所需)的重量更輕。

在這個答案中打印不是命令行,但仍然發現這更容易/更可靠(看起來100%像Github的長文檔,包括相對鏈接的圖像和代碼突出顯示)。


114
2018-02-27 13:55



這很容易。 - s2t2
grip your_markdown.md --export your_markdown.html 這是有用的選擇。將其導出到html文件,然後可以使用wkhtmltopdf等命令從命令行打印。 - Luke Exton
不幸的是,握手需要訪問GitHub。它無法脫機工作 - nowox
或者你可以下載(免費!)Atom(atom.io),在Atom中打開文件,使用control + shift + M在預覽中查看,另存為html,然後在Chrome瀏覽器中打開html並保存為pdf。 - Andrew Carter
這確實伴隨著它周圍的Github框架。有沒有辦法打印到PDF,刪除邊框/標題欄(即打印框架內的所有內容)? - Joost


您也可以使用Node.js 降價-PDF

npm install -g markdown-pdf
markdown-pdf /path/to/markdown

41
2018-04-16 01:52



這非常棒,非常簡單。鏈接問題來自html5樣板文件的print css,您可以在自己的樣式表中註釋掉或覆蓋它。 - Robert Went
想補充說這有開箱即用的Unicode支持,這非常好。 - Niek
你也可以安裝 GitHub的 - 降價 - CSS 如果你想使用GitHub的CSS文件。 - jpmc26
@ jpmc26你怎麼能用它,我不知道javascript還是npm? - Abhishek Bhatia
@AbhishekBhatia這是我用Google搜索“npm簡介”時的第一個結果: smalljs.org/package-managers/npm。安裝後,它只是一個埋在node_modules中的文件。 - jpmc26


看一眼 pandoc。它確實有語法高亮。它可能需要您對文檔進行(次要)更改,因為它有自己的降價風格,我不知道它與GitHub風味的匹配程度。


32
2018-02-11 12:22



謝謝。運行 pandoc -h 確實返回了對GitHub Flavored Markdown的支持,所以我將此問題標記為已解決。 - dillmo
我試圖安裝 pandoc 在Fedora Linux上遇到了依賴性的噩夢 - 主要是與LaTex有關。我的建議是跳過pandoc並首先嘗試其他選項 - IanB
對於那些使用非ASCII字母並讓它們丟失的人:添加字體選項 pandoc, 像這些: --variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans" - gluk47
如果有人正在尋找命令: 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 - Tor Klingberg
@TorKlingberg謝謝,我認為這是最好的答案! - thc


如果markdown文件託管在github存儲庫中, gitprint 是一個有趣的選項來創建PDF /打印。

您需要做的就是更換 github.com 通過 gitprint.com 在URL中。這是一個  來自gitprint的主頁。

不幸的是,它不適用於markdown gists,只適用於存儲庫中的markdown文件。


11
2017-08-08 02:44



它也不適用於圖像。 :( - Adam Arold
...並且格式不佳:( - Moebius
有趣的選擇。優點:維護外部鏈接並從輸出中訪問。缺點:輸出是黑色和白色,錨鏈接被刪除,外部鏈接沒有在視覺上顯示,因為它們是黑白。 - rodey


有一個在線轉換器可用於 http://www.markdowntopdf.com
這提供了開箱即用的語法突出顯示,是迄今為止我見過的最簡單的解決方案。它還可以正確處理GFM特有的其他功能,例如表。


7
2017-07-10 08:44



不處理單獨文件中的圖像。 - Larry K
工作得很漂亮 - shadi


正如我在評論中所說,Github使用 語言學家 提供語法高亮。在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

這將生成一個PostScript文件,可以使用例如ps2pdf轉換為pdf:

ps2pdf /path/to/file.ps

來源高亮

如果您想轉到HTML或LaTeX的路線,您可以嘗試 來源高亮 代替。可以找到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 

可以找到源高亮使用的其他示例 這裡

視窗

VIMPS2PDF (由...提供 Ghostscript的)和 來源高亮 都可以通過 Cygwin的


6
2017-12-16 14:08





我最近創建了一項服務,將markdown文檔轉換為PDF。它支持Github風格的降價以及語法高亮。該服務位於: http://markdown2pdf.com


3
2017-08-27 03:55



不適用於zip文件:當存在時,無法在存檔中找到markdown文件。 - Moebius
得到“轉換為pdf時出錯”。運用 markdowntopdf.com 而是來自kevgathuku - shadi


我的解決方案:轉換降價 pandoc 到HTML (別忘了 使用css進行pandoc 顯示表格邊框),然後打開它 libreoffice, 選擇一個選項 export as pdf

NB:這里和互聯網解決方案都沒有提到我:1)基於瀏覽器的解決方案 (即抓地力) 正在添加多餘的信息,如頁碼,我沒有設法刪除,2)pandoc convertage到pdf被打破,對我來說它生成一個空表 (也許是因為unicode,是的,我把它配置為使用xetex),3)基於站點的解決方案 (即gitprint.com) 還添加了多餘的東西,比如像github一樣的邊距,而我只需要一個用awk生成的簡單表格!


1
2017-09-10 09:56



pandoc 應該像你這樣的選擇為你工作 --variable mainfont="Liberation Serif" --variable sansfont="Liberation Sans" - gluk47
@ginkk47酷,那有效! - Hi-Angel
我可以推薦此頁面將markdown轉換為PDF(或用於打印) markdownprint.com。 - Johan O