{% for tag in asyncapi | operationsTags %}
{{ tag }}
{% for channelName, channel in asyncapi.channels() %} {% if channel.publish() and channel.publish().hasTags() and channel.publish() | containTags(tag) %} Pub {% if channel.publish().summary() %} {{ channel.publish().summary() }} {% else %}
{{ slicedString(channelName, 'padding-top: 2px;') }}
{% endif %}
{% endif %} {% if channel.subscribe() and channel.subscribe().hasTags() and channel.subscribe() | containTags(tag) %} {% if channel.deprecated %} {% endif %} Sub {% if channel.subscribe().summary() %} {{ channel.subscribe().summary() }} {% else %}
{{ slicedString(channelName, 'padding-top: 2px;') }}
{% endif %}
{% endif %} {% endfor %}
{% endfor %} {% if asyncapi.channels() | containNoTag(asyncapi | operationsTags()) %}
Untagged
{% for channelName, channel in asyncapi.channels() %} {% if channel.hasPublish() and (not channel.publish().hasTags() or not channel.publish() | containTags(asyncapi | operationsTags())) %} Pub {% if channel.publish().summary() %} {{ channel.publish().summary() }} {% else %}
{{ slicedString(channelName, 'padding-top: 2px;') }}
{% endif %}
{% endif %} {% if channel.hasSubscribe() and (not channel.subscribe().hasTags() or not channel.subscribe() | containTags(asyncapi | operationsTags())) %} Sub {% if channel.subscribe().summary() %} {{ channel.subscribe().summary() }} {% else %}
{{ slicedString(channelName, 'padding-top: 2px;') }}
{% endif %}
{% endif %} {% endfor %}
{% endif %}