Repository navigation
v0.2.0
viewmd v0.2.0 — Rewritten in Go
viewmd has been completely rewritten from Python to Go. It's now a single static binary with zero runtime dependencies, available via Homebrew.
Installation
brew install driangle/tap/viewmdOr from source: go install github.com/driangle/viewmd/apps/cli/cmd/viewmd@latest
What's New
Core Rewrite
- Rewritten in Go — Single static binary, no Python/pip required. Fast startup, low memory.
- Homebrew distribution —
brew install driangle/tap/viewmdwith auto-updated formula on release. - Cross-platform binaries — Pre-built for macOS, Linux, and Windows (amd64 + arm64).
Features
- Full-text search — Search across file names and contents with a keyboard-driven UI (
/to open). - Syntax highlighting — Code and text files are displayed with language-aware syntax coloring.
- Inline image viewing — Images (PNG, JPG, GIF, SVG, WebP) render directly in the browser.
- Watch mode (
--watch,-w) — Auto-reloads the browser when files change on disk via SSE. - Light/dark mode toggle — Switch themes with a click; preference persists via localStorage.
- Breadcrumb navigation — File and directory views show a clickable path breadcrumb.
- Keyboard navigation — Browse directories with arrow keys, Enter, and Backspace. Auto-highlights on navigation.
- Configurable ignore patterns — Exclude files via
--ignoreflag orignore:list in.viewmd.yaml. - YAML configuration —
.viewmd.yamlsupportsshow_all_filesandignorepatterns as project defaults. - Unsupported file page — Non-previewable files get a clean page instead of a raw download.
Improvements
- Redesigned UI — Cohesive design system across all page types (directory, markdown, text, image).
- Parent folder navigation — Every file view links back to its containing directory.
- Colorized server logs — Request logging with method, status, and path in color.
- Graceful shutdown — Clean handling of SIGINT/SIGTERM.
Documentation
- New docs site — driangle.github.io/viewmd built with VitePress, deployed via GitHub Pages.
The Python version (v0.1.x) remains available on PyPI as viewmd but is no longer actively maintained.