貼り付けた整形済みテキストを、区切り文字がスペースのみの場合はコードブロックにマージする

Ankiフォーラムでプリフォーマットテキストの誤用を見かけ、Discourseが新しいコンポーザーでそれらを自動的にマージできれば、デバッグ情報などを扱う際にユーザーと開発者の両方に役立つと思いました。


実際の動作(以下の投稿より):

b2d2) (ao)Python 3.13.5 Qt 6.9.1 PyQt 6.9.1Platform: Windows-11-10.0.26100-SP0

Traceback (most recent call last):File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 188, in cmdreturn json.dumps(self.onCmd(str))~~~~~~~~~~^^^^^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 275, in _onCmdreturn self._onBridgeCmd(str)~~~~~~~~~~~~~~~~~^^^^^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 800, in _onBridgeCmdhandled, result = gui_hooks.webview_did_receive_js_message(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^(False, None), cmd, self._bridge_context^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^)^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages_aqt\\hooks.py”, line 5543, in callhandled = filter(handled, message, context)File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 146, in on_receive_messagefuncsfunc~~~~~~~~~~~^^^^^^^File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 165, in if_connected_wrapperfunc(self, *args, **kwargs)~~~~^^^^^^^^^^^^^^^^^^^^^^^File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 177, in pollaxes = [float(axis) for axis in input_axes.split(“,”)]~~~~~^^^^^^ValueError: could not convert string to float: ‘’

===Add-ons (active)===(add-on provided name [Add-on folder, installed at, version, is config changed])Contanki - Controller Support for Anki beta [‘1898790263’, 2024-02-29T19:22, ‘v1.0.2’, mod]Image Occlusion Enhanced [‘1374772155’, 2022-04-09T02:15, ‘None’, ‘’]

===IDs of active AnkiWeb add-ons===1374772155 1898790263

===Add-ons (inactive)===(add-on provided name [Add-on folder, installed at, version, is config changed])
===Add-ons (active)===(add-on provided name [Add-on folder, installed at, version, is config changed])Contanki - Controller Support for Anki beta [‘1898790263’, 2024-02-29T19:22, ‘v1.0.2’, mod]Image Occlusion Enhanced [‘1374772155’, 2022-04-09T02:15, ‘None’, ‘’]

===IDs of active AnkiWeb add-ons===1374772155 1898790263

===Add-ons (inactive)===(add-on provided name [Add-on folder, installed at, version, is config changed])

期待される動作:

Anki 25.07.5 (7172b2d2) (ao)Python 3.13.5 Qt 6.9.1 PyQt 6.9.1Platform: Windows-11-10.0.26100-SP0

Traceback (most recent call last):File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 188, in cmdreturn json.dumps(self.onCmd(str))~~~~~~~~~~^^^^^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 275, in _onCmdreturn self._onBridgeCmd(str)~~~~~~~~~~~~~~~~~^^^^^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages\\aqt\\webview.py”, line 800, in _onBridgeCmdhandled, result = gui_hooks.webview_did_receive_js_message(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^(False, None), cmd, self._bridge_context^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^)^File “C:\\Users\\lejla\\AppData\\Local\\AnkiProgramFiles.venv\\Lib\\site-packages_aqt\\hooks.py”, line 5543, in callhandled = filter(handled, message, context)File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 146, in on_receive_messagefuncsfunc~~~~~~~~~~~^^^^^^^File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 165, in if_connected_wrapperfunc(self, *args, **kwargs)~~~~^^^^^^^^^^^^^^^^^^^^^^^File “C:\\Users\\lejla\\AppData\\Roaming\\Anki2\\addons21\\1898790263\\contanki.py”, line 177, in pollaxes = [float(axis) for axis in input_axes.split(“,”)]~~~~~^^^^^^ValueError: could not convert string to float: ‘’

===Add-ons (active)===(add-on provided name [Add-on folder, installed at, version, is config changed])Contanki - Controller Support for Anki beta [‘1898790263’, 2024-02-29T19:22, ‘v1.0.2’, mod]Image Occlusion Enhanced [‘1374772155’, 2022-04-09T02:15, ‘None’, ‘’]

===IDs of active AnkiWeb add-ons===1374772155 1898790263

===Add-ons (inactive)===(add-on provided name [Add-on folder, installed at, versi

プリフォーマットテキストを区切るテキストがある場合、マージされるべきではありません。

編集:コードブロックにコードの長さがないため、無限に伸びます。管理者が設定可能なデフォルト値が必要です(ユーザーとしての意見であり、すでに設定が存在するかどうかは不明です)。

ここでの意図の推測は裏目に出るのではないかと懸念しています。

コードブロックが連続して複数必要になるケースがいくつか考えられます。

「いいね!」 2

わずか5分前に複数のコードブロックを作成しました。使用例を示す際の最小限の方法としては、ごく普通のことです。

単なる例
sudo nano /usr/local/bin/docker-ips
#!/bin/bash
# コンテナ/ゲートウェイおよびネットワークID(短縮形)のIPを表示する

if [ $# -eq 0 ]; then
  containers=$(docker ps -q)
else
  containers=$(docker ps -qf "name=$1")
fi

for cid in $containers; do
  cname=$(docker inspect --format '{{.Name}}' "$cid" | sed 's|/||')
  echo "=== $cname ==="
  docker inspect -f '{{range $net,$v := .NetworkSettings.Networks}}Verkko: {{$net}}
  Kontin IP: {{$v.IPAddress}}
  Gateway:   {{$v.Gateway}}
  VerkkoID:  {{printf "%.12s" $v.NetworkID}}{{"\n"}}{{end}}' "$cid"
done
sudo chmod +x /usr/local/bin/docker-ips

リッチエディタは携帯電話以外ではどこにも使用していませんが、通常、<br>なしでは空行を取得できないため、意味のないテキストが存在することになりますね🤔

「いいね!」 1

問題が正確に何であるか、よくわかりません。それ以来、インライン/ブロックコードの処理を大幅に改善しましたが、問題がまだ latest / ここMetaで発生しているか確認していただけますか?ありがとうございます!

「いいね!」 1

問題ありません。再度ご確認いただきありがとうございます。しかし、Jagsterさんがこの提案を行った際に私が想定していなかった有効なユースケースを提示してくれました。

この投稿は「修正しない」またはそれに相当する形でクローズしてください。:heart:

「いいね!」 1