Class KonceptSigilInlineMacro

java.lang.Object
org.asciidoctor.extension.BaseProcessor
org.asciidoctor.extension.MacroProcessor<org.asciidoctor.ast.PhraseNode>
org.asciidoctor.extension.InlineMacroProcessor
network.ike.docs.koncept.KonceptSigilInlineMacro
All Implemented Interfaces:
org.asciidoctor.extension.Processor

@Name("koncept-sigil") public class KonceptSigilInlineMacro extends org.asciidoctor.extension.InlineMacroProcessor
AsciidoctorJ inline macro that renders a component-kind sigil on its own — the mark a Koncept Badge carries for its kind, without any badge around it — so prose that talks about the sigil scheme (a "How to Read This Guide" front matter, a tutorial) can show the real marks instead of describing them.

Usage in AsciiDoc:

koncept-sigil:description[]   (amber D)
koncept-sigil:semantic[]      (green S)
koncept-sigil:pattern[]       (violet P)
koncept-sigil:stamp[]         (the grey pentagon)
koncept-sigil:unknown[]       (red ?)

The target is a KonceptKind name, case-insensitive. The SVG comes from KonceptSvgRenderer.renderSigil(KonceptKind), which draws from the same locked KonceptKind glyph/colour data and StampSigilGeometry pentagon the badge renderers use — the sigil shown in prose is the sigil shown in badges, by construction, never a hand-copied asset that could drift. The bare Koncept kind deliberately has no sigil ("Koncept bare, everything else marked", ike-issues#638) and renders nothing, with a warning. On non-HTML backends the sigil degrades to its letter glyph, or the kind name for the pentagon.

With a bracket label the macro renders a specimen badge instead of the bare sigil — the full badge form of that kind carrying the given text, unlinked, because a specimen shows what a badge of the kind looks like without claiming a glossary reference. A uuid attribute names the specimen's real referent, and the badge renders in full — sigil, identicon, label — honouring the anatomy rule that a sigil never stands alone (ike-issues#742 amendment):

koncept-sigil:description[label="Uninitialized Component (SOLOR)", uuid=6d3a2410-…]
koncept-sigil:semantic[label="Gretel", uuid=1a5b28fd-…]
koncept-sigil:stamp[label="Active · Inception · IKE Community", uuid=770cba9b-…]
Without a uuid the chip degrades to sigil + label (legacy form). Letter kinds render via KonceptInlineMacro.renderSpecimenChip(KonceptKind, String); a stamp renders the pentagon-and-provenance chip via KonceptInlineMacro.renderStampSpecimenChip(String, String, String) (or KonceptSvgRenderer.renderStampSpecimen(String) without a uuid). Keep specimen text and uuids real — drawn from actual knowledge-base content — so the guide never illustrates with invented values.

A bare sigil accepts a scale attribute (koncept-sigil:stamp[scale=1.5]) for legend and teaching contexts where the mark should read larger than badge scale; the geometry is untouched — only the rendered box grows. Specimen chips size with the surrounding text and ignore scale.

  • Field Summary

    Fields inherited from class org.asciidoctor.extension.InlineMacroProcessor

    REGEXP

    Fields inherited from class org.asciidoctor.extension.MacroProcessor

    name
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    org.asciidoctor.ast.PhraseNode
    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

    • KonceptSigilInlineMacro

      public KonceptSigilInlineMacro()
      Creates a new inline macro processor instance.
  • Method Details

    • process

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