ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Pandown

作者 phyllisstein 全部

适用于ST2/3的一个强大、多功能、高度隐秘的Pandoc构建包装器

详细信息

  • 2019.06.14.09.10.44
  • github.com
  • github.com
  • 5年前
  • 2小时前
  • 12年前

安装次数

  • 总计 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.htmlhttp://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 2Sublime 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的所有可能的fromto格式。实际上,我只是一个人,还没有为每一个格式都编写和测试过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包含在这个包中。