Markdown Viewer - File tree + Live preview + Hot reload
Project description
MDV - Markdown Viewer
ファイルツリー + ライブプレビュー + ファイルブラウザ機能付きマークダウンビューア
Features
- 📁 左側にフォルダツリー表示
- 📄 マークダウンをHTMLでレンダリング
- 🔄 ファイル更新時に自動リロード(WebSocket)
- 🎨 シンタックスハイライト(highlight.js)
- 📊 Mermaid図のレンダリング対応
- 🌙 ダーク/ライトテーマ切り替え
- ✏️ インラインエディタ(Cmd+E)
- 📥 PDF出力(Cmd+P)
- 🎬 動画/音声プレビュー
ファイルブラウザ機能
- 右クリックコンテキストメニュー
- ファイル:開く、ダウンロード、名前変更、パスコピー、削除
- フォルダ:新規フォルダ、アップロード、名前変更、パスコピー、削除
- ドラッグ&ドロップ
- ファイル/フォルダをフォルダへ移動
- 外部ファイルをドロップしてアップロード
- キーボードショートカット
- Delete/Backspace:選択アイテムを削除
- F2:名前変更
Installation
# PyPIからインストール(推奨)
pip install mdv-live
# または開発版をインストール
git clone https://github.com/panhouse/mdv.git
cd mdv
pip install -e .
Usage
# カレントディレクトリを表示
mdv
# 特定のディレクトリを表示
mdv ./project/
# 特定のファイルを開く
mdv README.md
# ポート指定
mdv -p 9000
# ブラウザを自動で開かない
mdv --no-browser
# MarkdownをPDFに変換
mdv --pdf README.md
mdv --pdf README.md -o output.pdf
# サーバー管理
mdv -l # 稼働中のサーバー一覧
mdv -k -a # 全サーバー停止
mdv -k <PID> # 特定サーバー停止
Keyboard Shortcuts
| ショートカット | 機能 |
|---|---|
| Cmd/Ctrl + B | サイドバー表示切替 |
| Cmd/Ctrl + E | 編集モード切替 |
| Cmd/Ctrl + S | 保存(編集モード時) |
| Cmd/Ctrl + P | PDF出力 |
| Cmd/Ctrl + W | タブを閉じる |
| Delete/Backspace | ファイル/フォルダ削除 |
| F2 | 名前変更 |
Architecture
mdv/
├── __init__.py # バージョン管理
├── __main__.py # エントリポイント
├── cli.py # CLIオプション・PDF変換
├── server.py # FastAPIルート定義・オーケストレーション
├── models.py # Pydanticモデル
├── file_types.py # ファイルタイプ判定(レジストリパターン)
├── state.py # アプリケーション状態管理
├── websocket_manager.py # WebSocket接続管理
├── rendering.py # Markdown/コードレンダリング
├── file_tree.py # ファイルツリー構築
├── path_security.py # パス検証・セキュリティ
├── file_response.py # APIレスポンス生成
├── media_streaming.py # メディアストリーミング(Range対応)
├── watcher.py # ファイル監視(ポーリング)
└── static/
├── index.html # HTMLテンプレート
├── styles.css # CSSスタイル
└── app.js # JavaScriptアプリ
Requirements
- Python 3.9+
- FastAPI
- uvicorn
- markdown-it-py
- python-multipart
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mdv_live-0.2.8.tar.gz
(45.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
mdv_live-0.2.8-py3-none-any.whl
(49.9 kB
view details)
File details
Details for the file mdv_live-0.2.8.tar.gz.
File metadata
- Download URL: mdv_live-0.2.8.tar.gz
- Upload date:
- Size: 45.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cc4d18160674903ee6d5f3a1f9b4500ddd1d87a61e4c5c64db265a4ca4ed052
|
|
| MD5 |
d776406204752a0af53953ae51bb6ddf
|
|
| BLAKE2b-256 |
48e3bf11d68b5f9fa116e041ed785001b6e650c295166b6f02c72f54c111c162
|
File details
Details for the file mdv_live-0.2.8-py3-none-any.whl.
File metadata
- Download URL: mdv_live-0.2.8-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d43b708309896ee6b9fed1e321e77d7dc3422832b05616739581dcecf87e4c23
|
|
| MD5 |
5303795ad47e4b4b4e47702bb590cd34
|
|
| BLAKE2b-256 |
1f634843be37698eaac66dd54f43c1db6c8f9dedaa1796e77d65ebfc4d4f00ea
|