問題
mado で開いた Markdown ファイル内の相対リンクをクリックしても何も起きない。
例: README.md 内の [seed.md](docs/seed.md) をクリックしても、docs/seed.md が開かない。
原因
src/mainview/rewrite-image-urls.ts は <img> の src のみ書き換えており、<a> の href は書き換えていない。WebView は views:// プロトコルで読み込まれているため、相対リンクは views://docs/seed.md に navigate しようとして 404 になる。
src/mainview/index.ts にも anchor 用の click handler は存在しない。
期待挙動
| リンク種別 |
挙動 |
.md ファイルへの相対リンク |
mado 内部で別ファイルとして開く(bun process に IPC で送る、もしくは新しい mado window を開く) |
| その他のローカルファイル相対リンク |
macOS の open コマンドで関連付けアプリを起動 |
外部 URL (https://) |
macOS の open コマンドで既定ブラウザで開く |
#fragment |
現在ページ内 anchor jump(既存の WebView default 動作で OK) |
対象ファイル
src/mainview/rewrite-image-urls.ts を rewrite-urls.ts 等にリネームし <a> も処理対象にする、または別ファイル(rewrite-link-urls.ts)として分離
src/mainview/index.ts に anchor click handler を追加。event.preventDefault() してから IPC / open に振り分け
src/lib/ipc.ts に「ファイルを開く」メッセージ型を追加(必要なら)
src/bun/index.ts で IPC ハンドラを実装
問題
mado で開いた Markdown ファイル内の相対リンクをクリックしても何も起きない。
例:
README.md内の[seed.md](docs/seed.md)をクリックしても、docs/seed.mdが開かない。原因
src/mainview/rewrite-image-urls.tsは<img>のsrcのみ書き換えており、<a>のhrefは書き換えていない。WebView はviews://プロトコルで読み込まれているため、相対リンクはviews://docs/seed.mdに navigate しようとして 404 になる。src/mainview/index.tsにも anchor 用の click handler は存在しない。期待挙動
.mdファイルへの相対リンクopenコマンドで関連付けアプリを起動https://)openコマンドで既定ブラウザで開く#fragment対象ファイル
src/mainview/rewrite-image-urls.tsをrewrite-urls.ts等にリネームし<a>も処理対象にする、または別ファイル(rewrite-link-urls.ts)として分離src/mainview/index.tsに anchor click handler を追加。event.preventDefault()してから IPC / open に振り分けsrc/lib/ipc.tsに「ファイルを開く」メッセージ型を追加(必要なら)src/bun/index.tsで IPC ハンドラを実装