Skip to main content

A simple plugin that converts Obsidian style callouts and converts them into mkdocs supported 'admonitions' (a.k.a. callouts).

Project description

mkdocs-callouts

Build Status GitHub latest commit PyPi MIT license codecov

A simple plugin that converts Obsidian style callouts and converts them into mkdocs supported 'admonitions' (a.k.a. callouts).

[!NOTE] For GitHub's callout syntax, this markdown extension might be what you want instead: https://github.com/dahlia/markdown-gfm-admonition

Setup

Install the plugin using pip:

pip install mkdocs-callouts

Activate the plugin in mkdocs.yml, note that some markdown_extensions are required for this plugin to function correctly:

markdown_extensions:
  - nl2br
  - admonition
  - pymdownx.details
  - pymdownx.superfences

plugins:
  - search
  - callouts

Note: If you have no plugins entry in your config file yet, you'll likely also want to add the search plugin. MkDocs enables it by default if there is no plugins entry set, but now you have to enable it explicitly.

Usage

mkdocs-callouts converts the following:

> [!INFO] Title
> An information callout from Obsidian
> inspired by the syntax from the Microsoft Docs

and turns it into:

!!! info "Title"
    An admonition block for MkDocs.
    Allowing you to edit your notes
    with confidence using Obsidian.

Foldable blocks

Foldable blocks are also supported. (> [!INFO]- Foldable closed by default, > [!INFO]+ Foldable open by default)

Inline blocks

To turn a callout block into an inline block you can use the |left or |right syntax in the type notation like so:

> [!INFO|left] -> !!! info inline (alt: [!INFO | left])
> [!INFO|inline] -> !!! info inline

> [!INFO|right] -> !!! info inline end 
> [!INFO|inline end] -> !!! info inline end

The following also works, but Obsidian may not render the block type correctly.

> [!INFO inline] --> !!! info inline
> [!INFO inline end] --> !!! info inline end

To get more information about inline blocks, or how to add your own custom callout blocks, check the Material Mkdocs Documentation.

Aliases

Obsidian allows the use of aliases when creating callouts, mkdocs-callouts converts these to the corresponding block type. Should you wish to disable this behaviour then you can do so by setting aliases to false in the plugin configuration:

plugins:
  - search
  - callouts:
      aliases: false

Breakless lists (New in 1.11.0)

Markdown specification requires a blank line between list items and other block elements, whereas Obsidian does not require this. This plugin will by default automatically add a blank line between list items and callout blocks (if none are present). Should you wish to disable this behaviour then you can do so by setting breakless_lists to false in the plugin configuration:

plugins:
  - search
  - callouts:
      breakless_lists: false

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkdocs_callouts-1.16.1.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkdocs_callouts-1.16.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file mkdocs_callouts-1.16.1.tar.gz.

File metadata

  • Download URL: mkdocs_callouts-1.16.1.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mkdocs_callouts-1.16.1.tar.gz
Algorithm Hash digest
SHA256 ca15e9e56c212450bd1b9712ef8033809b624212bfdc6415ecd95c9f6262e932
MD5 33dc1d3b170e0f16aafd5b6b36734d52
BLAKE2b-256 28299c7c71cc63b9cc77b00eb551c9cae721c5fd6cacb30da66367b15e98c5d1

See more details on using hashes here.

File details

Details for the file mkdocs_callouts-1.16.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_callouts-1.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3956c1a79623f85d50e5ddc1cacf68ddbc8c5c9faffa14e85aa312be5e603aeb
MD5 ac9b073d823b4d75d4858c0d6c7d6ae2
BLAKE2b-256 a729a80a22182011f53808dc0a01dc782bd1adf025f651e8962d15ef942c445b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page