aio/tools/transforms/remark-package/services/renderMarkdown.js
function inlineTagDefs() {
    const Parser = this.Parser;
    const inlineTokenizers = Parser.prototype.inlineTokenizers;
    const inlineMethods = Parser.prototype.inlineMethods;
    const blockTokenizers = Parser.prototype.blockTokenizers;
    const blockMethods = Parser.prototype.blockMethods;

    blockTokenizers.inlineTag = tokenizeInlineTag;
    blockMethods.splice(blockMethods.indexOf('paragraph'), 0, 'inlineTag');

    inlineTokenizers.inlineTag = tokenizeInlineTag;
    inlineMethods.splice(blockMethods.indexOf('text'), 0, 'inlineTag');
    tokenizeInlineTag.notInLink = true;
    tokenizeInlineTag.locator = inlineTagLocator;

    function tokenizeInlineTag(eat, value, silent) {
      const match = /^\{@[^\s\}]+[^\}]*\}/.exec(value);

      if (match) {
        if (silent) {
          return true;
        }
        return eat(match[0])({
          'type': 'inlineTag',
          'value': match[0]
        });
      }
    }

    function inlineTagLocator(value, fromIndex) {
      return value.indexOf('{@', fromIndex);
    }
  }
function inlineTagDefs() {
    const Parser = this.Parser;
    const inlineTokenizers = Parser.prototype.inlineTokenizers;
    const inlineMethods = Parser.prototype.inlineMethods;
    const blockTokenizers = Parser.prototype.blockTokenizers;
    const blockMethods = Parser.prototype.blockMethods;

    blockTokenizers.inlineTag = tokenizeInlineTag;
    blockMethods.splice(blockMethods.indexOf('paragraph'), 0, 'inlineTag');

    inlineTokenizers.inlineTag = tokenizeInlineTag;
    inlineMethods.splice(blockMethods.indexOf('text'), 0, 'inlineTag');
    tokenizeInlineTag.notInLink = true;
    tokenizeInlineTag.locator = inlineTagLocator;

    function tokenizeInlineTag(eat, value, silent) {
      const match = /^\{@[^\s\}]+[^\}]*\}/.exec(value);

      if (match) {
        if (silent) {
          return true;
        }
        return eat(match[0])({
          'type': 'inlineTag',
          'value': match[0]
        });
      }
    }

    function inlineTagLocator(value, fromIndex) {
      return value.indexOf('{@', fromIndex);
    }
  }
function inlineTagDefs ( ) { const Parser = this . Parser ; const inlineTokenizers = Parser . prototype . inlineTokenizers ; const inlineMethods = Parser . prototype . inlineMethods ; const blockTokenizers = Parser . prototype . blockTokenizers ; const blockMethods = Parser . prototype . blockMethods ; blockTokenizers . inlineTag = tokenizeInlineTag ; blockMethods . splice ( blockMethods . indexOf ( 'paragraph' ) , 0 , 'inlineTag' ) ; inlineTokenizers . inlineTag = tokenizeInlineTag ; inlineMethods . splice ( blockMethods . indexOf ( 'text' ) , 0 , 'inlineTag' ) ; tokenizeInlineTag . notInLink = true ; tokenizeInlineTag . locator = inlineTagLocator ; function tokenizeInlineTag ( eat , value , silent ) { const match = / ^\{@[^\s\}]+[^\}]*\} / . exec ( value ) ; if ( match ) { if ( silent ) { return true ; } return eat ( match [ 0 ] ) ( { 'type' : 'inlineTag' , 'value' : match [ 0 ] } ) ; } } function inlineTagLocator ( value , fromIndex ) { return value . indexOf ( '{@' , fromIndex ) ; } }
Teach remark about inline tags, so that it neither wraps block level
tags in paragraphs nor processes the text within the tag.
Teach remark about inline tags so that it neither wraps block level tags in paragraphs nor processes the text within the tag .