用于叶的ShowCommits预处理器。

foliantcontrib.showcommits的Python项目详细描述


ShowCommits预处理器

ShowCommits是一个预处理器,它将与当前处理的文件对应的Git提交的历史记录附加到其内容中。在

安装

$ pip install foliantcontrib.showcommits

配置

要启用预处理器,请将showcommits添加到项目配置中的preprocessors部分:

^{pr2}$

预处理器有许多选项,默认值如下:

preprocessors:-showcommits:repo_path:!rel_path./# Path object that points to the current Foliant project’s top-level (“root”) directory when the preprocessor initializestry_default_path:trueremote_name:originself-hosted:gitlabprotocol:httpsposition:after_contentdate_format:year_firstescape_html:truetemplate:|## File History{{startcommits}}Commit: [{{hash}}]({{url}}), author: [{{author}}]({{email}}), date: {{date}}{{message}}```diff{{diff}}```{{endcommits}}targets:[]

repo_path :当前叶项目的文件所属的Git存储库的本地克隆副本的路径。在

try_default_path :指示预处理程序在用户指定的repo_path不存在时尝试使用默认repo_path的标志。在

remote_name :远程存储库的标识符;在大多数情况下不需要重写默认值。在

self-hosted :字符串,定义使用具有web界面的自托管Git存储库管理系统时提交的web URL锚定生成规则。支持的值包括:github用于GitHub,gitlab用于GitLab,以及{}用于位桶。如果repo fetch URL主机名是github.comgitlab.combitbucket.org,则会自动应用相应的规则。在

protocol :回购管理系统的Web界面URL前缀。支持的值是httpshttp。在

position :字符串,定义提交历史记录的位置。支持的值是:after_content用于将历史记录与当前处理的降价文件内容连接起来,defined_by_tag用于将标记<<commits></commits>替换为历史记录。在

date_format :输出日期格式。如果使用默认值year_first,则日期“2019年12月11日”将表示为2019-12-11。如果使用day_first值,则此日期将表示为11.12.2019。在

escape_html :指示预处理器将HTML控制字符替换为提交消息和差异中相应的HTML实体的标志:&替换为&amp;<替换为{},>替换为{},"替换为{}。在

template :用于呈现提交历史记录的模板。如果该值是一个包含一个或多个换行符(\n)或双左大括号({{)的字符串,则将其解释为模板本身。如果该值是一个没有换行符和任何双大括号的字符串,或者是Path对象,它将被解释为包含模板的文件的路径。模板语法如下所述。在

targets :预处理器允许的目标。如果未指定(默认情况下),预处理器将应用于所有目标。在

使用

您可以重写默认模板以自定义提交历史记录格式和呈现。可以在自定义模板中使用降价语法、HTML、CSS和JavaScript。在

在模板中,支持许多占位符。在

{{startcommits}} :循环中呈现的提交列表的开头。在此占位符之前,您可以使用一些常见的东西,如介绍标题或样式表。在

{{endcommits}} :提交列表的结尾。在这个占位符之后,您还可以使用一些常见的东西,如文本段落或脚本。在

以下占位符只影响{{startcommits}}{{endcommits}}之间。在

{{hash}} :提交哈希的前8位,例如deadc0de。在

{{url}} :带有指向特定文件的锚定的提交的Web URL,例如https://github.com/foliant-docs/foliant/commit/67138f7c#diff-478b1f78b2146021bce46fbf833eb636。如果不使用带web界面的回购管理系统,则不需要此占位符。在

{{author}} :作者姓名,例如Artemy Lomov。在

{{email}} :作者电子邮件,例如artemy@lomov.ru。在

{{date}} :格式化日期,例如2019-12-11。在

{{message}} :提交消息,例如Bump version to 1.0.1.。在

{{diff}} :在特定提交时当前处理的降价文件与处于先前状态的同一文件之间的差异。在

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

推荐PyPI第三方库


热门话题
嵌入式Java发送sec命令   如何用Java在Linux-PC上使用Android共享库(.so)   java如何使用vert进行进程间通信(在同一服务器上使用2个JVM进行通信)。十、   运行springboot应用程序时出现java问题   无法编译Java程序命令行   java多线程编程按住键   JavaVaadin使用从数据库获取的数据每秒更新UI数据   java在初始化第二个构造函数中的最后一个变量时遇到问题   java无法获取servlet设置的jstl requestScope变量   TextWatcher的java Update recyclerview inside afterTextChanged()事件   在Java中通过点击按钮从MySQL数据库检索数据并在表单中导航   将Flash/Flex组件嵌入Java应用程序   arraylist如何在java中将List<Map<K,V>>转换为Map<K,List<V>>   java将文本插入gwt textarea中的特定位置   java JPA和Spring数据JPA之间有什么区别?   java在JPanel上捕捉多边形   java关闭附加窗口(PApplet)   java将json对象传递给使用spring开发的端点   java如何在JUnit5*中加载*Spring测试上下文之前获取回调?