Pandown
适用于ST2/3的一个强大、多功能、高度隐秘的Pandoc构建包装器
详细信息
安装次数
- 总计 5K
- Win 2K
- Mac 2K
- Linux 944
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README文件
- 源代码
- github.com
弃用警告
勇者无惧,绝处逢生
尽管我对Pandown的整合感到自豪,但现在我实在不建议您围绕它构建工作流程。这不仅是因为它过时——我于2012年创建了第一次提交,当时Sublime Text处于第二版主版本——其业余设计问题成堆——那时我刚开始学习Python,而且直到几年后才开始专业软件开发。这与其说是谦逊或完美主义,不如说是出于对您写作流程稳定性的担忧。
Pandoc在过去七年内经历了非同小可的演变,而Pandown无法支持它——例如,您无法通过Pandown指定多个过滤器,或多个参考文献文件。尽管Pandown在当时比其他Sublime Markdown软件包更灵活,但它对Pandoc的思考方式相当脆弱。Pandoc非常强大,而Pandown暴露和管理其权力的努力最多是笨拙的。现在看起来很小的故障和技巧,随着Pandoc的发展和功能增强,将成倍增长。而且由于我不再是Sublime用户,且没有社区势头推动支持,Pandown最终将停止工作。
相比之下,约翰·麦克法兰据所有证据都比我聪明得多——从总体上来说是如此,特别是在如何有用地扩展 Pandoc 方面。类似地,乔恩·斯金纳在 Sublime 中也是如此。他们的作品将会比 Pandown 更长久。所以,值得花时间熟悉他们,而不是我在两者之间笨拙的界面。在开发和定制方面,Pandoc 的过滤器是未来的一大趋势;在整合方面,Sublime 的自定义构建系统(参见https://text.sublime.net.cn/docs/3/build_systems.html 和 http://docs.sublimetext.info/en/latest/reference/build_systems/basics.html)应该足够容易适应您的工作流程。
这就是我最终选择的道路,首先是从 Atom 的 build
插件开始,然后是 VS Code 的 tasks。将通用构建工具围绕我特定的流程构建出来,比尝试构建和维护围绕 Pandoc 的半通用/半特定的包装要简单得多,而且更健壮。
祝你好运,d
Pandown for Sublime Text 2 and 3
简介
本插件是为了构建 Pandoc(版本 1.10 或更高)而设计的完整、多功能和高可定制性的 Sublime Text 2 和 Sublime Text 3 包装器。由 Daniel Shannon 撰写,灵感来源于 jclement 的 Pandoc (Markdown) 插件。Pandown 的目标是提供简单直观的界面,后台可高度定制。所有 Pandoc 选项均可配置,所有输入和输出格式理论上都支持,其中 Markdown 读取器实现得最为完善,并且对 HTML 读取器有部分支持。
安装
由于这仅是一个构建脚本,您需要先下载并安装 Pandoc(版本 1.10 或更高),否则它对您将没有什么用途。首选的安装方法是通过 Sublime Package Control,但您也可以使用上面的“克隆到 Mac”和“下载 ZIP”按钮安装。将 Pandoc 克隆或复制到您的 Packages
文件夹,您就可以设置好了。您还可以使用命令行。命令看起来类似于以下这样
cd <Sublime Packages Directory>
git clone git://github.com/phyllisstein/Pandown.git
使用方法
该插件包含一个 Markdown 构建系统;Pandoc 在多个方面扩展了它;如果您打开 Markdown 文件并设置为“自动”或“Pandown Markdown”,然后运行构建命令,将默认生成一个 HTML 文件。打开命令面板,搜索“Pandown”以查看其他可用选项。值得注意的是,如果您已安装 LaTeX 插件,Pandoc 可以轻松地将 Markdown 转换为漂亮的 PDF;但大多数可能输出都已预配置。还有一种类似的构建系统,尽管支持可能的编写器较少,但也用于 HTML。
该插件还包含一个特殊的构建命令,您可以通过命令面板访问:“Pandown:将构建到窗口”。这模仿了大多数其他 Pandoc 包装器的行为,如果您已经习惯了它们,并尝试打开一个新未保存的缓冲区,以显示 Pandoc 构建的结果。
当然,这并不是很有趣:如果您不想定制您的工作流程,您就不会使用 Sublime;如果您想看到默认生成的丑陋页面,您就不会使用 Markdown。现在,配置和模板来了。
配置
在“偏好设置→包设置→Pandown”下,您会发现Pandown配置文件的菜单项。默认包设置文件注释丰富,非常有助于入门。您可以在用户设置中进行想要的更改,这些更改将覆盖默认设置,并在您下一次构建时生效。
然而,因为传递给Pandoc的许多参数会根据项目而有所不同,因此Pandown提供了第二种配置Pandoc的方法。在“首选项→包设置→Pandown→设置 – 项目”或命令面板中选择“Pandown: 项目设置”,将在当前项目文件夹中放置一个名为pandoc-config.json
的文件。设置那里的pandoc_arguments
字典值将覆盖sublime-settings
文件中的设置(尽管某些值,尤其是列表和字典,将被合并)。如果在构建的相同文件夹中没有配置文件,Pandown将检查上面的文件夹,直到达到主要项目文件夹。也就是说,配置文件适用于其所在文件夹及其所有子文件夹。
此外,这个功能可以进行额外配置:一旦您对关心的Pandoc选项足够熟悉,不需要在每个新项目中包含完整的集合时,您可以将一个pandoc-config.json
文件放置在您的Packages/User
文件夹中,而不是默认文件,它将被复制。您可以随时删除它以恢复原始行为。
只有项目配置文件中Pandoc的参数和设置才会被识别。
模板
Pandoc生成HTML的基本模板就是如此:简单的,并且不够吸引人。您可以在不必费太多力的情况下做得更好。对于一个既不是设计师也不是编码人员的人来说,随Brett Terpstra的出色Marked应用程序一起提供的样式表很可能是值得一看的;用一个空的Markdown文件通过Marked运行,并将其保存为HTML,以获得可以成为漂亮的模板文件的内容。(Brett慷慨地提供了CSS的非压缩版本在此处使用。)
更有善心的是,Brett还允许将这些模板之一与这个包一起分发。请参阅Packages/Pandown/Samples
中的文件,以获取构建自定义模板文件的快速入门指南。指南包含一个Markdown模板文件、一个模板、一个示例Pandoc配置JSON文件以及由此生成的输出HTML文件。您在玩弄这些文件后,也可以为您的项目使用它们。
评论标记
Pandown包括基本为Critic Markup语法。通过将"preprocess_critic"
设置切换为true
并将变量"critic": true
添加到您的Pandoc变量中,您可以在构建的HTML文件中比较与原始文本的更改和注释。在这种情况下,会在构建的文件中添加一些JavaScript和HTML,但它可以通过从您的Pandoc变量中删除critic
键来删除。这是一种快速而简单的实现方式,但希望在未来将得到更多的发展。
构建系统
理论上,构建命令语法支持Pandoc的所有可能的from
和to
格式。实际上,我只是一个人,还没有为每一个格式都编写和测试过sublime-build
设置。Markdown从一开始就被完全配置,但如果您希望使用另一输入语言,您将需要编写一个sublime-build
文件。至少,它必须包含以下内容:
- 包的目标。包括
"target": "pandown_build"
行。 - 关于要构建的语言的说明。将
pandoc_from
设置为目标语言列表中的一个,可在文档中找到。 - 关于默认输出的说明。将
pandoc_to
设置为一个字典,其第一个条目是文档中列出的第一个“to”语言,第二个条目是输出的文件扩展名。
如果输出文件类型无法被Sublime打开,将prevent_viewing
设置为true
将阻止脚本尝试打开该文件,即使用户设置通常会导致其打开。
帮助和支持
如果您在使用Pandown或对其有任何建议,请不要犹豫,随时联系。您可以使用GitHub的“问题”界面,或者发送电子邮件到Daniel的邮箱d at daniel dot sh
。
感谢和致谢
代码的骨干最初是对Pandoc (Markdown)的修改;尽管大部分内容并未保留,但我还是很感激这个起点。几乎所有进程管理代码都来自Defaults/exec.py
模块。该包包含Gerald Storer的minify_json
模块,根据MIT许可发放,可以从这里获取。感谢Gerald绕过Python(以及Douglas Crockford)坚持不允许JSON中包含注释的固执立场。我还要感谢Critic Markup项目,允许我将他们的工作整合到这个包中。GitHub用户jareciog因在ST2中捕获灾难性错误而应特别受到指控。感谢Brett Terpstra慷慨允许我将他的CSS包含在这个包中。