一组Pandoc过滤器,以帮助文学编程
项目描述
读我 -- 混合,Pandoc过滤器
这包含几个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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 78820303fd215007d21ff94c6b2a60df355b4a7ca9012951eeb343894b2c1b66 |
|
MD5 | f22c30ab38b135da49136299599b9843 |
|
BLAKE2b-256 | dd47f23a248debb73748b559bb65c1fbc61e357dd186a63a4f54d57ad72bf736 |