# mdbook-obsidian [![crates.io](https://img.shields.io/crates/v/mdbook-obsidian.svg)](https://crates.io/crates/mdbook-obsidian) [![MPL 2.0 LICENSE](https://img.shields.io/github/license/GeckoEidechse/mdbook-obsidian.svg)](LICENSE) [![docs.rs](https://docs.rs/mdbook-obsidian/badge.svg)](https://docs.rs/mdbook-obsidian) [![Build](https://github.com/GeckoEidechse/mdbook-obsidian/actions/workflows/build.yml/badge.svg)](https://github.com/GeckoEidechse/mdbook-obsidian/actions/workflows/build.yml) [![Test](https://github.com/GeckoEidechse/mdbook-obsidian/actions/workflows/test.yml/badge.svg)](https://github.com/GeckoEidechse/mdbook-obsidian/actions/workflows/test.yml) [mdBook](https://github.com/rust-lang/mdBook) preprocessor to render [Obsidian](https://obsidian.md/) specific syntax in mdBook. To see the list of existing and supported syntax, see [this GitHub issue](https://github.com/GeckoEidechse/mdbook-obsidian/issues/1). > ⚠️ WIP ⚠️ > > This mdBook preprocessor is very much work-in-progress and currently only supports a small subset of the total Obsidian specific syntax. > Contributions to expand the supported syntax are more than welcome <3 > > If you'd like to take over maintainership or ownership of this crate, please get in touch via an issue in the GitHub repo of this crate. ## Usage First, install the preprocessor: ```bash cargo install mdbook-obsidian ``` Then, add the preprocessor to your `book.toml`: ```toml [book] authors = ["Jill Doe"] language = "en" multilingual = false src = "src" title = "My awesome Book" # ADD THIS [preprocessor.obsidian] ``` ## Development ### How it works The way this preprocessor works is primarily by using regexes to search for specific patterns like ```markdown > [!CALLOUT_TYPE] > CALLOUT_BODY ``` and then replacing it with the corresponding HTML code like ```html
CALLOUT_TYPE
CALLOUT_BODY