feat: extended preview for PDF, audio, video via external utilities
Add rich preview support for three new file categories by leveraging external CLI tools with graceful fallback when tools are missing. - PDF: text extraction via pdftotext, page count via pdfinfo - Audio: metadata via ffprobe (duration, bitrate, codec, sample rate, channels) - Video: metadata via ffprobe (duration, bitrate, video/audio codec, resolution) - New PreviewKind constants: PDF, Audio, Video - New Metadata fields for extended preview data - New extension maps and Category() entries for pdf/audio/video - Icons: PDF (), audio (), video () in preview header Closes #5
This commit is contained in:
parent
813c40a41e
commit
a483267bd9
5 changed files with 833 additions and 8 deletions
17
README.md
17
README.md
|
|
@ -36,23 +36,24 @@ go build -o vcom ./cmd/vcom
|
|||
Run directly from the flake:
|
||||
|
||||
```bash
|
||||
nix run github:vrubelroman/vcom?ref=v0.1.9
|
||||
nix run github:vrubelroman/vcom?ref=v0.2.0
|
||||
```
|
||||
|
||||
Install into user profile:
|
||||
|
||||
```bash
|
||||
nix profile add github:vrubelroman/vcom?ref=v0.1.9
|
||||
nix profile add github:vrubelroman/vcom?ref=v0.2.0
|
||||
```
|
||||
|
||||
The Nix package wraps `vcom` with `ueberzugpp` in `PATH`, so image preview works in non-`kitty` terminals out of the box.
|
||||
|
||||
### Debian / Ubuntu
|
||||
|
||||
Download the release `.deb` for `v0.1.9`, then install:
|
||||
Download and install the latest release:
|
||||
|
||||
```bash
|
||||
sudo apt install ./vcom_0.1.9_amd64.deb
|
||||
curl -sL https://github.com/vrubelroman/vcom/releases/download/v0.2.0/vcom_0.2.0_amd64.deb -o /tmp/vcom_0.2.0_amd64.deb
|
||||
sudo apt install /tmp/vcom_0.2.0_amd64.deb
|
||||
```
|
||||
|
||||
The Debian package declares `ueberzug` (or `ueberzugpp` where available) as a dependency for image preview outside `kitty`.
|
||||
|
|
@ -180,7 +181,7 @@ Built-in themes (use `T` to cycle or set `ui.theme` in config):
|
|||
|
||||
## Releases
|
||||
|
||||
Pushing a tag like `v0.1.9` triggers GitHub Actions release workflow (`.github/workflows/release.yml`) which:
|
||||
Pushing a tag like `v0.2.0` triggers GitHub Actions release workflow (`.github/workflows/release.yml`) which:
|
||||
|
||||
- runs tests
|
||||
- vendors Go modules
|
||||
|
|
@ -190,9 +191,9 @@ Pushing a tag like `v0.1.9` triggers GitHub Actions release workflow (`.github/w
|
|||
|
||||
Release artifacts:
|
||||
|
||||
- `vcom-v0.1.9-x86_64-unknown-linux-gnu.tar.gz`
|
||||
- `vcom_0.1.9_amd64.deb`
|
||||
- `vcom-v0.1.9-checksums.txt`
|
||||
- `vcom-v0.2.0-x86_64-unknown-linux-gnu.tar.gz`
|
||||
- `vcom_0.2.0_amd64.deb`
|
||||
- `vcom-v0.2.0-checksums.txt`
|
||||
|
||||
## Notes
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue