Skip to main content

An mdformat plugin for `obsidian`.

Project description

mdformat-obsidian

Build Status PyPI version

An mdformat plugin for Obsidian Flavored Markdown. This plugin directly supports Callouts and a few other features. More documentation will be forthcoming, but in the interim, see the test directory for supported formats.

[!NOTE] The format for GitHub Alerts differs slightly from Obsidian, so they are not fully compatible. Obsidian supports folding, custom titles, and is case insensitive. To improve interoperability, this package makes the stylistic choice of capitalizing the text within [!...].

mdformat Usage

Add this package wherever you use mdformat and the plugin will be auto-recognized. No additional configuration necessary. See additional information on mdformat plugins here

Tip: this package specifies an "extra" ('recommended') for plugins that work well with GFM:

Pre-Commit

repos:
  - repo: https://github.com/executablebooks/mdformat
    rev: 0.7.16
    hooks:
      - id: mdformat
        additional_dependencies:
          - mdformat-obsidian
          # Or
          # - "mdformat-obsidian[recommended]"

pipx

pipx install mdformat
pipx inject mdformat mdformat-obsidian
# Or
# pipx inject mdformat "mdformat-obsidian[recommended]"

HTML Rendering

To generate HTML output, obsidian_plugin can be imported from mdit_plugins. For more guidance on MarkdownIt, see the docs: https://markdown-it-py.readthedocs.io/en/latest/using.html#the-parser

from markdown_it import MarkdownIt

from mdformat_obsidian.mdit_plugins import obsidian_plugin

md = MarkdownIt()
md.use(obsidian_plugin)

text = "> [!tip] Callouts can have custom titles\n> Like this one."
md.render(text)
# <blockquote>

# </blockquote>

[!WARNING] This package does not properly handle replacing the blockquote outer div with a div for accessibility. This should be possible with markdown-it, but I haven't yet found a way.

Contributing

See CONTRIBUTING.md

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

mdformat_obsidian-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

mdformat_obsidian-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file mdformat_obsidian-0.1.0.tar.gz.

File metadata

  • Download URL: mdformat_obsidian-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for mdformat_obsidian-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be5cec09c3ceb94cc916f89b54373e36f97fbf97adc9eedcd32a9eff0ff31fdc
MD5 f3546dee33bc50c7622381695e792129
BLAKE2b-256 ffb9118d36f64638f2a7f1b53b8e6ff89ca09b7ea59591aa66992d6a22c8939d

See more details on using hashes here.

File details

Details for the file mdformat_obsidian-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mdformat_obsidian-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5bf779374f052247b68e3d87ce78e55231e01de5452d8548f0bef63f8e6d9872
MD5 2ff931b180c24e026446ffcfb48fa223
BLAKE2b-256 b20b9feb71d10e13ec76d90e0210ccd6e19abc1ac0ed2fe18e637314aaa47631

See more details on using hashes here.

Supported by

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