Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdv_live-0.2.8-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

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

Hashes for mdv_live-0.2.8.tar.gz
Algorithm Hash digest
SHA256 6cc4d18160674903ee6d5f3a1f9b4500ddd1d87a61e4c5c64db265a4ca4ed052
MD5 d776406204752a0af53953ae51bb6ddf
BLAKE2b-256 48e3bf11d68b5f9fa116e041ed785001b6e650c295166b6f02c72f54c111c162

See more details on using hashes here.

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

Hashes for mdv_live-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d43b708309896ee6b9fed1e321e77d7dc3422832b05616739581dcecf87e4c23
MD5 5303795ad47e4b4b4e47702bb590cd34
BLAKE2b-256 1f634843be37698eaac66dd54f43c1db6c8f9dedaa1796e77d65ebfc4d4f00ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page