原文(日本語に翻訳)
セル内にパイプ文字を含むインラインコードスパンがある場合にMarkdownテーブルが崩れる問題を修正しました。
原文(英語)
Fixed markdown tables breaking when a cell contains an inline code span with a pipe character
概要
Markdownテーブルのセル内でパイプ文字(|)を含むインラインコードを使用すると、テーブルのパース処理がパイプをセルの区切り文字と誤認識してテーブルが崩れる問題がありました。今回の修正により、バッククォートで囲まれたインラインコード内のパイプ文字はテーブルの区切り文字として扱われなくなります。
基本的な使い方
markdown
<!-- 修正前: このテーブルが崩れていた -->
| コマンド | 説明 |
|---------|------|
| `ls -l | grep .js` | JavaScriptファイルを一覧表示 |
| `cat file | wc -l` | 行数を数える |
<!-- 修正後: パイプを含むコードスパンでも正しく表示される -->
| コマンド | 説明 |
|---------|------|
| `ls -l | grep .js` | JavaScriptファイルを一覧表示 |
| `cat file | wc -l` | 行数を数える |実践例
コマンドのパイプ処理を含む比較表
markdown
| 操作 | コマンド例 | 出力 |
|------|-----------|------|
| ファイル検索 | `find . -name "*.ts" | head -10` | 最初の10件 |
| ログ分析 | `cat app.log | grep ERROR | wc -l` | エラー数 |
| プロセス確認 | `ps aux | grep node` | Nodeプロセス |正規表現を含む表
markdown
| パターン | マッチ例 | 説明 |
|---------|---------|------|
| `(a|b)` | "a" または "b" | OR条件 |
| `[a|b]` | "a", "|", "b" | 文字クラス |
| `a|b|c` | いずれか1文字 | 複数OR |Bashスクリプトの説明テーブル
markdown
| スクリプト | 機能 |
|-----------|------|
| `echo "hello" | tr 'a-z' 'A-Z'` | 大文字変換 |
| `ls -la | sort -k5 -n` | サイズ順ソート |
| `date | awk '{print $2}'` | 月を取得 |APIレスポンスの型定義テーブル
markdown
| フィールド | 型 | 例 |
|-----------|-----|-----|
| status | `"ok" | "error"` | "ok" |
| mode | `"fast" | "slow" | "auto"` | "auto" |注意点
- この修正はインラインコードスパン(バッククォートで囲まれたテキスト)内のパイプ文字に適用されます
- コードブロック(トリプルバッククォート)内では以前から正しく処理されていました
- エスケープ(
\|)を使ったテーブルセル内のパイプは引き続き機能します - Claude Codeのターミナル出力、
/copyコマンド、クリップボードへのコピーすべてで正しく動作します - この修正はMarkdownのレンダリングだけでなく、テーブルのパース処理自体が改善されています