概要
本サイトで使用可能な MDX のサンプルです。逐次追加していきます。
以下に、MDX 記法を示します。
見出し
見出し 2
見出し 3
見出し 4
見出し 5
見出し 6
見出し1 は使用しません。
SEO ・ ユーザビリティの観点から、見出しは h2 から始めてください。 また、見出し5 以上は出来るだけ使用しないでください。
スタイリング
太字
イタリック
太字イタリック
取り消し線
インラインコード
リスト
箇条書き
-
アイテム 1
- アイテム 1-1
- アイテム 1-2
-
アイテム 2
アイテム内のテキスト
リンク
内部リンク
外部リンク
リンクカード
リンクカードは、リンク先の情報を表示するためのコンポーネントです。簡潔な URL を記述することで、自動的にリンクカードが生成されます。
画像

テーブル
| Header 1 | Header 2 | Header 3 |
|---|---|---|
| 1-1 | 1-2 | 1-3 |
| 2-1 | 2-2 | 2-3 |
コードブロック
基本
バッククォート3つで囲むことでコードブロックを記述できます。
対応言語を指定することで、Shiki によるシンタックスハイライトが適用されます。
言語を指定しない場合、プレーンテキストとして表示されます。
タイトル
行番号
行ハイライト
単語のハイライト
差分表示
複数指定
複数の属性を同時に指定できます
数式
数式を記述することが出来ます。
追加予定
インライン
数式ブロック
引用
引用文 1
脚注
脚注1
区切り線
コメントアウト
フロントマターについて
フロントマターとは、MDXファイルの先頭に記述されるYAML形式のメタデータです。
記事のタイトルや投稿日時などの情報を指定します。
例
ファイル先頭部の --- で囲まれた例のような形式で記述します。
利用可能なプロパティ
以下がこのサイトで利用可能なプロパティです。
| プロパティ | 必須 | 値 | 説明 |
|---|---|---|---|
published | true | true or false | 記事を公開するかしないかを指定する。 公開しない場合は、執筆モード |
icon | Unicode Emoji 例: 🎉 -> 🎉 | 記事のアイコンを指定 | |
title | true | string | 記事のタイトル名を指定 |
date | true | YYYY-MM-DDTHH:mm:ss+09:00 | 記事の公開日時を指定 |
lastupdated | YYYY-MM-DDTHH:mm:ss+09:00 | 記事の更新日時を指定 | |
categories | true | カテゴリのリスト | 記事のカテゴリを指定 使用可能なカテゴリを確認 |
tags | true | タグのリスト | 記事のタグを指定 |
カテゴリ
使用可能なカテゴリ
news: お知らせevents: イベントactivities: 活動
コールアウト
コールアウトは、特定の文章を目立たせるためのスタイルです。
追加予定
埋め込み
埋め込みは、外部のコンテンツを記事内に表示するための機能です。 oEmbed に対応したサイトの URL を簡潔に記述することで、自動的に埋め込みが生成されます。
現時点で、YouTube の埋め込み以外は、ユーザーの入力によって読み込みが開始されます。これは、外部リソースの読み込みによる初期表示の遅延を防ぐためです。
YouTube
YouTube の動画・再生リストを埋め込むことが出来ます。
https://www.youtube.com/watch?v=**
https://www.youtube.com/playlist?list=**
Canva
Canva のデザイン・スライドを埋め込むことが出来ます。
https://www.canva.com/design/**
CodePen
CodePen のペンを埋め込むことが出来ます。
https://codepen.io/pen/
A Simple CodePen Example (feat. HTML, CSS, & JavaScript)
https://codepen.ioSpotify
Spotify のプレイリストを埋め込むことが出来ます。
https://open.spotify.com/playlist/
Top 50 - Japan
https://spotify.comMDX / JSX
MDX とは、Markdown の中に React Component や JSX を埋め込むことが出来る記法です。
本サイトでは、以下のようなカスタムコンポーネントを事前に提供しています。
タブレイアウト
複数のコンテンツをタブ切り替えによって提供するコンポーネントです。
※ UX を低下させる可能性があります。
Counter

二段レイアウト
二段構えのレイアウトを提供するコンポーネントです。
カスタムコンポーネントの追加
独自のコンポーネントを追加することが出来ます。
現状、事前に動的に記事を JSON に変換する都合上、 MDX ファイル内での import でコンポーネントを読み込むことができません。
実装手順
-
contents/components内にコンポーネントファイルを作成 -
contents/components/index.tsxに コンポーネントを追加 -
posts・pages全域で使用可能になります。
Footnotes
-
脚注の文章 ↩



