Skip to content

HALQME/slide_bun

Repository files navigation

Slide Bun 🐰

Zero-Config Slide Generator - Write Markdown, get beautiful slides automatically.

Slide Bun is a fast, zero-configuration presentation tool powered by Bun. It transforms your Markdown files into polished, responsive HTML slides with automatic layout adjustments.

🚀 Features

  • Markdown First: Write your content in standard Markdown.
  • Auto Layout: Automatically adjusts font sizes based on content density.
  • Fast Build: Powered by Bun for incredible speed.
  • Flexible Styling: Support for CSS classes, columns, and custom attributes.
  • Live Preview: Built-in development server with live reload.
  • Zero Config: Sensible defaults, just write and run.

📦 Installation

Using Bun

bun add -d slide_bun

Or run directly:

bunx slide_bun <your-file.md>

Using npm

Although this tool is built for Bun, you can install it via npm if you have the Bun runtime available in your path.

npm install -g slide_bun
# or run directly
npx slide_bun <your-file.md>

Note: Requires Bun runtime installed on your system.

Using Nix

This project provides a standard Nix flake.

# Run directly
nix run github:halqme/slide_bun -- <your-file.md>

# Enter development shell
nix develop github:halqme/slide_bun

🛠 Usage

Build Slides

Generate a static HTML file from your Markdown source.

slide-bun presentation.md

Options:

  • -o, --output <path>: Specify output file path (default: dist/index.html)
  • -w, --watch: Watch for changes and rebuild
  • --open: Open the generated file in browser
  • -v, --version: Show version number
  • -h, --help: Show help message

Development Server

Start a local server to preview your slides.

slide-bun serve presentation.md

Options:

  • -p, --port <number>: Set server port (default: 3000)

📝 Markdown Syntax

Slide Bun extends standard Markdown with powerful layout features.

Frontmatter

Configure your slide deck using YAML frontmatter at the top of your file.

title: My Awesome Presentation
author: Me
theme: default
aspectRatio: 16/9
fontSize: M

Slides

Separate slides with ---.

# Slide 1

Content...

---

# Slide 2

Content...

Columns

Create multi-column layouts using ::: columns blocks.

::: columns
:::: col

### Left Column

- Item 1
- Item 2
  ::::

:::: col

### Right Column

![Image](image.png)
::::
:::

Styling & Classes

Apply CSS classes to elements using {.classname} syntax.

# Centered Title {.center}

This text is highlighted. [Important]{.mark}

![Background](bg.jpg){.cover}

Speaker Notes

Add private notes that won't appear on the main slide.

::: speaker
Don't forget to mention the new features!
:::

💻 Development

Prerequisites

  • Bun (v1.3.8+)
  • Nix (optional, for reproducible environment)

Setup

  1. Clone the repository:

    git clone https://github.com/halqme/slide_bun.git
    cd slide_bun
  2. Install dependencies:

    bun install
  3. Run tests:

    bun run test
  4. Build the project:

    bun run build

📄 License

MIT


Built with ❤️ using Bun.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published