Foundation
PackagesUIComponents

MarkdownViewer

Markdownテキストをスタイル付きHTMLとして表示する読み取り専用コンポーネント。

いつ使うか

  • ユーザーが入力したMarkdownテキスト(読書ノート、備考欄、説明文など)を表示する
  • APIから取得したMarkdownコンテンツを整形して表示する

いつ使わないか

  • MDXファイルのレンダリングには使わない。Fumadocs等のMDXランタイムを使用する
  • リッチテキストエディタの出力には使わない。エディタ固有のレンダラーを使用する

Usage

import { MarkdownViewer } from '@bi-shop-it/ui/markdown-viewer';

<MarkdownViewer content="## 見出し\n\nテキスト" />;

Props

Propデフォルト説明
contentstring表示するMarkdownテキスト
size'sm' | 'md''md'テキストの大きさ。sm はテーブルセル等の狭い領域向け

バリエーション

デフォルト

以下の content を渡した場合の表示結果。

見出し1

見出し2

見出し3

これは段落のテキスト。太字斜体インラインコードを含む。

引用テキスト。書籍やドキュメントからの抜粋に使用する。

  • 順序なしリストの項目1
  • 順序なしリストの項目2
  • 順序なしリストの項目3
  1. 順序ありリストの項目1
  2. 順序ありリストの項目2
  3. 順序ありリストの項目3

リンクテキストを文中に埋め込める。

項目説明数量
りんご赤い果物3
バナナ黄色い果物5
ぶどう紫の果物12

水平線の下のテキスト。

const content = `# 見出し1

## 見出し2

### 見出し3

これは段落のテキスト。**太字**や*斜体*、\`インラインコード\`を含む。

> 引用テキスト。書籍やドキュメントからの抜粋に使用する。

- 順序なしリストの項目1
- 順序なしリストの項目2
- 順序なしリストの項目3

1. 順序ありリストの項目1
2. 順序ありリストの項目2
3. 順序ありリストの項目3

[リンクテキスト](https://example.com)を文中に埋め込める。

---

水平線の下のテキスト。`;

<MarkdownViewer content={content} />;

Small

size="sm" で文字サイズと行間が小さくなる。同じ content を渡した場合の表示結果。

見出し1

見出し2

見出し3

これは段落のテキスト。太字斜体インラインコードを含む。

引用テキスト。書籍やドキュメントからの抜粋に使用する。

  • 順序なしリストの項目1
  • 順序なしリストの項目2
  • 順序なしリストの項目3
  1. 順序ありリストの項目1
  2. 順序ありリストの項目2
  3. 順序ありリストの項目3

リンクテキストを文中に埋め込める。

項目説明数量
りんご赤い果物3
バナナ黄色い果物5
ぶどう紫の果物12

水平線の下のテキスト。

<MarkdownViewer content={content} size="sm" />

対応する Markdown 記法

Markdown 記法出力される HTML説明
# テキスト<h1>見出し1
## テキスト<h2>見出し2
### テキスト<h3>見出し3
#### テキスト<h4>見出し4
##### テキスト<h5>見出し5
###### テキスト<h6>見出し6
テキスト<p>段落
**テキスト**<strong>太字
*テキスト*<em>斜体
`テキスト`<code>インラインコード
[テキスト](URL)<a>リンク
> テキスト<blockquote>引用
- 項目<ul> / <li>順序なしリスト
1. 項目<ol> / <li>順序ありリスト
---<hr>水平線

アクセシビリティ

コンポーネントが内部で処理すること

  • Markdownの構造をセマンティックなHTML要素(<h2>, <ul>, <blockquote> 等)としてレンダリングする
  • リンクはネイティブの <a> タグとして出力され、キーボード操作可能である

利用者が対応すること

  • 特になし

関連コンポーネント

  • Card — MarkdownViewerをカード内に配置する場合に使用する

On this page