用于叶的ShowCommits预处理器。
foliantcontrib.showcommits的Python项目详细描述
ShowCommits预处理器
ShowCommits是一个预处理器,它将与当前处理的文件对应的Git提交的历史记录附加到其内容中。在
安装
$ pip install foliantcontrib.showcommits
配置
要启用预处理器,请将showcommits
添加到项目配置中的preprocessors
部分:
预处理器有许多选项,默认值如下:
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,以及{github.com
、gitlab.com
或bitbucket.org
,则会自动应用相应的规则。在
protocol
:回购管理系统的Web界面URL前缀。支持的值是https
和http
。在
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实体的标志:&
替换为&
,<
替换为{>
替换为{"
替换为{
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}}
:在特定提交时当前处理的降价文件与处于先前状态的同一文件之间的差异。在
- 项目
标签: