You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AsciiDoc中引用其他文档属性,实现类Confluence页面属性报告功能?

可行的AsciiDoc实现策略
  • 使用属性文件+包含指令
    给每个ADR单独创建属性文件(如adr-1.properties),存储属性值:

    adr-status=Accepted
    adr-date=2024-01-01
    adr-amends=无
    adr-amendedby=张三
    

    汇总文档中按顺序引入属性文件并填充表格:

    |===
    |Decision|Status|Decision date|Amends|Amended by
    
    :include: adr-1.properties[]
    |xref:adr-1.adoc[ADR 1: Decision Foo]
    |{adr-status}
    |{adr-date}
    |{adr-amends}
    |{adr-amendedby}
    
    :include: adr-2.properties[]
    |xref:adr-2.adoc[ADR 2: Decision Bar]
    |{adr-status}
    |{adr-date}
    |{adr-amends}
    |{adr-amendedby}
    |===
    

    注意:新属性文件会覆盖同名旧属性,需逐行引入对应表格行。

  • 利用文档内属性传递
    在每个ADR顶部定义属性,通过条件渲染避免导入正文:

    // ADR文档内
    :ifeval: {include-adr-properties} != ""
    :adr-status: Accepted
    :adr-date: 2024-01-01
    :adr-amends: 无
    :adr-amendedby: 张三
    :endif:
    
    // ADR正文内容...
    

    汇总文档中开启属性导入模式,依次引入ADR并填充表格:

    :include-adr-properties: true
    |===
    |Decision|Status|Decision date|Amends|Amended by
    
    :include: adr-1.adoc[]
    |xref:adr-1.adoc[ADR 1: Decision Foo]
    |{adr-status}
    |{adr-date}
    |{adr-amends}
    |{adr-amendedby}
    
    :include: adr-2.adoc[]
    |xref:adr-2.adoc[ADR 2: Decision Bar]
    |{adr-status}
    |{adr-date}
    |{adr-amends}
    |{adr-amendedby}
    |===
    
  • 轻量脚本辅助生成
    写个简单的Shell/Python脚本,遍历ADR目录提取顶部属性,自动生成表格行的AsciiDoc代码片段。手动将片段插入汇总文档即可,既减少重复劳动,又保留手动控制的灵活性,无需完全自动化。

内容的提问来源于stack exchange,提问作者Courtney Miles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:01:02