Skip to content

v0.2.0

Choose a tag to compare

@driangle driangle released this 08 Mar 17:40
· 14 commits to main since this release

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/viewmd

Or 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/viewmd with 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 --ignore flag or ignore: list in .viewmd.yaml.
  • YAML configuration — .viewmd.yaml supports show_all_files and ignore patterns 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


The Python version (v0.1.x) remains available on PyPI as viewmd but is no longer actively maintained.