Class KonceptBadgeAnatomyBlockMacro

java.lang.Object
org.asciidoctor.extension.BaseProcessor
org.asciidoctor.extension.MacroProcessor<org.asciidoctor.ast.StructuralNode>
org.asciidoctor.extension.BlockMacroProcessor
network.ike.docs.koncept.KonceptBadgeAnatomyBlockMacro
All Implemented Interfaces:
org.asciidoctor.extension.Processor

@Name("koncept-badge-anatomy") public class KonceptBadgeAnatomyBlockMacro extends org.asciidoctor.extension.BlockMacroProcessor
AsciidoctorJ block macro that renders the anatomy of a Koncept Badge as a real, captioned figure: the referenced koncept's badge — kind sigil, identicon, name — drawn large, with a muted part label beneath each part.

Usage in AsciiDoc, per the image standards (block title and alt text always present):

.Anatomy of a Koncept Badge
koncept-badge-anatomy::DescriptionPattern[]

The figure is composed at conversion time by KonceptFigureRenderer from the same primitives the badges render with — the KonceptKind sigil glyph/colour data and the IdenticonRenderer LifeHash image — so the illustration can never drift from a real badge. The target resolves through KonceptResolver exactly as a k: reference does; a target with no computable identity renders a visible placeholder. The html family embeds a data: URI; file-referencing backends get a content-addressed PNG file. Drawn at 2× and displayed at half width for crispness.

An uncurated typed target — a component whose identity is source-declared but not in koncepts.yml, like a ledger-declared STAMP whose PublicId is the deterministic Stamp.stampUuid of its tuple — resolves with no kind and its id as label, so the author asserts both explicitly:

.Anatomy of a STAMP badge
koncept-badge-anatomy::uuid=1e041b79-…[kind=stamp, label="Active · 2026-07-12 00:00 · IKE Community"]
The same adopt-never-re-mint discipline as declared component identities: assert only what the source of the identity declares. A stamp anatomy renders the pentagon on the gray provenance chip, with the verbatim provenance text labelled provenance in place of name.
  • Field Summary

    Fields inherited from class org.asciidoctor.extension.MacroProcessor

    name
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new block macro processor instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.asciidoctor.ast.StructuralNode
    process(org.asciidoctor.ast.StructuralNode parent, String target, Map<String,Object> attributes)
     

    Methods inherited from class org.asciidoctor.extension.MacroProcessor

    getName, options, setName

    Methods inherited from class org.asciidoctor.extension.BaseProcessor

    createBlock, createBlock, createBlock, createBlock, createBlock, createBlock, createBlock, createDocument, createList, createList, createList, createListItem, createListItem, createPhraseNode, createPhraseNode, createPhraseNode, createPhraseNode, createPhraseNode, createPhraseNode, createSection, createSection, createSection, createSection, createSection, createTable, createTable, createTableCell, createTableCell, createTableCell, createTableCell, createTableColumn, createTableColumn, createTableRow, getConfig, log, newCursor, newCursor, newCursor, newReader, newReader, newReader, newReader, parseContent, setConfig, unwrap, updateConfig

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • KonceptBadgeAnatomyBlockMacro

      public KonceptBadgeAnatomyBlockMacro()
      Creates a new block macro processor instance.
  • Method Details

    • process

      public org.asciidoctor.ast.StructuralNode process(org.asciidoctor.ast.StructuralNode parent, String target, Map<String,Object> attributes)
      Specified by:
      process in class org.asciidoctor.extension.MacroProcessor<org.asciidoctor.ast.StructuralNode>