mdbook-langtabs

Crates.iomdbook-langtabs
lib.rsmdbook-langtabs
version0.2.0
created_at2025-03-29 01:27:17.222812+00
updated_at2025-12-02 19:47:16.421202+00
descriptionAn mdbook preprocessor that adds language tabs for code blocks
homepage
repositoryhttps://github.com/nx10/mdbook-langtabs
max_upload_size
id1610713
size410,433
Florian Rupprecht (nx10)

documentation

README

mdbook-langtabs

Crates.io License: MIT

An mdBook preprocessor that creates language tabs for code examples.

Language tabs example demo

Also check out the live demo.

Features

  • Switch between language examples without scrolling
  • Automatic language icons via Devicon

Installation

cargo install mdbook-langtabs

Or install the current development version:

cargo install --git https://github.com/nx10/mdbook-langtabs

Setup

Either use the automatic installer:

mdbook-langtabs install /path/to/your/book

Or manually:

  1. Add to your book.toml:
[preprocessor.langtabs]
command = "mdbook-langtabs"

[output.html]
additional-css = ["langtabs.css"]
additional-js = ["langtabs.js"]
  1. Copy langtabs.css and langtabs.js to your book's root directory.

Usage

Wrap your code blocks with the special comments:

<!-- langtabs-start -->
```rust
fn main() {
    println!("Hello from Rust!");
}
```

```python
def main():
    print("Hello from Python!")
```

```javascript
function main() {
    console.log("Hello from JavaScript!");
}
```
<!-- langtabs-end -->

This creates tabbed code examples that readers can switch between, as shown in the demo above.

License

MIT

Commit count: 10

cargo fmt