我最近开始学习 Markdown 以用于文档,并且需要打印出我的一些 Markdown 页面。我想使用命令行、终端等实用程序,允许我将 Github 风格的 Markdown 转换为 PDF。它需要有适当的语法突出显示,并且不应该看起来很糟糕。谢谢你的帮助。
小智 194
我已经成功地使用手柄在 Chrome 中显示降价,然后在打印对话框中使用 Chrome 的“另存为 PDF”选项。
pip install grip
grip your_markdown.md
Run Code Online (Sandbox Code Playgroud)
grip
将在localhost:5000或类似(例如:转到 http://localhost:5000/)上呈现降价- 只需编辑并刷新浏览器。准备好后打印。
这提供了pandoc
比安装乳胶更可靠的表示并且比安装乳胶更轻(pandoc 需要生成 pdf)。
在这个答案中打印不是命令行,但仍然发现这更容易/更可靠(看起来 100% 像 Github 的长文档,包括相对链接的图像和代码突出显示)。
Qua*_*ong 70
您还可以使用基于 Node.js 的markdown-pdf
npm install -g markdown-pdf
markdown-pdf /path/to/markdown
Run Code Online (Sandbox Code Playgroud)
Mag*_*nus 52
看看pandoc。它确实有语法高亮。它可能需要您对文档进行(小幅)更改,因为它有自己的 Markdown 风格,我不知道它与 GitHub 风格的匹配程度如何。
小智 11
http://www.markdowntopdf.com 上有一个在线转换器。
它提供了开箱即用的语法高亮显示,是我迄今为止见过的最简单的解决方案。它还可以正确处理特定于 GFM 的其他功能,例如表格。
And*_*ovs 10
对于那些使用 Linux 的人,请使用pandoc。
安装:
sudo apt install pandoc texlive-latex-extra
Run Code Online (Sandbox Code Playgroud)
是的,-extra
由于字体,您需要包。
转变:
pandoc --from markdown -o output.pdf my-file.md
Run Code Online (Sandbox Code Playgroud)
正如我在评论中所说,Github 使用Linguist来提供语法高亮。在 Github 上,您可以使用它来指定语法高亮,如下所示:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有好的方法可以将 Markdown 直接转换为带有语法突出显示的 PDF 文件。
维姆:
如果您有 vim,您可以通过从终端运行以下命令轻松实现语法高亮:
vim -c hardcopy -c quit /path/to/file.ps
Run Code Online (Sandbox Code Playgroud)
或者在 vim 里面:
:hardcopy >/path/to/file.ps
Run Code Online (Sandbox Code Playgroud)
这将生成一个 PostScript 文件,可以使用例如 ps2pdf 将其转换为 pdf:
ps2pdf /path/to/file.ps
Run Code Online (Sandbox Code Playgroud)
来源突出:
如果你想走 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
Run Code Online (Sandbox Code Playgroud)
使用这个输入文件
每个输出各自的 HTML 文件:
Hello1.html
Hello2.html
Hello3.html
可以在此处找到 Source-highlight 用法的更多示例
窗户:
Vim、ps2pdf(由Ghostscript提供)和Source-highlight都可以通过Cygwin 获得。
小智 5
我最幸运的是 VSCode 和Markdown PDF扩展。在线转换器搞砸了我的文件的编码或在标题中插入了水印。
用法:
export
并选择markdown-pdf: Export (pdf)
注意:该扩展在后台安装并使用本地版本的 Chromium。
有几个选项可以控制格式,它们都在上面链接的网站上进行了解释