mdview プログラム仕様
Markdown Viewerアプリケーション
概要: このモジュールは、MarkdownファイルをHTML形式で表示するためのシンプルなTkinterアプリケーションを提供します。 画像の動的なリサイズ、フォントサイズの調整、INIファイルによる設定の永続化などの機能を備えています。
詳細説明: コマンドライン引数でファイルパスを指定して直接ファイルを開くことも、 アプリケーション起動後にメニューからファイルを開くことも可能です。 画像は指定された幅に自動的にリサイズされ、一時ディレクトリに保存されます。 終了時には一時ディレクトリがクリーンアップされ、現在のウィンドウの状態や設定がINIファイルに保存されます。
関連リンク: mdview.py 技術ドキュメント
- class Viewer.mdview.MarkdownViewerApp(master, md_filename=None, image_width=None, font_size=None)[ソース]
ベースクラス:
objectMarkdownファイルをHTML形式で表示するTkinterアプリケーション
INIファイルからの設定読み込み、画像の動的なリサイズ、フォントサイズ調整などの機能を提供します。 アプリケーションのウィンドウ作成、メニューバーの構築、ファイルの読み込みと表示を行います。
メニューバーを作成し、アプリケーションに設定する
「ファイル」メニュー(開く、更新、終了)と「設定」メニュー(画像幅設定、フォントサイズ設定)を追加します。
- 戻り値:
(None)
- load_markdown_file(file_path)[ソース]
指定されたMarkdownファイルを読み込み、HTMLに変換して表示する
ファイルを読み込み、`process_images`で画像を処理した後、 MarkdownをHTMLに変換します。見出しタグには動的にフォントサイズを適用し、 HTML全体を基準フォントサイズで表示します。
- パラメータ:
file_path -- (str) 読み込むMarkdownファイルのパス。
- 戻り値:
(None)
- load_settings()[ソース]
INIファイルからアプリケーション設定を読み込む
`mdview.ini`ファイルからウィンドウのジオメトリ、最終開いたディレクトリ、 画像の表示幅、基準フォントサイズを読み込み、インスタンス変数に設定します。 設定が見つからない場合はデフォルト値を使用します。
- 戻り値:
(None)
- on_closing()[ソース]
アプリケーション終了時の処理を実行する
現在のウィンドウのジオメトリ、最後に開いたディレクトリ、画像幅、フォントサイズをINIファイルに保存します。 また、一時画像を保存したディレクトリを削除してからアプリケーションを終了します。
- 戻り値:
(None)
- open_file()[ソース]
ファイル選択ダイアログを開き、Markdownファイルを選択して表示する
ユーザーにファイルダイアログを通してMarkdownファイルを選択させ、 選択されたファイルを`load_markdown_file`メソッドで読み込み、表示を更新します。
- 戻り値:
(None)
- open_font_size_dialog()[ソース]
基準フォントサイズを設定するためのダイアログを開く
ユーザーから新しい基準フォントサイズを整数値で入力させます。 入力が有効な場合は`font_size`を更新し、Markdownファイルが 開かれている場合は再読み込みして変更を適用します。 ファイルが開かれていない場合は初期表示テキストのフォントサイズを変更します。
- 戻り値:
(None)
- open_image_width_dialog()[ソース]
画像表示幅を設定するためのダイアログを開く
ユーザーから新しい画像表示幅を整数値で入力させます。 入力が有効な場合は`image_width`を更新し、Markdownファイルが 開かれている場合は再読み込みして変更を適用します。
- 戻り値:
(None)
- process_images(markdown_text, base_dir)[ソース]
Markdownテキスト内の画像を処理し、必要に応じてリサイズして一時ファイルに保存する
Markdownの画像構文()を解析し、指定された`image_width`を超える画像を 一時ディレクトリにリサイズして保存します。Markdown内の画像パスを一時ファイルのパスに書き換え、 元の画像のアスペクト比を維持します。
- パラメータ:
markdown_text -- (str) 処理対象のMarkdownテキスト。
base_dir -- (str) Markdownファイルが存在するディレクトリのパス。相対パス解決の基準となる。
- 戻り値:
(str) 処理されたMarkdownテキスト。
- Viewer.mdview.parse_arguments()[ソース]
コマンドライン引数を解析する
`argparse`モジュールを使用して、Markdownファイルパス、画像幅、 基準フォントサイズなどのコマンドライン引数を解析します。
- 戻り値:
(argparse.Namespace) 解析された引数を含むオブジェクト。