# コメント構文
**最終更新**: 2026年5月18日
Universal Markdown のコメント除去仕様です。
## 概要
コメントは Markdown パース前の前処理で除去されます。
- 実装: `src/extensions/preprocessor.rs` (`remove_comments`)
- 実行位置: `src/extensions/conflict_resolver.rs` の前処理フロー内
- 主なテスト: `tests/comments.rs`
## サポート構文
### 単一行コメント
`//` から行末までをコメントとして除去します。
```umd
// この行は出力されない
表示される // ここは出力されない
```
### 複数行コメント
`/*` から `*/` までをコメントとして除去します。
```umd
表示される
/*
この範囲は除去
*/
これも表示される
```
### インラインコメント
行内でも使用できます。
```umd
前半/* コメント */後半
```
## 除去しないケース
### フェンスコードブロック内
````umd
```rust
// これはコードとして保持
fn main() {}
```
````
### インラインコード内
```umd
`// これは保持される`
```
### URL スキーム
`https://` のように `:` の直後に続く `//` はコメント開始として扱いません。
```umd
リンク: https://example.com/path
```
## 注意点と制限
- 複数行コメントのネストはサポートしません(最初の `*/` で閉じます)。
- コメント除去は構文レベルの前処理であり、最終的な HTML サニタイズとは別工程です。
- 空行は Markdown 構造維持のため可能な限り保持します。
## 最小例
入力:
```umd
# 見出し
// 非表示メモ
本文
```
出力:
```html
<h1>見出し</h1>
<p>本文</p>
```