我该如何将Markdown文档导出为不同的格式?

8

撰写文档

作为一名开发者,我一直在寻找编写和更新文档的最简单方法。不是一个让人厌烦的文本,大喊着“不要读我”,而是一个愉快(且容易)格式化并支持代码的东西。

从 LaTeX 到 wiki 再到 Markdown,仅举几例,我认为 Markdown 是最接近的。但这个文档本身非常书呆子,也不太可移植。它需要变成 HTML 和 PDF。

Markdown 编辑器

所以基本上我正在寻找一种编辑器、转换器或任何我没有想到的聪明技巧,将这个文档转换成 HTML 和 PDF。

毫无疑问,我发现的最简单的编辑器是 StackEdit,但它的 HTML 输出效果不好;它依赖于未正确链接的在线样式表,导出的 HTML 看起来相当难看。它也无法离线使用。

导出 HTML 和 PDF

我正在寻找任何正确的方法。如果有一些独立应用程序或脚本可以将 markdown 文件转换为正确的 HTML,我不介意。我需要有人向我展示我找不到的文档生成技巧。

PDF 是另一回事。我认为我用 HTML-to-PDF 转换器把电脑塞满了,每一个都在我的干净文档中添加了垃圾和水印。


4
嗨,我是StackEdit的开发者。在StackEdit中,您可以修改用于生成HTML的默认模板(设置->服务->默认模板)。您可以删除外部样式表依赖项,并在其中包含内联CSS。 - benweet
好的,谢谢。默认模板看起来不错。有没有办法让 pandoc(或 doxygen)使用这个模板/样式表生成 PDF? - Redsandro
2
我对pandoc或doxygen一无所知,但你可以直接从StackEdit生成PDF(菜单->另存为...)。用于PDF生成的模板可以在设置->服务->PDF模板中自定义。 - benweet
1
顺便提一下,一旦应用程序缓存完全下载(在您访问页面时大约需要1分钟),StackEdit可以离线工作。 - benweet
5个回答

9

对于输出格式的选择,你可能找不到比 pandoc 更好的 - 它可以将 Markdown (以及许多其他格式) 转换为 HTML、PDF、DocBook 等多种格式。它的默认设置非常合理,但如果你愿意,你也可以很容易地包含自己的模板。它还支持块级别的特定语言代码高亮显示。


这似乎是我正在寻找的东西。给我一些时间来检查它,看看我是否会接受你的答案。 :) - Redsandro
2
你能否在你的回答中添加一个使用pandocmarkdown转换为pdf的示例命令? - Redsandro
1
pandoc -f markdown -o test.pdf test.md。您的答案是正确的,但与21世纪的实现(如GitHub和Stack Overflow)相比,我认为输出有些平淡/老旧/无聊/丑陋。 - Redsandro

7
以下字母用于表示一些常见功能:
  • M:支持数学公式语法

  • G:支持GitHub风格的Markdown

  • L:实时预览

  • C:支持代码语法高亮

  • E:导出为各种格式

  • S:自定义样式即HTML的自定义CSS等

  • P:插件支持

  • F:免费

  • D:活跃的开发

它们按任意顺序列出如下:

1. Remarkable

简洁、优雅、功能丰富 D F L G S P M C E(pdf,html)

2. ReText

简单,支持重构文本和Markdown D F M P E(html,odt,pdf)

3. UberWriter

最小化和轻量级 F C M E(pdf,html,rtf)

5. Typora

简单优雅 F(在测试版中)D G C M L E(html,pdf,epub,docx等)

6. Haroopad

功能丰富的beta编辑器,用于博客和邮件,支持多种格式导入 F G L M E(html)

7. Mark My Words

简单 F D L E(pdf,html)

8. Gitbook Editor

用于文档、数字写作和出版 D F G L C M E(HTML PDF epub mobi)

9. Abricotine

基于Web技术的编辑器 L F D G C E(HTML)M S

10. GhostWriter

GhostWriter是一款简单、易用且功能强大的无干扰编辑器 F G D E (可通过扩展支持其他格式),S

11. Caret

Caret是一款极简但功能强大的编辑器 D L G C E (PDF) M S

13. Elegant Markdown Editor (EME)

EME是一款最小化的Markdown编辑器,简洁易用 D L G C E (PDF) M

14. 插件

以下是各种IDE和编辑器可用的插件。有些插件可将Markdown转换为HTML或PDF格式。赶快试试吧。

  • Atom

  • Vim:Instant-Markdown Plugin

  • Bracket:MarkdownPreview Plugin

  • Sublime Text:Markdown Plugin

  • GNU Emacs

  • Visual Studio Code

  • Notepadqq

  • Jetbrains IDEs:Markdown Navigator

  • Qownnotes


3

补充前面的答案:

我发现了一个在线Markdown转PDF的工具(MarkdowntoPDF)。但是使用在线服务有一些缺点。不仅可以污染PDF文件(免费午餐?),而且它们也无法将本地图片合并到您的文档中。

这里有一个离线的Markdown转PDF转换器(Gimli),但它需要Ruby来运行。

还有另一个离线转换器(MultiMarkdown to PDF),但它使用Windows。


1

你考虑过使用 Doxygen 吗?Doxygen 可以输出多种格式(如果需要的话可以同时输出)。我通常使用它来生成 HTML 手册。

Doxygen 主要用于文档化代码,但如果你只是编写一个独立的手册,页面和章节相关的命令就足够了。

Doxygen 输出格式的列表在 这里

来自 Doxygen 手册 页面 的详细信息:

PDF: 通过在输出目录中运行 make pdf 从 LaTeX 输出生成。为了改进 PDF 输出,您通常需要在配置文件中将 USE_PDFLATEX 设置为 YES 以启用 pdflatex 的使用。为了在 PDF 文件中获得超链接,您还需要启用 PDF_HYPERLINKS。

注意:你需要一个TeX设置才能使用它。Doxygen本身无法产生所需的输出,但Pandoc也是如此。

不,我不知道它们可以使用Markdown。我认为这是相对较新的。我一直在谷歌搜索,但似乎没有人提供将Markdown转换为PDF的示例命令。你能否在你的回答中编辑一个示例? - Redsandro
1
@Redsandro 这是你想要的吗?附注:在“here”和“page”下面有链接,这个字体不太明显。 - Cheeseminer
感谢您的编辑。我已经为您的答案点赞了。但是,我也想看到与此问题相关的具体命令,这涉及将 Markdown 转换为 __PDF__。例如,对于 pandoc,可以使用 pandoc -f markdown -o test.pdf test.md 命令。我本来想举一个例子,但是对于 Doxygen,我似乎找不到它;所有的例子都似乎从 LaTeX 输出开始,好像我需要先将 Markdown 转换为 LaTeX。顺便说一下,我不知道 pandoc 的原始版本如何工作,但是在 Ubuntu 包中的版本中,它可以立即工作,无需手动添加 TeX 设置。 - Redsandro
2
Doxygen使用配置文件而不是像Pandoc一样使用命令行参数。因此,获取Doxygen后,您需要配置文件“__doxyfile__”以进行GENERATE_LATEX = YES(和其他基本配置,如INPUT),然后运行doxygen doxyfile。这应该从Markdown生成LaTeX。我在Windows上,看起来Ubuntu更适合这种事情(毫不奇怪)。 - Cheeseminer

1

1
它有插件可让您导出为PDF。在软件包中搜索Markdown到PDF。 - spirit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接