まず「文書全体を囲む外側フェンス」か確認する
外側フェンスとは、通常の本文より前に開始し、文書の最後の内容より後で閉じるコードフェンスです。Markdownそのものを文字列として見せるために付けられている場合があります。
開始フェンスが文書の最初の有効な内容で、対応する終了フェンスが最後の有効な内容になっていることを確認します。前後に普通の本文があるなら、文書全体のラッパーだと決めつけてはいけません。
````markdown
# リリースノート
APIは要約を返します。
```js
console.log("このコードブロックは文書の一部");
```
````# リリースノート
APIは要約を返します。
```js
console.log("このコードブロックは文書の一部");
```手作業なら、最初と最後のフェンスだけを削除する
短い文書なら、安全な修正は2か所だけです。外側の開始フェンスと、それに対応する最後の終了フェンスを削除します。内部のフェンスには触れません。
削除前に、開始フェンスより前と終了フェンスより後に通常の本文がないことを確認してください。
- 1行目付近を確認し、md または markdown のフェンスが文書全体を囲む目的で始まっているか判断する。
- 最後の行付近を確認し、その外側フェンスを閉じる対応した終了フェンスか確認する。
- 外側の開始行と終了行だけを削除する。
- 内部のコード例、設定、コマンドなどのフェンスは残す。
- 公開や変換の前にレンダリングプレビューで確認する。
バッククォートの行を全部消してはいけない
コードフェンスはMarkdownの通常機能です。プログラム、コマンド、設定ファイル、Markdown記法そのものを文字列として見せるために使われます。すべてのバッククォート行を削除すると、コードが本文として解釈され、# や - などが別のMarkdown記法として働くことがあります。
判断基準は「バッククォートを消す」ではなく、「文書全体だけを囲むことが確認できた外側1組を外す」です。
AI Markdown Cleanerを使ってよいケース
AI Markdown Cleanerは、1つの md または markdown フェンスが入力全体を完全に囲んでいる場合、その外側1組を削除できます。あわせて見出し空白、装飾的な箇条書き、フェンスラベル、連続空行、改行コードを選択式で整えられます。
本文の言い換え、見出しレベルの変更、引用削除、実際のコードブロック内の書き換えは行いません。
| 状態 | 推奨する対応 |
|---|---|
| md / markdown フェンスが最初と最後の有効な内容 | 内部を確認したうえで外側1組だけを外す。 |
| Markdown記法そのものを見せる例 | 外側フェンスを残す。 |
| 外側候補の前後に本文がある | 自動で外さず、手動で構造を確認する。 |
| 開始と終了のフェンスが対応していない | 自動削除せず、元のMarkdownを手動で修正する。 |
内側にコードフェンスがあるときは、外側を長くできる
CommonMarkのフェンス付きコードブロックでは、バッククォートまたはチルダの連続でブロックを作れます。内部に3本のバッククォートを含む例をそのまま表示したい場合、外側を4本以上にして衝突を避ける書き方があります。
このような入れ子はMarkdownの解説やコード例では正当な構造です。外側フェンスが「不要なゴミ」なのか、「内側のフェンスを文字列として見せるために必要」なのかを先に判断してください。
フェンスが壊れているときは自動削除しない
開始フェンスがあるのに閉じていない、バッククォートとチルダが混ざっている、外側候補の後ろにも通常テキストがあるなど、構造が曖昧な場合は一括処理を避けます。
まず「どこをコードとして見せたいか」「どこをMarkdownとしてレンダリングしたいか」を決め、その意図に合わせて手動でフェンスを修正します。
外した後に確認するポイント
外側フェンスを削除した直後は、見出し、リスト、引用、リンク、内部コードブロックが意図どおり表示されるか確認します。特に内側コードブロックが途中で閉じていないと、それ以降のMarkdownがすべてコードのように見える場合があります。
元の文書を別形式へ変換する場合も、まずMarkdownとして正しくレンダリングできる状態を確認してから変換すると原因を切り分けやすくなります。
- 見出しが見出しとして表示される。
- リストが本文へ崩れていない。
- 内部コードブロックがそのまま残っている。
- リンク先や引用文が変わっていない。
- 文書の先頭・末尾に不要なフェンス文字列が残っていない。
安全なルールを1文でまとめる
削除してよいのは、対応する1組のフェンスが文書全体を完全に囲んでいると確認できたときだけです。内部のコードフェンスは残します。
文書の外側に本文がある、開始と終了が合わない、入れ子関係が不明といった場合は、機械的にすべてのバッククォートを消さず、手動で確認してください。
関連ツール
よくある質問
Markdown文書全体を囲む ```markdown を外してもよいですか?
開始フェンスが文書の最初の有効な内容で、対応する終了フェンスが最後の有効な内容として文書全体を完全に囲んでいる場合は、その外側1組だけを外せます。
中にある ```js などのコードブロックも削除しますか?
削除しません。実際のコード例や設定を囲む内部フェンスは文書の構造です。外側のラッパーだけを削除します。
バッククォートがある行を全部消せば直りますか?
いいえ。コードブロックまで壊す可能性があります。削除対象は、文書全体を囲むことが確認できた外側1組だけです。
開始フェンスと終了フェンスが合っていない場合は?
自動で削除せず、手動で構造を確認してください。どこをコードとして残すべきか判断してから、足りない閉じフェンスや誤った区切りを修正します。
なぜ外側を4本のバッククォートで囲む例があるのですか?
中に3本バッククォートのコードフェンスをそのまま含めたい場合、外側をより長いフェンスにすると内側を閉じずに表示できます。Markdown記法を説明する文書では有効な書き方です。
AI Markdown Cleanerなら、壊れたフェンスも全部直せますか?
いいえ。対象は、入力全体を明確に囲む1組の md / markdown フェンスなど、定義された書式修正です。曖昧なフェンスや不完全な構造は手動で確認してください。
