Class KonceptNarrativeBlockMacro

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

@Name("koncept-narrative") public class KonceptNarrativeBlockMacro extends org.asciidoctor.extension.BlockMacroProcessor
AsciidoctorJ block macro processor that splices a koncept's curated, long-form narrative field into the document as real AsciiDoc source.

Usage in AsciiDoc:

koncept-narrative::Axioms[]

The target is a koncepts.yml identifier (the same key a k: reference uses); its narrative field — AsciiDoc source, including embedded k: chip references — is split into lines and handed to BaseProcessor.parseContent(StructuralNode, List) so it is re-parsed as real AsciiDoc (embedded chips resolve through the normal macro pipeline), not frozen as pre-rendered text. This is the KB-native alternative to hand-typed manuscript prose (IKE-Network/ike-issues#879): the same content lives once, in the knowledge base, and is rendered here rather than copied.

A koncept with no narrative field renders a visible placeholder rather than silently vanishing, matching the glossary's own "Definition not available" convention for a missing field.

  • 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

    • KonceptNarrativeBlockMacro

      public KonceptNarrativeBlockMacro()
      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>