Filter 如何编写Pandoc筛选器以删除正文文本
我有一大套用Pandoc markdown编写的注释,我希望能够将其转换为beamer幻灯片,其中只有标题、列表、表格和公式可以保存。所以我想删除所有的纯文本。(我知道这并不是一个很好的演讲,但这只是一个开始。) 我原以为下面的方法行得通,但我不理解pandocfilter对象 我使用以下命令行Filter 如何编写Pandoc筛选器以删除正文文本,filter,pandoc,Filter,Pandoc,我有一大套用Pandoc markdown编写的注释,我希望能够将其转换为beamer幻灯片,其中只有标题、列表、表格和公式可以保存。所以我想删除所有的纯文本。(我知道这并不是一个很好的演讲,但这只是一个开始。) 我原以为下面的方法行得通,但我不理解pandocfilter对象 我使用以下命令行 pandoc -t beamer -o filter.pdf --filter=.\filter.bat --slide-level=2 filter.md 其中filter.bat是使脚本可执行的包
pandoc -t beamer -o filter.pdf --filter=.\filter.bat --slide-level=2 filter.md
其中filter.bat是使脚本可执行的包装器
python filter.py %*
filter.py是一个简单的脚本
"""
Pandoc filter to remove text, but leave headers, equations, and lists
"""
from pandocfilters import toJSONFilter, Str, Para
def noText(key, value, format, meta):
if key == 'Para':
return Para([Str ""])
if __name__ == "__main__":
toJSONFilter(noText)
而filter.md是一个简单的pandoc标记文件
---
title: Testing Filters
author: Richard Herron
---
# One
Weathered 3D-printed shoes faded post-bicycle man smart-render-farm soul-delay pre-crypto-network table papier-mache. Geodesic fetishism futurity table refrigerator silent boat industrial grade decay euro-pop. Paranoid vinyl shanty town Tokyo long-chain hydrocarbons sprawl drone pistol office DIY hotdog nano-footage. Math-spook shrine monofilament decay dome meta-rifle soul-delay corrupted fetishism cardboard artisanal carbon denim human table.
## Two
Kowloon tattoo euro-pop tube ablative tiger-team voodoo god digital bomb man bicycle vinyl monofilament papier-mache A.I. San Francisco. Cartel Shibuya alcohol stimulate vehicle wonton soup camera dissident order-flow boat systemic concrete pre-vinyl. Range-rover spook tiger-team computer singularity Shibuya convenience store urban tower smart-dolphin bicycle skyscraper carbon tank-traps systemic. Long-chain hydrocarbons assault vehicle motion carbon girl sentient systemic otaku rifle dead realism. Free-market franchise Chiba 3D-printed beef noodles meta-grenade construct rebar.
- One
- Two
- Three
## Two B
Franchise spook sprawl network lights Tokyo plastic grenade. Corrupted systemic paranoid singularity semiotics shoes numinous military-grade kanji j-pop. Modem table bicycle-space market corporation tattoo advert car youtube soul-delay. Euro-pop grenade rifle long-chain hydrocarbons ablative media neon bridge courier 8-bit physical savant advert boy neural tanto.
但是我得到了以下错误
File "filter.py", line 9
return Para([Str ""])
^
SyntaxError: invalid syntax
我在窗户上。我只能在*nix上使用过滤器吗?我认为这只是语法问题<代码>返回段落([Str(“”))应该work@scoa谢谢你说得对。但现在我又回到了原来的状态,并不断收到
pandoc:Failed reading:satisfyElem
错误。我认为Windows和pandoc过滤器不会混合使用,所以我正在使用Linux来实现这一点。谢谢我认为这只是语法问题<代码>返回段落([Str(“”))应该work@scoa谢谢你说得对。但现在我又回到了原来的状态,并不断收到pandoc:Failed reading:satisfyElem
错误。我认为Windows和pandoc过滤器不会混合使用,所以我正在使用Linux来实现这一点。谢谢