跳转到主要内容

一组Pandoc过滤器,以帮助文学编程

项目描述

读我 -- 混合,Pandoc过滤器

Test Badge codecov

这包含几个Pandoc过滤器以及用于Markdown中文学编程的脚本。这些过滤器足以让您开始使用Pandoc进行文学编程。

过滤器 功能
pandoc-annotate-codeblocks 在编织输出中为代码块添加注释。
pandoc-doctest 通过通过Jupyter传递代码块的内容来运行doc-tests。
pandoc-tangle 从代码块的内容生成源文件。
pandoc-bootstrap 扩展特定于Bootstrap页面的某些元素。

安装

Entangled过滤器有以下先决条件

  • Python >=3.7:所有这些过滤器都是用Python编写的。这主要是为了鼓励尽可能多的用户(我的意思是你)开始开发Pandoc过滤器。
  • Dhall:使用 pandoc-bootstrap 过滤器需要安装 dhall-to-json:请参阅 Dhall 语言。简单来说:从 Dhall 发布页面 下载 dhall-json-*-[windows|macos|linux].[zip|tar.bz2],并将其解压缩到您的 $PATH 目录中。Dhall 很棒,它一定会让你的生活更美好。

安装最简单的方法是使用 pip

pip install entangled-filters

开发中

要运行测试,在正常安装(以安装可执行文件)之后,运行

pip install --upgrade -e .[test]
pytest

可执行文件是由 setup.py 脚本自动生成的,并调用一些 python -m 命令。

支持的语法

有关更多信息,请参阅 项目主页

命名代码块

``` {.python #hello}
print("Hello, World!")
```

引用代码块

``` {.python #main}
def main():
    <<hello>>
```

定义文件

``` {.python file=hello.py}
<<main>>

if __name__ == "__main__":
    main()
```

文档测试

``` {.python .doctest #the-question}
6*7
---
42
```

pandoc-tangle

提取代码块并将它们写入文件。

pandoc -t plain --filter pandoc-tangle hello.md

pandoc-annotate-codeblocks

在生成的 HTML 或 PDF 输出中的代码块上添加名称标签。

pandoc -t html5 -s --filter pandoc-anotate-codeblocks hello.md

pandoc-doctest

运行 doctests,并将结果包含到输出中。同时标注代码块(因此无需运行 pandoc-annotate-codeblocks)。

pandoc -t html5 -s --filter pandoc-doctest hello.md

pandoc-bootstrap

同时标注代码块,并有两个功能

  • 将 Dhall 规范扩展为 Bootstrap 的卡片组,即单行多列的 flex-box。这可以在页面顶部吸引注意力,突出一些关键点。

  • 可折叠/可折叠的代码块。将 .bootstrap-fold 类添加到代码块中,使其隐藏在按钮后面。这对于一些较大的不引人注目的代码很有用。

此过滤器应与 Pandoc 的 Bootstrap 模板一起使用。其使用示例可在此处查看:Chaotic Pendulum,源代码位于 gh:jhidding/chaotic-pendulum

Docker

Entangled pandoc 过滤器可作为 Docker 镜像 使用。

运行

在当前工作目录中有一个 README.md 文件,运行

docker run --rm -ti --user $UID -v $PWD:/data nlesc/pandoc-tangle README.md

这将提取代码块并将它们写入文件。

构建

docker build -t nlesc/pandoc-tangle .

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

entangled-filters-0.8.3.tar.gz (13.7 kB 查看哈希)

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面