TL; DR:
Typora需要Pandoc(≥v1.16)。如果您没有Pandoc或仅在计算机上安装了Pandoc的旧版本,则可以:
从下载页面下载安装程序,然后安装或更新Pandoc。
如果收到Typora找不到Pandoc的错误,则在安装Pandoc后可能需要重新启动Typora。
对于Windows用户,如果Typora仍说无法找到Pandoc,则可能需要重新启动PC。
Pandoc整合
在Typora中,某些文件格式(包括docx,odt,rtf,epub,LaTeX和wiki)的导入功能和导出功能由名为Pandoc的第三方软件提供支持。这些功能需要安装Pandoc(≥v1.16)。
请注意,对于Typora,Pandoc的安装是可选的,如果您不需要Typora中的高级导入/导出支持,则不必在计算机上安装Pandoc。
本文档将展示如何安装Pandoc以及将Typora与Pandoc一起使用以实现完整的导入/导出功能。
什么是Pandoc
Pandoc 是通用文档文本转换器。Typora使用它来支持几种文件类型的文件导入/导出功能。
安装Pandoc
对于Mac用户
简而言之,有两种推荐方法。
从下载的软件包安装程序中安装
从Pandoc的下载页面下载软件包安装程序 ,打开它,然后按照说明进行安装。
从Homebrew安装
对于使用Homebrew的开发人员,安装Pandoc可以从终端启动一行:
对于Windows用户
下载pandoc-*-window.msi
从Pandoc的 下载页面,打开它,然后按照说明进行安装。
使用Pandoc
在安装Pandoc之后,可以通过从菜单栏中单击“文件”->“导入”来导入支持的文件类型,也可以将文件简单地拖放到Typora中。导出功能在菜单栏中也具有全部功能。Pandoc将在这些任务的后台运行,然后自动退出,因此您可能感觉不到。
常问问题
支持哪个版本的Pandoc?
需要版本≥1.16。最新版本,更好。因此,如果您的Pandoc版本太旧,则鼓励更新Pandoc。
Typora是否可以在没有Pandoc的情况下工作?
是的,只有导入和导出(HTML / PDF文件类型除外)才需要它。
Typora可以导入或导出哪些文件类型?
导入支持具有以下扩展名的文件:.docx,.latex,.tex,.ltx,.rst,.rest,.org,.wiki,.dokuwiki,.textile,.opml,.epub。
导出支持以下文件格式:HTML,PDF(这两个不需要Typora),Docx,odt,rtf,Epub,LaTeX,Media Wiki。
Pandoc应该支持Typora没有集成的更多文件类型,详细信息在这里。
通过Typora导出和通过命令行使用Pandoc导出之间有什么区别?
由Typora导出也由Pandoc提供支持,但是Typora不会直接从markdown转换为目标文件类型,而是转换为Pandoc可以读取然后写入的内部格式作为目标文件类型,因此,详细说明:
- 如果从命令行运行Pandoc,则需要从(Pandoc Markdown,CommonMark, PHP Markdown Extra, GitHub- Flavored Markdown)指定其markdown解析器 ,而在使用Typora导出时,Typora会将其内部AST传递给Pandoc进行文件转换。换句话说,导出的输出中的块或内联元素的格式将始终与Typora和导出的HTML / PDF中的一致。但是,样式可能有所不同。
- 从Typora导出时,不支持Pandoc Markdown发明的某些markdown语法(例如引文),因为只有Markdown语法Typora支持将被正确导出。但是我们将来可能会支持更多扩展的markdown语法。
- 如果使用Typora进行导出,
[TOC]
则将正确导出所有文件类型。LaTeX,rtf,Epub,Wiki格式(有时是Docx)将支持突出显示和下划线。但是,原始Pandoc中仅支持基于HTML的文件格式。原始Pandoc和Typora + Pandoc基本上都支持其他块和内联元素。
是否可以正确导出所有块/内联元素类型?
尚不支持任务列表。.docx
仅当未在其他内联样式的内部或外部使用它们时,才支持下划线和突出显示。下划线和突出显示不支持OpenOffice(.odt
)。嵌入式.gif文件不支持LaTeX。基本上可以导出其他块或内联元素。但是,导入或导出时样式不能100%匹配。
如何为Mac卸载Pandoc?
这是Pandoc官方网站上的说明:
如果以后要卸载软件包,可以通过下载 此脚本 并使用来运行它 perl uninstall-pandoc.pl
。
找到错误和不支持的导出语法?
与我们联系hi@typora.io,最好提供一个示例.md
文件,以便我们可以重现该错误。
如果发现这是Pandoc的错误/功能请求,则可以通过pandoc-discuss与社区联系。