Repository navigation
Releases: driangle/viewmd
Releases · driangle/viewmd
Release list
v0.2.3
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
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
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
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.
v0.1.5
What's Changed
- Fixed pylint CI workflow: Added pylint configuration to
pyproject.tomlto 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
mainin addition to pull requests, catching issues earlier.
This release fixes the build pipeline that was broken in v0.1.4.
v0.1.4
What's Changed
- Refactored to package structure: Converted single-file
viewmd.pyinto aviewmd/package with HTML templates extracted toviewmd/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_filedetection (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.