# MdWidget

**コンポーネント機能**：Markdownコンテンツをレンダリングするためのコンポーネント。文字列またはリモートURLからMarkdownテキストを読み込み、「marked.js」を使用してHTMLに変換します。リンククリックにより新しいMarkdownコンテンツを読み込むことも可能です。

**タイプ**：通常コンポーネント  
**親クラス**：`bricks.JsWidget`

## 初期化パラメータ

| パラメータ名 | 型     | 説明 |
|------------|--------|------|
| `mdtext`   | string | （任意）直接渡されるMarkdownテキスト内容。`md_url`より優先されます。 |
| `md_url`   | string | （任意）リモートにあるMarkdownファイルのURLアドレス。非同期でコンテンツを読み込むために使用します。 |
| `method`   | string | リクエスト方法。デフォルトは`"GET"`。ネットワーク経由でのコンテンツ取得に適用されます。 |
| `params`   | object | リクエストパラメータオブジェクト。GETリクエストの場合はURLに追加されます。現時点では`tget`でのみ使用されています。 |

> ⚠️ 注意：`mdtext`が指定された場合、`md_url`は無視され、ローカルで直接レンダリングされます。

## 主なイベント

- `loaded`  
  発火タイミング：Markdownコンテンツの読み込みおよび解析が正常に完了した後。  
  渡されるパラメータ：`{ url: string }` — 現在読み込まれたURL（`_build(url)`で読み込んだ場合のみ有効）。  
  使用例：
  ```js
  mdwidget.bind('loaded', function(event) {
      console.log('Loaded markdown from:', event.params.url);
  });
  ```

---

# MarkdownViewer

**コンポーネント機能**：強化型のMarkdownビューアーコンテナ。ナビゲーション戻る機能を内蔵しており、閲覧履歴スタックを記録可能。リンクによるページ遷移と前のページに戻ることがサポートされています。ドキュメント表示などに一般的に使用されます。

**タイプ**：コンテナコンポーネント  
**親クラス**：`bricks.VBox`

## 初期化パラメータ

| パラメータ名      | 型      | 説明 |
|-----------------|---------|------|
| `md_url`        | string  | （任意）初期読み込みするMarkdownファイルのURL。 |
| `mdtext`        | string  | （任意）直接渡されるMarkdown文字列コンテンツ。 |
| `method`        | string  | HTTPリクエストメソッド。デフォルトは`"GET"`。 |
| `params`        | object  | リクエストパラメータオブジェクト。`tget`メソッドに渡されます。 |
| `navigator`     | boolean | 「戻る」ボタンを表示するかどうか。デフォルトは`true`。有効にすると閲覧履歴からの戻り操作が可能になります。 |
| `recommentable` | boolean | （未実装）予約済みフィールド。将来のコメントやおすすめ機能に使用される可能性があります。 |

> 📌 ヒント：内部では`MdWidget`を使用して実際のレンダリングを行い、それを子コンポーネントとして追加しています。

## 主なイベント

- `loaded`  
  内部の`MdWidget`から転送される`loaded`イベント。新しいページの読み込みが完了したことを示します。  
  渡されるパラメータ：`{ url: string }` — 現在読み込まれたMarkdownページのURL。

- `scroll`  
  コンテナのスクロールイベントにバインドされます。ページのスクロール動作を監視するために使用できます（現在はデバッグログの出力のみ）。  
  発火条件：ユーザーがビューをスクロールしたとき。  
  出力ログ例：
  ```
  scrollY= 200
  ```

> 💡 注：`bind('scroll', ...)` を使用してこのイベントを監視し、カスタム処理を行うことができます。