ペーストされたテキスト内のmarkdownの装飾を解除する
LLMの出力をCosenseにペーストする時に必要なので、markdown装飾解除を実装したshokai.icon
Smart Contextのお陰で、Cosenseのデータを外部LLMで処理する機会が増えた
LLMがmarkdownとブラケティングの混じったテキストを生成する
その結果をCosenseに書き戻したい
彼らはいくらなんでも**強調**を使うのが好きすぎる
https://gyazo.com/657efd51d9e984a51afec5ef58f6e4f0
動作条件
ペーストしたテキストの
行頭に# 見出しや## 見出しがある
行頭に- リスト要素がある
文中に**強調テキスト**がある
変換しない条件
コードブロック記法やテーブル記法が含まれている
ペースト先が、コードブロック記法やテーブル記法の中である
shiftキーを押しながらペーストした
削除するmarkdownの装飾
行頭の-
半角スペースに置換して、Cosense上ではインデントにする
行頭の# 見出しや## 見出し
完全に削除する
**強調テキスト**
**を削除する
ブラケティングは残す
[ページタイトル]はそのまま通したい
LLMにSmart Contextを渡すとブラケティング混じりのmarkdownを返す事が多い
処理しないmarkdown
ありがたい事に、こういう2行にまたがった記法はLLMは吐かないので、無視してよい
code:markdown
見出し
=====
実装プロセス
仕様をSmart ContextでClaude Codeに渡して、ざっくり作らせた
こういう大本の、機能開発の計画のページと
https://gyazo.com/9a431b8857386c7b6cfdaef383a4771dhttps://gyazo.com/0db2bbda0337b0b59689285f58990d8c
その関連ページリストが
https://gyazo.com/78a6780a0c6e0db812ccfe1347d2b901
1つのテキストファイルとしてダウンロードできる
https://gyazo.com/222475b6758565001e763247ed14c107
20250429-014323.txt by Claude Code.icon
claude codeに渡したら
このブランチでは tmp/docs/smart-context/Nota-ペーストされたテキスト内のmarkdownの装飾を削除する.1hop.txt の実装を行っています
ドキュメントと、現状の実装の進捗を確認してください
transform-textに処理を追加してくれた
しかし最初計画していたmarkedを使ってくれない
markedはmarkdownからHTMLを吐く。その中間形式は取得できないようだ
色々やった結果、解決した
markdown-itのrenderer ruleの内部仕様をどのLLMも間違って学習していたが、DeepWikiのchatだけは正しいコードを出してくれた
さらに次々とbug報告が来て(ありがたい)修正した
「markdownが書かれたコードブロック記法」をコピペするとmarkdown部分が変換されてしまう問題
テキスト選択して*キーで文字装飾記法にする機能が動かなくなってた問題
markdownのテーブルをペーストしたらHTMLになってしまう問題