← ClaudeAtlas

file-browserlisted

Local HTTP server that renders markdown, code, text, JSON, CSV/TSV/XLSX tables, HTML, PDF, images, video, and audio in the browser. Persistent left tree sidebar with vim keybindings (j/k/h/l/gg/G/Enter/o), filter (/), theme toggle (T), and folder open/collapse persistence per tab. Markdown dispatches to a novel-theme reader (Mermaid, plan nav, ToC scroll-spy); code/text dispatches to a highlight.js view with line numbers + copy button; CSV/TSV/XLSX dispatches to a tabular view; HTML renders in a sandboxed iframe; PDF dispatches to a custom minimal viewer built on the pdfjs-dist PDFViewer component (toolbar: prev/next, page input, zoom, search, download); images/video/audio get a gallery + single-view with Range-aware streaming. One server, one port, one CLI.
vanducng/skills · ★ 0 · Data & Documents · score 76
Install: claude install-skill vanducng/skills
# file-browser One local HTTP server, one port, one CLI — handles markdown, images, video, and audio. Dispatches by file extension at the `/view` route: markdown goes to the novel-theme reader; image/video/audio go to the media viewer. ## Installation ```bash cd $HOME/skills/skills/file-browser && npm install ``` **Dependencies:** `marked`, `highlight.js`, `gray-matter` (markdown), `pdfjs-dist` (PDF viewer), `read-excel-file` (XLSX tables). Media rendering is zero-dep — browser does the work. `npm install` runs a `postinstall` hook that copies pdfjs-dist runtime deps (worker, cmaps, fonts, wasm helpers) from `node_modules/pdfjs-dist/` into `assets/pdfjs-viewer/`. If you ran `npm install --ignore-scripts`, populate the assets manually: ```bash node $HOME/skills/skills/file-browser/scripts/install-pdfjs-assets.cjs ``` ## Quick Start ```bash # Single file (auto-detects markdown vs media) node $HOME/skills/skills/file-browser/scripts/server.cjs --file ./plan.md --open node $HOME/skills/skills/file-browser/scripts/server.cjs --file ./photo.png --open node $HOME/skills/skills/file-browser/scripts/server.cjs --file ./demo.mp4 --open # Folder (gallery + Documents section) node $HOME/skills/skills/file-browser/scripts/server.cjs --dir ~/plans --open # Background mode (returns JSON envelope on stdout) node $HOME/skills/skills/file-browser/scripts/server.cjs --file ./README.md --background # Stop all running file-browser servers node $HOME/skills/skills/file-browser/scripts/s