Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Peekdown

CI License

A lightweight, native Markdown viewer built with Rust. Peekdown is designed to open Markdown files instantly and provide a distraction-free reading experience.

Note: Peekdown currently supports Windows only. macOS and Linux support is planned.


Features

  • Fast cold startup – open files in under a second.
  • Single-instance app – double-clicking a .md file opens it in the existing window as a new tab.
  • Native GPUI rendering – smooth GPU-accelerated UI powered by GPUI.
  • GitHub Flavored Markdown – tables, task lists, fenced code blocks, strikethrough, and more via pulldown-cmark.
  • Syntax highlighting – code blocks rendered with syntect.
  • Mermaid diagram support – render mermaid code blocks as flowcharts, sequence diagrams, and more.
  • Embedded HTML support – handles tags like <details>, <img>, <kbd>, etc.
  • Outline sidebar – jump between headings quickly.
  • File explorer sidebar – browse Markdown files in the current directory or project root.
  • In-document search – find text inside the current document.
  • Auto-refresh – watch files for changes and reload automatically.
  • Appearance settings – light / dark / system theme, custom fonts, layout mode, zoom, and more.
  • Windows file association – register .md files to open with Peekdown from Explorer.

Screenshot

Peekdown screenshot

A screenshot has not been captured yet — this is a placeholder.


Installation

Scoop (Windows)

scoop bucket add ladle https://github.com/windedge/ladle
scoop install ladle/peekdown

Manual

Download prebuilt binary

Grab the latest release from GitHub Releases.

Build from source

cargo build --release

The executable will be located at target/release/peekdown.exe.


Tech Stack

Layer Crate / Library
UI framework GPUI + gpui-component
Markdown parsing pulldown-cmark
Syntax highlighting syntect
Async runtime smol
Embedded HTML parsing html5ever + markup5ever_rcdom
File watching notify
IPC interprocess
Diagram rendering mermaid-rs-renderer

Build & Run

Requirements

  • Rust toolchain (latest stable recommended)
  • A Windows machine to build (the current implementation uses Windows APIs for IPC, window activation, and file association; cross-platform abstraction is planned)

Run in development

cargo run

Run with a Markdown file

cargo run --release -- path/to/file.md

Build release binary

cargo build --release

The executable will be located at target/release/peekdown.exe.


Register File Association (Windows)

Run the following command as Administrator to make Peekdown the default handler for .md files:

peekdown.exe --register

Or, from the project directory:

cargo run --release -- --register

This creates the necessary registry entries under HKEY_CURRENT_USER\Software\Classes.


Configuration

Peekdown stores user settings in the platform config directory:

  • Windows: %APPDATA%\peekdown\config.toml
  • Linux: ~/.config/peekdown/config.toml
  • macOS: ~/Library/Application Support/peekdown/config.toml

Example config.toml

[appearance]
theme = "auto"               # "light", "dark", or "auto"
layout = "centered"          # "centered" or "full_width"
scroll_speed = 1.0
window_width = 1024.0
window_height = 768.0
font_family = ""
font_size = 16.0
mono_font_family = ""
mono_font_size = 13.0
inertia_scroll = true
show_fps = false
sidebar_visible = false
auto_refresh = true

Keyboard Shortcuts

Shortcut Action
Ctrl + O Open file dialog
Ctrl + F Open search bar
Esc Close search
Ctrl + Tab Next tab
Ctrl + Shift + Tab Previous tab
Ctrl + W Close current tab
Ctrl + + Zoom in font
Ctrl + - Zoom out font
Ctrl + 0 Reset font size
Ctrl + R Refresh current document
Home Scroll to top
End Scroll to bottom

Exact keybindings may evolve; refer to the in-app menu for the current bindings.


Development

Run tests

cargo test

Run lints

cargo clippy -- -D warnings

Known Limitations

  • Windows-only for now – Peekdown is currently developed and tested on Windows. macOS and Linux support is planned for future releases.
  • IPC is Windows-tuned – The single-instance mechanism uses Windows named pipes. A Unix socket equivalent is pending cross-platform work.
  • File association is Windows-specific – The --register command creates Windows registry entries. No equivalent exists yet for macOS or Linux.
  • Planned features not yet implemented – See docs/roadmap.md for features such as anchor jump, PDF export, and cross-platform support that are on the roadmap but not yet available.

License

Peekdown is released under the MIT License.

About

A lightweight native Markdown viewer with GPU-accelerated rendering, built with Rust and GPUI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages