새 작성기에서 구분자가 공백만 있는 경우 붙여넣은 미리 포맷된 텍스트를 코드 블록으로 병합

Anki 포럼에서 사전 포맷된 텍스트(preformatted text)가 잘못 사용되는 문제를 발견했고, 새 작성기(composer)에서 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])

기대하는 동작:

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



사전 포맷된 텍스트 사이에 다른 텍스트가 있는 경우, 병합해서는 안 됩니다.

수정: 코드 블록에 코드 길이가 제한되어 있지 않아 무한정 확장됩니다. 관리자(Admins)가 설정할 수 있는 기본값이 있어야 합니다. (사용자 입장에서 말한 것인데, 이미 그런 설정이 있는지 확실하지 않습니다)

여기서 의도를 추측하는 것이 오히려 역효과를 낼까 걱정됩니다.

여러 코드 블록을 연속해서 배치하고 싶은 경우가 몇 가지 생각나네요.

2개의 좋아요

방금 전에도 여러 코드 블록을 사용했습니다. 사용 예시를 보여줄 때 최소한의 수준에서 꽤 일반적인 방식이죠.

예시 하나
sudo nano /usr/local/bin/docker-ips
#!/bin/bash
# 컨테이너/게이트웨이의 IP 및 네트워크 ID(짧은 형식) 표시

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}}Network: {{$net}}
  Container IP: {{$v.IPAddress}}
  Gateway:   {{$v.Gateway}}
  NetworkID:  {{printf "%.12s" $v.NetworkID}}{{"\n"}}{{end}}' "$cid"
done
sudo chmod +x /usr/local/bin/docker-ips

저는 휴대폰 외에는 어디서도 리치 에디터를 사용하지 않지만, 보통
태그가 없으면 빈 줄을 만들 수 없기 때문에, 그럴 경우 의미 없는 텍스트가 들어가야 합니다 :thinking:

1개의 좋아요

정확히 어떤 문제인지 잘 이해가 되지 않습니다. 다만 그 이후로 인라인/블록 코드 처리에 대해 많은 개선 사항이 적용되었으니, latest 또는 Meta에서 해당 문제가 여전히 발생하는지 확인해 주시겠습니까? 감사합니다!

1개의 좋아요

문제가 아닙니다! 다시 확인해 주셔서 감사합니다. 다만, 이 제안을 할 당시에는 Jagster가 제시한 유효한 사용 사례를 고려하지 못했습니다.

이 게시글은 “수정 불가”(won’t fix) 또는 유사한 상태로 닫아 주세요. :heart:

1개의 좋아요