zudo-doc
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

Image Enlarge

作成 2026年5月28日更新 2026年6月7日Takeshi Takatsudo

ブロックレベルの画像を、クリックで全画面表示に拡大する figure でラップします。

Image Enlarge 機能は、単独のブロックレベル画像を、非表示の拡大ボタンを備えた <figure> でラップします。画像が描画されるカラムより大きい場合、ボタンが表示され、画像をクリックすると全画面のライトボックスで開きます。

Note

src/config/settings.tsimageEnlarge キーで有効化します。

// src/config/settings.ts export const settings = { imageEnlarge: true, };

Note

他のオプトイン Markdown 機能とは異なり、Image Enlarge は zfb.config.tsmarkdown.features 配下では設定しません。zfb は組み込みの markdown.features.imageEnlarge 機能を 0.1.0-next.18 で完全に削除しており、今これを設定すると Rust の設定ローダーが失敗する未知のキーになります。zudo-doc はこの挙動を、pages/_mdx-components.ts にある MDX の段落(p)コンポーネントのオーバーライドとしてユーザーランドで再実装しており、条件を満たすブロック画像に対して <figure class="zd-enlargeable"> マークアップを出力します。このオーバーライドは settings.imageEnlarge を参照するため、この画像機能だけが Markdown パイプライン設定ではなく src/config/settings.ts で切り替える唯一の機能になっています。

構文

特別な構文は不要です。通常の Markdown 画像を単独の行に書くだけです(その画像 1 枚だけを含む段落にします)。

![A wide placeholder image](/img/image-enlarge/image-wide.webp)

ライブデモ

以下の画像はコンテンツカラムより横幅が広いため、拡大ボタンが表示され、画像がクリック可能になります。クリックすると全画面表示が開きます。

A wide placeholder image

オプトアウト

特定の画像のラップをスキップするには、Markdown のタイトル属性に "no-enlarge" を指定します。このセンチネル属性は描画前に取り除かれるため、最終的な DOM には現れません。

![alt text](./image.png "no-enlarge")

出力されるマークアップ

条件を満たした画像は次のようにラップされます。

<figure class="zd-enlargeable">
  <img src="photo.png" alt="..." />
  <button type="button" class="zd-enlarge-btn" aria-label="Enlarge image" hidden>
    <!-- expand SVG icon -->
  </button>
</figure>

メモ

  • ラップされるのは単一の画像を含む段落のみです。リンクや <picture> 要素の中にある画像、テキストと同じ段落にある画像はスキップされます。

  • クライアントアイランドが描画後のサイズを画像の固有幅(デバイスピクセル比を考慮)と比較し、画像が本当にカラムより大きいときだけボタンを表示します。

Revision History

Takeshi Takatsudo作成: 2026-05-29T01:46:14+09:00更新: 2026-06-07T17:11:47+09:00

AI Assistant

Ask a question about the documentation.