Skip to content

GFM admonition blocks (alerts) #327

Closed

Description

@bric3

Is your feature request related to a problem? Please describe.

Github now support admonition blocks

> [!NOTE]  
> Highlights information that users should take into account, even when skimming.

> [!TIP]
> Optional information to help a user be more successful.

> [!IMPORTANT]  
> Crucial information necessary for users to succeed.

> [!WARNING]  
> Critical content demanding immediate user attention due to potential risks.

> [!CAUTION]
> Negative potential consequences of an action.

Note

Highlights information that users should take into account, even when skimming.

Tip

Optional information to help a user be more successful.

Important

Crucial information necessary for users to succeed.

Warning

Critical content demanding immediate user attention due to potential risks.

Caution

Negative potential consequences of an action.

Describe the solution you'd like

Ideally adding a new gfm extension to common-mark makes sense, to support this admonition syntax.

Describe alternatives you've considered

No alternative.

Additional context

Source [1], [2]

Activity

  1. robinst commented on Jul 1, 2024

    @robinst
    Collaborator

    Hey, thanks for raising this! Yeah, this would be useful. It's interesting that it uses link syntax, and that links take precedence, e.g. in this:

    > [!NOTE]  
    > Highlights information that users should take into account, even when skimming.
    
    [!NOTE]: https://example.org
    

    It's actually a link because of the definition.

    I'm currently working on support for footnotes, see #273, which needed some more flexibility around link parsing and it has a new API to customize link processing. I think after that is done, admonition parsing should be pretty straightforward.

  2. bric3 commented on Jul 1, 2024

    @bric3
    Author

    I don't know how the internal parsing is working, but the context here seems relevant i.e. when parsing the admonition header, we need to know if it's within a block quote.

  3. harunagic commented on Sep 26, 2024

    @harunagic

    any updates on this?

  4. robinst commented on Oct 26, 2024

    @robinst
    Collaborator

    No updates yet. Happy to prioritize this if someone wants to sponsor the work on this.

    Some notes from playing around with it:

    This is an admonition block, even with the two empty leading lines inside the block quote (not sure how that's done, is there a special check in block quote parsing, or is the marker detected only later in inline parsing, or as a post-processing step?):

    > 
    > 
    > [!NOTE]
    > Highlights information that users should take into account, even when skimming.
    

    This is not an admonition block though (trailing spaces after the marker are accepted though):

    > [!NOTE] Highlights information that users should take into account, even when skimming.
    
  5. ITGungnir commented on Aug 28, 2025

    @ITGungnir

    Found this repo that might help.

  6. AnzhiZhang commented on Aug 28, 2025

    @AnzhiZhang
    Contributor

    Found this repo that might help.

    This repo does not have a licence. It defaults to reserving all rights. Cannot simply copy code to this repo, or in theory, we cannot use it.

  7. ITGungnir commented on Aug 29, 2025

    @ITGungnir

    This repo does not have a licence. It defaults to reserving all rights. Cannot simply copy code to this repo, or in theory, we cannot use it.

    Got it, thanks for the hint.

  8. JakeWharton commented on Aug 29, 2025

    @JakeWharton
  9. changed the title [-]GFM admonition blocks[/-] [+]GFM admonition blocks (alerts)[/+] on Sep 27, 2025
  10. robinst commented on Sep 27, 2025

    @robinst
    Collaborator

    Thanks @JakeWharton. I added a comment to the issue suggesting we merge it into this repo, I think that would be an even better outcome!

  11. robinst commented on Mar 31, 2026

    @robinst
    Collaborator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions