## 概要
以下の投稿内容について。
````
<http://hoge|test> @tadashi-aikawa
```
<http://hoge|test> @tadashi-aikawa
```
````
プレビューはこうなる。
![[Pasted image 20240512211930.png]]
実際の投稿はこうなる。
![[Pasted image 20240512211950.png]]
### 期待する結果
プレビューではコードブロック内をメンション扱いしたくない ( `@tadashi-aikawa` という文字列にしたい)
実際の投稿ではコードブロック内は文字列として投稿したい。
## 注意点
処理の場所は2つある
- [[mrkdwn]]にパースする `toMrkdwn`
- 基本はここでちゃんとしたい
- 今は **メンションの変換** しかしていない
- Viewに流し込むときの置換処理
- [[slack-message-parser]] の機能が足りていない部分を補っている
- `toMrkdwn`で実施が厳しい処理はこっちに回すのもあり
## タスク
- [x] プレビュー画面
- [x] コードブロック内で処理を変える
- [x] 行で分割してコードブロックフラグをもつ
- [x] トリプルバッククォートから始まる行から
- [x] トリプルバッククォートで終わる行まで
- [x] コードブロック内のメンションを `@tadashi-aikawa` の文字列に
- [x] メンション置換をしない
- [x] コードブロック内をリンクではなく文字列に
- [x] `<` `>` `&` をエスケープ
- https://api.slack.com/reference/surfaces/formatting#escaping
- エスケープするとプレビューもエスケープされてしまう... (投稿は平気)
- プレビューではエスケープ
- [x] 投稿メッセージ
- [x] コードブロック内
- [x] `<http://hoge|test>`という文字列になっている
- [x] メンション文字列になっている (メンション自体の有効無効はどちらでもok)