--- title: コードサンプル slug: MDN/Structures/Code_examples tags: - Code - Examples - Landing - Live - MDN Meta - Static - Structures - インタラクティブ - 例 translation_of: MDN/Structures/Code_examples ---
{{MDNSidebar}}

MDN では、ウェブプラットフォームの機能の使い方を示すために、ページ中に数多くのコードサンプルが挿入されています。この記事では、ページにコードサンプルを追加するためのさまざまな仕組みと、どのような場合にどのような仕組みを使うべきかについて説明します。

利用できるコードサンプルの種類

MDN には 4 種類のコードサンプルがあります。

それぞれの機能については後のセクションで説明します。

使うべき場面

コードサンプルの種類ごとに、それぞれの用途があります。どのような場合に使用するのでしょうか。

どちらを使うべきか迷った場合は、まず従来型か GitHub のライブサンプルか、使いやすい方を検討してください。助けを求めることpも歓迎します。

一般的なガイドライン

MDN でサンプルを追加・更新する際には、上記のようなライブサンプルを表示するための具体的なシステムの他に、スタイルやコンテンツについても考慮する必要があります。

静的サンプル

静的サンプルでは、ある機能がコードでどのように使われるかを示す静的なコードブロックです。コードの構文強調で説明したように、 <pre> 要素を使ってページに配置します。結果の例は次のようになります。

// これは JS の例です
var test = "Hello";
console.log(test);

任意で、次のように出力結果を静的な画像で示すことができます。

従来型ライブサンプル

従来型ライブサンプルは、 EmbedLiveSample マクロを使ってページに挿入します。\{{EmbedLiveSample}} を呼び出すと、自分と同じ文書の節にあるコードブロックを動的に取得して文書に入れ、それを {{htmlelement("iframe")}} の中のページに挿入します。詳しくはライブサンプルガイドをご覧ください。

GitHub ライブサンプル

GitHub ライブサンプルは、 EmbedGHLiveSample マクロを使ってページに挿入します。\{{EmbedGHLiveSample}} を呼び出すと、指定した URL (GitHub の mdn 組織内のものでなければなりません) の文書を動的に取得し、ページ内の {{htmlelement("iframe")}} 内に挿入します。

これらは従来のライブサンプルとよく似た動作をしますが、よりシンプルなものです。

ページ上のコードブロックの配置を気にする必要はありません。 GitHub リポジトリーの HTML 文書を取得して、<iframe> の中に挿入します。

マクロの引数は 3 つだけです。

  1. 埋め込む文書の URL — これは、 https://mdn.github.io/ にある最上位のディレクトリである mdn 組織からの相対 URL です。ですから、この引数には、my-subdirectory/example.html のように、URL の後の部分を含める必要があります。 index.html の場合は、ファイル名を省略できます。
  2. <iframe> の幅、パーセント値またはピクセル単位で表すことができます。
  3. <iframe> の高さ、パーセント値またはピクセル単位で表すことができます。

例を見てみましょう。 https://mdn.github.io/learning-area/css/styling-boxes/backgrounds/ のコードを埋め込みたいとします。次のように呼び出すことができます。

\{{EmbedGHLiveSample("learning-area/css/styling-boxes/backgrounds/", '100%', 100)}}

表示されるときには次のようになります。

{{EmbedGHLiveSample("learning-area/css/styling-boxes/backgrounds/", '100%', 100)}}

GitHub ライブサンプルを使用するためのヒント

インタラクティブサンプル

MDN で利用できる最新のライブサンプルは、インタラクティブなライブサンプルです。これは、読者がコードを編集すると、ライブサンプルがその場で更新されるため、ライブサンプルからステップアップすることできます。これは、学習や実験に最適です。

インタラクティブなサンプルは、 MDN のリファレンスページの上部で使用されることを想定しています。初心者や、調べていることの詳細を見る前に、すぐに例題を手に取って遊びたいという読者にとっての価値を高めるために、これらを提供することを目指しています。インタラクティブサンプルについては、いくつかの重要な制限事項があります。

サンプルを投稿したい場合は、 interactive examples repo Contribution guide でその方法を知ることができます。

関連するインタラクティブサンプルがないページを見つけた場合は、ぜひ投稿してください。

インタラクティブサンプルのデモ

EmbedInteractiveExample マクロを使用して、完成したサンプルを MDN ページに埋め込みます。たとえば、 \{{EmbedInteractiveExample("pages/js/array-push.html")}} というマクロ呼び出しで、次のコードサンプルが表示されます。

{{EmbedInteractiveExample("pages/js/array-push.html")}}
コードを調整して様子を見たり、操作をしたりしてみてください。