# MD Reader Markdown 文件閱讀器,支援 Mermaid 圖表、PDF 匯出,原生視窗預覽。 ## 安裝 ```bash cargo build --release ``` ## 功能 ### 1. Markdown 轉 HTML ```bash ./target/release/md_reader render docs/example.md # 輸出到 ~/docs/html/example.html ``` ### 2. 原生視窗預覽 ```bash ./target/release/md_reader preview docs/example.md ``` ### 3. 批次轉換 ```bash ./target/release/md_reader batch ./docs ``` ### 4. PDF 匯出 ```bash ./target/release/md_reader export docs/example.md -o output.pdf # 或使用 render -p ./target/release/md_reader render docs/example.md -p ``` ### 5. HTTP 伺服器 ```bash ./target/release/md_reader server --port 8080 --path ./docs ``` ## 視窗功能 ### 工具列按鈕 | 按鈕 | 功能 | |------|------| | Print / Save as PDF | 列印或儲存為 PDF | | Download All SVGs | 下載所有 Mermaid 圖表為 SVG | | Pan | 滑鼠拖曳平移內容 | | − / + | 縮小 / 放大 | | Reset | 重置縮放為 100% | ### 終端機命令 按 `/` 開啟終端輸入框。 | 命令 | 功能 | |------|------| | `/help` | 顯示幫助訊息 | | `/clear` | 清除終端輸出 | | `/print` | 開啟列印對話框 | | `/svg` | 下載所有 SVG 圖表 | | `/reload` | 重新載入頁面 | | `/zoom [N]` | 設定縮放 (50-200%) | | `/zoom in` 或 `/zoom +` | 放大 10% | | `/zoom out` 或 `/zoom -` | 縮小 10% | | `/zoom reset` 或 `/zoom 0` | 重置為 100% | ### Shell 命令 直接輸入 shell 命令(不帶 `/`)執行: ```bash ls # 列出檔案 pwd # 顯示目前目錄 cd # 切換目錄 cat # 顯示檔案內容 ``` ### Pan 模式 1. 點擊工具列的 `Pan` 按鈕 2. 按住滑鼠左鍵拖曳移動內容 3. 再次點擊 `Pan` 按鈕關閉 ### 快捷鍵 | 按鍵 | 功能 | |------|------| | `/` | 開啟終端輸入框 | | `Esc` | 關閉終端輸入框 | ## Mermaid 圖表支援 在 Markdown 中使用 ```mermaid 程式碼塊: ````markdown ```mermaid graph TD A[Start] --> B[End] ``` ```` 支援的圖表類型: - Flowchart (流程圖) - Sequence Diagram (序列圖) - Class Diagram (類別圖) - State Diagram (狀態圖) - Entity Relationship Diagram (ER 圖) - Gantt Chart (甘特圖) - Pie Chart (圓餅圖) ## 專案結構 ``` md_reader/ ├── Cargo.toml ├── src/ │ └── main.rs # 主要程式碼 └── docs/ └── mermaid.md # Mermaid 範例文件 ``` ## 依賴 - Rust 2021 edition - tao (視窗管理) - wry (WebView) - pulldown-cmark (Markdown 解析) - clap (命令列參數)