如何在Asciidoctor生成的PDF中添加当前git commit哈希值
解决方案
方法1:通过命令行传递Git哈希属性(推荐,安全无额外风险)
- 第一步:在你的
Doku.adoc文件中,在需要展示Git哈希的位置添加属性引用{git-sha1}。如果需要固定放在页脚/页眉,可以直接在文件头部添加配置::footer-center: 提交哈希: {git-sha1} - 第二步:执行转换命令时,直接将Git哈希值作为参数传入:
- Linux/macOS 终端、Windows PowerShell 执行命令:
asciidoctor-pdf -a git-sha1="$(git rev-parse --short HEAD)" Doku.adoc - Windows CMD 执行命令:
for /f %i in ('git rev-parse --short HEAD') do asciidoctor-pdf -a git-sha1=%i Doku.adoc
说明:把命令中的--short去掉就可以获取完整长度的SHA1哈希值。
- Linux/macOS 终端、Windows PowerShell 执行命令:
方法2:在Asciidoc文件内直接调用Git命令
如果你不想每次转换手动传参数,可以直接在文件内定义属性调用Git命令,仅需注意仅在你信任的本地adoc文件上使用该方法,避免执行恶意shell命令:
- 第一步:在
Doku.adoc文件头部添加如下配置::allow-uri-read: :git-sha1: shell:git rev-parse --short HEAD # 按需配置哈希展示位置,比如放在页脚 :footer-center: 提交哈希: {git-sha1} - 第二步:执行转换时开启低安全模式允许执行shell命令:
asciidoctor-pdf --safe-mode unsafe Doku.adoc
内容的提问来源于stack exchange,提问作者jschnasse
相关产品推荐
相关产品推荐

