MultiMarkdown-4 icon indicating copy to clipboard operation
MultiMarkdown-4 copied to clipboard

Extend definition lists to support admonitions

Open toonetown opened this issue 9 years ago • 1 comments

This PR allows you to define an admonition by using the syntax found at https://pythonhosted.org/Markdown/extensions/admonition.html. The difference between this implementation and the one described on pythonhosted is this implementation uses definition lists instead of nested paragraphs. Also, if you specify and empty string for the title, the generated <dt> element will still be generated, but will be empty.

The added classes are admonition and xxx - whatever you set the admonition as.

Also, if you do not provide a term, then Xxx will be used as the term. The first letter will be capitalized, and any underscores will be replaced with spaces. This allows you to define, for example:

!!!my_note
     This is my note

And it will be turned into:

<dl class="admonition my_note">
    <dt>My note</dt>
    <dd>This is my note</dd>
</dl>

If you define a term after the admonition annotation, then the term is used instead (without the admonition). So, for example:

!!! warning "Be Careful" !!!
:   This is a dangerous thing to do

Will be turned into:

<dl class="admonition warning">
    <dt>Be Careful</dt>
    <dd>This is a dangerous thing to do</dd>
</dl>

Note that the trailing triple exclamation point is optional, but can be used (similar to the # for headers) to balance out the way the line looks.

Non-HTML formats will just output their information as a definition list.

There are also unit tests added to the MarkdownTest repository (see https://github.com/fletcher/MMD-Test-Suite/pull/7)

toonetown avatar Jul 24 '15 04:07 toonetown

If this feature is still not desired (as mentioned by @fletcher in issue #125), feel free to just close the PR (and also MMD-Test-Suite#7).

toonetown avatar Jul 24 '15 23:07 toonetown