Route C : Phase 3
C-05:執筆エンジンの実装
AI Studio連携とMarkdown整形 - 半自動ワークフローの核心
情報収集の「目」が完成しました。次はいよいよ、集めた情報を記事に変換する「脳」の部分を実装します。
ここでは、AI Studioで生成した記事の構成案(JSON)をツールに取り込み、Noteにそのまま貼り付けられる綺麗なMarkdown形式に整形する機能を構築します。
1. 実装する機能 (Note Writer)
- JSON入力エリア: AI Studioが出力したJSONデータを貼り付けるための大きなテキストボックスを設置します。
- Markdown整形機能: JSON内の「title」「body」「tags」などを解析し、Noteの見出し(##)、本文、ハッシュタグ(#タグ)形式に自動で変換します。
- プレビュー&コピー: 整形後のMarkdownをプレビュー表示し、ワンクリックでクリップボードにコピーできる機能を追加します。
2. 進化の呪文(AIへの指示)
以下のプロンプトをAI Studioに貼り付け、gui/tabs/tab_write.py を実装させましょう。
PROMPT
あなたはプロのPython開発者です。
現在作成中の「FX_Trend_Hunter」の `gui/tabs/tab_write.py` に、AI Studio連携の執筆機能を実装してください。
【要件定義】
1. **GUI実装 (`gui/tabs/tab_write.py`):**
- 画面を左右2カラムに分割する。
- **左側:** AI Studioから出力されたJSONデータを貼り付けるための大きなテキストエリアを配置。
- **右側:** 整形後のNote用Markdownを表示するテキストエリアを配置。
- 「整形実行」ボタンと「結果をコピー」ボタンを配置。
2. **バックエンド実装 (`lib/lib_note_writer.py`):**
- JSON文字列を入力として受け取り、以下のルールでMarkdown文字列に変換する `format_json_to_note` 関数を実装。
- `title`キー -> `## (タイトル)`
- `body`キー内の各セクション -> `### (セクション見出し)` と本文
- `tags`キー -> `#タグ1 #タグ2 ...`
- エラーハンドリングとして、不正なJSONが入力された場合はエラーメッセージを返す。
【重要:出力形式の制約】
- Pythonコード内の文字列リテラルやコメントであっても、**バッククォォト3つ(```)は絶対に使用しないでください。**
- AI Studioでの表示崩れを防ぐため、コードブロックの囲み記号は出力せず、ファイル名とコード本体のみを提示してください。
【出力ルール】
1. 作成・修正が必要なファイル名と、そのコード全文を提示してください。
2. ファイルマーカーの出力は禁止。ファイル名だけをコードブロックの外に表示し、ファイルは省略禁止でお願いします。
3. **最後に、ユーザーが実行すべき「実装手順」を箇条書きで必ず出力すること。**
3. 実装と動作確認
AI Studioの出力結果の中から、AI自身が生成した「実装手順」を見つけて、その指示通りに作業を進めてください。
→ 左側にサンプルJSONを貼り付けて「整形実行」ボタンを押し、右側に整形されたMarkdownが表示されれば成功です!