一个Python过滤器来管理缩写词

pandoc-acronyms的Python项目详细描述


pandoc acronyms-用于管理首字母缩略词的pandoc过滤器

缩略语?世界跆拳道联盟?在

有一个公约用更精确的文字提供全文 首字母缩略词的缩写。如果 文档的文本被拆分到多个文件中,这使得它很难实现 让作者知道首字母缩略词将首先用在哪里。这样的 任务最好交给计算机。这就是pandoc-acronyms 过滤器用于。作者在数据文件中列出首字母缩略词,然后引用 他们在课文里。在

如何:^{}

编写包含首字母缩略词的数据文件:

{
	"aba": {
		"shortform": "ABA",
		"longform": "a better acronym"
	},
	"bba": {
		"shortform": "BBA",
		"longform": "beer brewing attitude"
	}
}

然后在文本中,使用编码形式的首字母缩略词,如[!bba]。这个 过滤器将识别它。第一次使用时,它将标记替换为 “啤酒酿造态度(BBA)”。以后的任何使用都将被替换为 “工商管理硕士”。如果在 数据文件中未定义的文本。钥匙以a开头 字符,可以由字母、数字、破折号、加号组成 和下划线(“a-b”、“ab”、“a_b”或“c++”,但不是“++c”)。在

将对文本进行替换,并独立于 选定的输出格式。而工具 as pandoc-ac帮助用户 在LaTeX中生成首字母缩略词命令,pandoc-acronyms旨在 直接处理文档文本。在

在输入文本中使用首字母缩略词

在文本中写首字母缩略词最常见的方法是[!键]。要定制输出,可以将首字母缩略词规范变得更具体:

  • [!+键]选择首字母缩略词的复数形式。在
  • [!^键]选择首字母缩略词的大写形式。这只影响长格式,缩写的短格式不会改变。在
  • [!+^对于复数大写变体,必须首先指定复数形式。在

还可以选择应插入文本的形式(可以与复数或大写选择结合使用):

  • [!key>;]插入长形式(“啤酒酿造态度”)。在
  • [!key<;]插入短格式(“BBA”)。在
  • [!钥匙!]插入解释表格(“啤酒酿造态度(BBA)”)。在

使用pandoc过滤器

过滤机制是pandoc的一个内置功能。过滤器是 添加到如何调用pandoc:

^{pr2}$

Pandoc不允许将参数传递给过滤器。这个 缩略词过滤器需要从数据文件中加载缩略词。工作 围绕这一点,过滤器的参数可以在环境中传递 变量:

> pandoc-acronyms --help
Usage: pandoc-acronyms [OPTIONS] [FORMAT]...

The pandoc-acronyms filter.

Options:
	-a, --acronyms TEXT           A file with acronym definitions in JSON
    		                      format.
	-v, --verbose / --no-verbose  Enable verbose output.
	-s, --suggest / --no-suggest  Suggest marking acronyms detected in the text.
	-e, --error / --no-error      Exit with an error if an undefined acronym is
								  used.
	-d, --debug / --no-debug      Enable debug output.
	--version                     Show the version and exit.
	--help                        Show this message and exit.

环境变量PANDOC_ACRONYMS_ACRONYMS可用于 替换--acronyms选项。同样,变量 PANDOC_首字母缩略词_VERBOSE启用诊断输出。所有命令行选项 可以使用相同的环境变量控制pandoc-acronyms 方式:

  • --缩略语:PANDOC_首字母缩略词
  • --verbose/--无冗长:PANDOC_首字母缩略词_verbose
  • --建议/--no suggest”:PANDOC_首字母缩略词\u suggest
  • --错误/--无错误:PANDOC_首字母缩略词错误
  • --调试/--不调试:PANDOC_首字母缩略词_debug

安装

pandoc-acronyms程序通过Python Package Index发布:

> pip install pandoc-acronyms
...

或者,开发人员可以 main repository 并使用Python setuptools进行安装:

> python setup.py install
...

无论以哪种方式安装,过滤器都可以作为独立程序在中使用 Python使用的安装位置。在

测试和调试

pandoc-acronyms代码使用标准的Python unittest 框架。大多数测试是数据驱动的,因为它们使用常规的 标记文件和JSON缩略词词典作为输入,并测试 代码处理它们。将过滤器代码作为常规Python单元进行测试 测试时,首先将测试降价输入转换为Pandoc“原生” JSON”格式,然后由 测验。这意味着单元测试是独立运行的(不需要 Pandon调用它们作为一个过滤器),使测试代码更容易 调试实验室乐。在

如何作出贡献

Git repository for the pandoc acronym filter是 托管在Gitlab上。它使用Gitlab CI系统来保证质量 对于开发分支和传入的合并请求。部署 to PyPI是自动的。开发分支机构和 合并请求将部署到 这个 PyPI test instance 作为开发包。对主服务器的提交将部署到常规 PyPI作为开发包。主服务器上的标记版本已部署 去PyPI 作为 stable releases。在

若要投稿,请提交合并请求。你的合并 请求应保持或增加测试覆盖率。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?