引用标注

这里可能存在一个错误,启用此项(同时禁用原始设置)给没有管理员权限的账户带来了问题。不确定具体是哪里发生了冲突,但一些主题被隐藏了,而且对于非许可账户(TL1)来说,分类/标签导航完全无法使用。

我将等待 Arkshine 的更新。

2 个赞

我今天更新时看到了以下内容

[管理员通知] 主题 ‘引用提示’ 包含需要更新的代码。(id:discourse.widgets-decommissioned) (了解更多)

1 个赞

我已经推送了一个修复,你能更新组件并试一下吗?:folded_hands:

7 个赞

到目前为止运行良好!

2 个赞

现在遇到了一个问题,引用提示块现在无法折叠/展开

您介意在这里粘贴一个可重现的示例,或者您在论坛上的帖子的链接吗(如果您愿意,可以给我发私信)?

1 个赞

当然可以,这个话题的底部

这是一个更新,它使组件现代化并带来了富文本编辑器支持!:rocket:
它可能需要一些润色或存在未预料到的边缘情况,但我认为它是一个不错的良好开端。:folded_hands:

简而言之

富文本编辑器

我们来谈谈富文本编辑器以及可以期待什么!

创建提示框:

您有四种方法来插入提示框:

  • 键盘快捷键
  • 工具栏
  • 输入规则
    • /callout\u003c:type\u003e
    • !!\u003ctype\u003e
  • 粘贴支持
    视频

编辑提示框

编辑提示框的控件仅在您事先选中它时才会出现。

  • 类型选择器
    点击图标后,会出现一个浮动菜单。
  • 自定义标题
    支持行内格式和表情符号
  • 折叠
    将提示框设置为可折叠。可以从选项菜单中访问。
    视频

组织提示框

  • 移动控件

    • 桌面
      有一个手柄可以拖放提示框。
    • 触摸设备
      您可以将提示框上下移动或将它们嵌套到相邻的提示框中。默认情况下它是禁用的,以避免视图中出现冗余,因为您不会经常这样做。您可以在选项中切换它。
    视频

  • 键盘导航
    这有助于更轻松地进出嵌套的提示框。
    此版本中的行为一致性可能需要在将来进行一些调整。

    • \u003ckbd\u003e←\u003c/kbd\u003e 在标题的开头,提示框选择器将自动打开。
    • \u003ckbd\u003e ↑\u003c/kbd\u003e \u003ckbd\u003e ↓\u003c/kbd\u003e 在没有要着陆的段落的提示框正文中,它会创建一个段落;如果您以空内容退出,则该段落将被移除。
    • 在标题内按 \u003ckbd\u003eEnter\u003c/kbd\u003e 会将光标移到正文(并在必要时创建一个)。
    视频

  • 点击插入

    • 在没有段落的区域,您可以点击内部以打开一个段落。
    • 如果您愿意,也可以使用按钮在提示框内部或外部打开一个段落。
      视频

可能稍后我会寻找:

  • 输入规则自动完成
  • 使用现代 CSS 改进颜色,以确保一致性和可见性,尤其是在深色模式下。
  • 我希望删除所有设置,首先关注简洁性,仅通过 CSS 实现高级自定义,但现在已经太晚了 :rofl:

特别感谢 Moin 提供反馈。

就是这样。请告诉我您的想法。非常欢迎反馈!

7 个赞

我注意到你们设计了一个这样的效果:如果某个类型有多个别名,那么在富文本编辑器中选择该类型时,每个别名都会作为一个选项出现,并且它们是连续排列的。
这是一个很好的设计,但似乎还需要进一步扩展:如果没有定义标题,它们会显示为 callout 类型,因此这些共享相同最终配色方案的连续选项会显示不同的名称和标题;然而,如果定义了标题,它们在列表中显示和使用的却是与实际创建 Quote 时相同的标题,这有点令人困惑。
如果这个扩展实现起来比较困难,我想也许可以提供一个复选框,当定义了标题时,可以阻止在类型选择列表中添加与别名一一对应的额外条目。:slightly_smiling_face:

3 个赞

你说得对!感谢您的反馈,很高兴看到有人使用 TC。
实际上,我以前也考虑过这个问题,但完全忘记修复了。:grinning_face_with_smiling_eyes:
我将着手修复,以便在设置标题时正确过滤列表。

2 个赞

我推送了一个修复。告诉我进展如何!:+1:

3 个赞

我刚刚测试了最新版本,现在带有标题的那些在类别选择列表中只会显示一个,无论有多少个别名。:smiley:

3 个赞

我在使用 de 翻译时遇到以下错误*:

显示“引用标注”错误的红色横幅截图

JS 控制台:

client-error-handler.js:109 [THEME 6 'Quote Callouts'] TypeError: Cannot set properties of undefined (setting 'callout_sample')
    at new po (callouts.gjs:30:19)
    at callouts.gjs:265:23
    at eK (plugin-api.gjs:3582:10)
    at Object.initialize (callouts.gjs:264:5)
    at i.initialize (app.js:304:28)
    at index.js:375:19
    at e.each (index.js:183:7)
    at e.walk (index.js:112:10)
    at e.each (index.js:59:20)
    at e.topsort (index.js:65:10)
    at ij._runInitializer (index.js:388:11)
    at ij.runInstanceInitializers (index.js:373:10)
    at l._bootSync (instance.js:111:22)
    at ij.didBecomeReady (index.js:780:18)
    at invoke (index.js:262:14)
    at m.flush (index.js:180:11)
    at g.flush (index.js:334:19)
    at Y._end (index.js:762:32)
    at Y._boundAutorunEnd (index.js:499:12)
h	@	client-error-handler.js:109

该错误出现在此引用的最后一行:

class QuoteCallouts {
  constructor(owner, api) {
    [...]
    window.I18n.translations[
      window.I18n.fallbackLocale || "en"
    ].js.composer.callout_sample = ``;

* 将 /u/<用户名>/preferences/interface 中的“界面语言”设置为“德语(Deutsch)”

该错误似乎是在 2026.3.0-latest 到 2026.4.0-latest 之间的某次 Discourse 更新中引入的,但我无法进一步精确定位。目前我使用的是 2026.4.0-latest 4b2c45376d,Quote Callout 插件版本为 v0.0.1 9aa6548

2 个赞

我原本以为这类问题已经修复了。
请问,网站的区域设置是否默认为英语(美国),而用户的区域设置是否为德语?我理解得对吗?

1 个赞

是的,这解决了问题。谢谢!<3

1 个赞

你好 @Arkshine,非常感谢这个出色的插件!

是否可以在没有标题的情况下使用 callout,或者仅使用图标?

2 个赞

我觉得目前你无法做到这一点,我会在下一个更新中想办法实现!

在此期间,有一个技巧:插入一个零宽空格,应该就能奏效了 :grinning_face_with_smiling_eyes:。例如,你可以从以下页面复制它:​ U+200B ZERO WIDTH SPACE - Unicode Explorer


请告诉我这对你是否有效。

4 个赞

我觉得它确实奏效了!谢谢!:heart_eyes:

2 个赞

嘿,@Arkshine :waving_hand:

使用“隐藏详情”功能时,能否保留原有的提示框颜色?

在帖子编辑模式下,原始颜色会被保存,但保存更改后背景会变成灰色:

2 个赞

感谢提交报告!
我已推送修复。请更新组件,看看问题是否还会出现?

3 个赞