Skip to content

Releases: driangle/viewmd

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 12 Apr 20:18

Features

  • Wiki-style link support: Markdown files containing [[wiki-style]] links are now automatically converted to standard markdown links during rendering. Supports [[page]], [[page|Display Text]], and [[sub/path]] forms, with links resolved relative to the current directory.

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 24 Mar 21:20

Features

  • Directory ZIP export with rendered HTML — Export entire directories as ZIP files. Markdown files are rendered to HTML, and the archive includes a navigable directory listing. Accessible via an export button in directory views.
  • Port conflict diagnostics — When the server fails to bind a port, viewmd now identifies and displays the process already using that port, making troubleshooting easier.

Improvements

  • Release workflow improvements — Updated CI release pipeline configuration.

v0.2.1

Choose a tag to compare

@driangle driangle released this 16 Mar 05:34

Features

  • Styled 404 page — Added a polished, styled "not found" page that matches the application's look and feel, replacing the plain-text error

Bug Fixes

  • Fixed empty directory handling — Resolved a bug where viewing an empty directory could cause an error instead of displaying an empty listing

CI/CD

  • Fixed Homebrew formula update — Fixed word-splitting and formula update logic in the release workflow

v0.2.0

Choose a tag to compare

@driangle driangle released this 08 Mar 17:40

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.

v0.1.5

Choose a tag to compare

@driangle driangle released this 08 Feb 13:01

What's Changed

  • Fixed pylint CI workflow: Added pylint configuration to pyproject.toml to disable test-specific checks (missing docstrings, fixture warnings) so CI passes cleanly.
  • CI now runs on main pushes: Updated CI workflow to run on every push to main in addition to pull requests, catching issues earlier.

This release fixes the build pipeline that was broken in v0.1.4.

v0.1.4

Choose a tag to compare

@driangle driangle released this 08 Feb 12:57

What's Changed

  • Refactored to package structure: Converted single-file viewmd.py into a viewmd/ package with HTML templates extracted to viewmd/render.py, staying under the 200-line-per-file limit.
  • Added 25 new tests: Covering text file serving, directory listing, request routing, and is_text_file detection (43 total tests).
  • Fixed all pylint errors: Pylint now scores 10/10 — fixed unused imports, missing docstrings, f-string issues, variable shadowing, and more.
  • Added CI workflow: New GitHub Actions workflow runs lint and tests on pull requests.
  • Updated publish workflow: Lint and tests now gate PyPI publishing.