合并粘贴的预格式化文本 => 代码块,当分隔符仅为空格时

在 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])

预期行为:

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 个赞

我几分钟前写了多个代码块。在提供用法示例时,这是最基本的正常做法。

仅作示例
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}}网络: {{$net}}
  容器 IP: {{$v.IPAddress}}
  网关:   {{$v.Gateway}}
  网络 ID:  {{printf "%.12s" $v.NetworkID}}{{"\n"}}{{end}}' "$cid"
done
sudo chmod +x /usr/local/bin/docker-ips

我除了在手机上,其他地方都不使用富文本编辑器,但通常没有 <br> 就无法获得空行,那么应该会有无意义的文本 :thinking:

1 个赞

我不确定我是否完全理解问题所在。自那时以来,我们对内联/块代码处理进行了许多改进,您能否在此处或 Meta 上检查问题是否仍然存在?谢谢!

1 个赞

没问题!感谢您的再次查看,但 Jagster 提供了一个有效的用例,这在我提出建议时并未考虑到。

请将此帖子关闭为“不予修复”或同等状态 :heart:

1 个赞