Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

👌 Expand support for Python-Markdown in the admon plugin #94

Merged
merged 10 commits into from
Jan 11, 2024
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,
KyleKing marked this conversation as resolved.
Show resolved Hide resolved
}
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