Skip to content
7 changes: 5 additions & 2 deletions mdit_py_plugins/admon/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,10 @@ def admonition(state: StateBlock, startLine: int, endLine: int, silent: bool) ->
token = state.push("admonition_open", "div", 1)
token.markup = markup
token.block = True
token.attrs = {"class": " ".join(["admonition", tag, *_extra_classes(markup)])}
token.attrs = {
"class": " ".join(["admonition", tag, *_extra_classes(markup)]),
"role": tag,
}
token.meta = {"tag": tag}
token.content = title
token.info = params
Expand All @@ -140,7 +143,7 @@ def admonition(state: StateBlock, startLine: int, endLine: int, silent: bool) ->
title_markup = f"{markup} {tag}"
token = state.push("admonition_title_open", "p", 1)
token.markup = title_markup
token.attrs = {"class": "admonition-title"}
token.attrs = {"class": "admonition-title", "role": "heading"}
token.map = [startLine, startLine + 1]

token = state.push("inline", "", 0)
Expand Down
90 changes: 45 additions & 45 deletions tests/fixtures/admon.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Simple admonition
!!! note
*content*
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p><em>content</em></p>
</div>
.
Expand All @@ -19,8 +19,8 @@ Could contain block elements too
-----------

.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<h3>heading</h3>
<hr>
</div>
Expand All @@ -34,8 +34,8 @@ Shows custom title
Some text

.
<div class="admonition note">
<p class="admonition-title">Custom title</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Custom title</p>
<p>Some text</p>
</div>
.
Expand All @@ -47,7 +47,7 @@ Shows no title
Some text

.
<div class="admonition note">
<div class="admonition note" role="note">
<p>Some text</p>
</div>
.
Expand All @@ -59,8 +59,8 @@ Removes extra quotes from the title
...

.
<div class="admonition danger">
<p class="admonition-title">Don't try this at home</p>
<div class="admonition danger" role="danger">
<p class="admonition-title" role="heading">Don't try this at home</p>
<p>...</p>
</div>
.
Expand All @@ -74,8 +74,8 @@ Closes block after 2 empty lines

A code block
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>Some text</p>
</div>
<pre><code>A code block
Expand All @@ -91,10 +91,10 @@ Nested blocks

code block
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>Some text</p>
<pre><code>code block
</code></pre>
Expand All @@ -109,11 +109,11 @@ Consecutive admonitions

!!! warning
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
</div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<div class="admonition warning" role="warning">
<p class="admonition-title" role="heading">Warning</p>
</div>
.

Expand All @@ -123,8 +123,8 @@ Marker may be indented up to 3 chars
!!! note
content
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>content</p>
</div>
.
Expand All @@ -148,8 +148,8 @@ Some more indent checks

code block
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
</div>
<p>not a code block</p>
<pre><code>code block
Expand All @@ -163,8 +163,8 @@ Type could be adjacent to marker
xxx

.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>xxx</p>
</div>
.
Expand All @@ -176,8 +176,8 @@ Type could be adjacent to marker and content may be shifted up to 3 chars
xxx

.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>xxx</p>
</div>
.
Expand All @@ -188,8 +188,8 @@ Or several spaces apart
!!! note
xxx
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>xxx</p>
</div>
.
Expand All @@ -200,8 +200,8 @@ Admonitions self-close at the end of the document
!!! note
xxx
.
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>xxx</p>
</div>
.
Expand All @@ -218,17 +218,17 @@ They could be nested in lists
.
<ul>
<li>
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<ul>
<li>a</li>
<li>b</li>
</ul>
</div>
</li>
<li>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<div class="admonition warning" role="warning">
<p class="admonition-title" role="heading">Warning</p>
<ul>
<li>c</li>
<li>d</li>
Expand All @@ -248,8 +248,8 @@ Or in blockquotes
>
.
<blockquote>
<div class="admonition note">
<p class="admonition-title">Note</p>
<div class="admonition note" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>xxx</p>
<blockquote>
<p>yyy
Expand All @@ -265,8 +265,8 @@ Renders unknown admonition type
!!! unknown title
content
.
<div class="admonition unknown">
<p class="admonition-title">title</p>
<div class="admonition unknown" role="unknown">
<p class="admonition-title" role="heading">title</p>
<p>content</p>
</div>
.
Expand All @@ -288,8 +288,8 @@ MKdocs Closed Collapsible Sections
??? note
content
.
<div class="admonition note is-collapsible collapsible-closed">
<p class="admonition-title">Note</p>
<div class="admonition note is-collapsible collapsible-closed" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>content</p>
</div>
.
Expand All @@ -300,8 +300,8 @@ MKdocs Open Collapsible Sections
???+ note
content
.
<div class="admonition note is-collapsible collapsible-open">
<p class="admonition-title">Note</p>
<div class="admonition note is-collapsible collapsible-open" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>content</p>
</div>
.
Expand All @@ -321,8 +321,8 @@ Indented by 4 spaces, DISABLE-CODEBLOCKS
??? note
content
.
<div class="admonition note is-collapsible collapsible-closed">
<p class="admonition-title">Note</p>
<div class="admonition note is-collapsible collapsible-closed" role="note">
<p class="admonition-title" role="heading">Note</p>
<p>content</p>
</div>
.
4 changes: 4 additions & 0 deletions tests/test_admon/test_plugin_parse_0_.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
- attrs:
- - class
- admonition note
- - role
- note
block: true
children: null
content: Note
Expand All @@ -19,6 +21,8 @@
- attrs:
- - class
- admonition-title
- - role
- heading
block: true
children: null
content: ''
Expand Down
4 changes: 4 additions & 0 deletions tests/test_admon/test_plugin_parse_1_.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
- attrs:
- - class
- admonition note is-collapsible collapsible-closed
- - role
- note
block: true
children: null
content: Note
Expand All @@ -19,6 +21,8 @@
- attrs:
- - class
- admonition-title
- - role
- heading
block: true
children: null
content: ''
Expand Down
4 changes: 4 additions & 0 deletions tests/test_admon/test_plugin_parse_2_.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
- attrs:
- - class
- admonition note is-collapsible collapsible-open
- - role
- note
block: true
children: null
content: Note
Expand All @@ -19,6 +21,8 @@
- attrs:
- - class
- admonition-title
- - role
- heading
block: true
children: null
content: ''
Expand Down