快速引用主题组件

:information_source: 摘要 简而言之:它改变了“回复帖子”按钮(非“回复主题”按钮)的行为,使其在单击时自动引用帖子。
:hammer_and_wrench: 仓库链接 GitHub - merefield/discourse-quick-quote: A Theme component to change the behaviour of the Post Reply buttons to quote a Post automatically in a single click. · GitHub
:open_book: 安装指南 Installing a theme or theme component
:heart: 赞助 请考虑根据您或您组织的资源和需求,成为我开源工作的持续 赞助商,以确保该组件获得应有的维护,并在未来继续为您的网站服务。

喜欢这个主题组件吗?请在 GitHub 上给它点一个 :star:

功能说明

简而言之:它改变了“回复帖子”按钮(非“回复主题”按钮)的行为,使其在单击时自动引用帖子。

有多种设置可以细化引用内容和时机。您甚至可以指定嵌套引用,以体验“老派”的感觉。

由于自动生成的引用会发送到编辑器,如果您愿意,可以在此处手动对其进行修改(但这在一定程度上违背了“快速”的初衷 :snail:)。

它不会改变底部“回复主题”按钮或引用工具的行为。

原因

  • 有些人认为在基础安装中执行引用操作需要点击太多次。这在触摸设备上尤其成问题。

  • “自动引用”在回复较靠前的帖子时特别有用。此插件会计算被引用帖子距离当前的位置,如果足够靠后,将自动插入引用。这有助于人们更快地理解上下文。

  • 它恢复了“嵌套引用”!(默认关闭)对于习惯某些“老派”论坛平台 :space_invader: 的用户来说,该组件可能特别有吸引力,这纯属个人喜好——如果您喜欢看到嵌套引用,现在可以实现,但请注意其对空间的占用!

您不需要它,如果

您对开箱即用的主题帖子回复行为完全满意。我是这样的,但拥有多种选择总是好的,对吧?

设置

quick_quote_post_location_threshold: “启用快速引用前需要回溯的帖子数量。”

控制帖子需要回溯多远才触发自动引用。避免对近期帖子进行不必要的引用。

quick_quote_remove_links: “从引用中移除所有链接(包括图片)”

清理内容并节省空间。

quick_quote_remove_prior_quotes: “移除所有先前的(嵌套)引用”

默认启用。清除此设置可获得终极的嵌套老派体验。(抱歉 Jeff!;))

quick_quote_remove_contiguous_new_lines: “移除不必要的换行符”

换行符被高估了。

quick_quote_character_limit: “引用字符限制(如果总长度超过限制,则使用最后 x 个字符)”

摘录功能比较基础 :slight_smile: 如果需要更精准的引用,请使用引用工具(该功能不会被此插件覆盖)。

已知限制

不支持编辑器的新富文本模式。 核心更新似乎已解决此问题?

该主题组件处理引用准备的方式相当简单。某些设置组合效果更佳,具体取决于管理员的选择。为了简化复杂性,例如存在一个可能会截断单词的摘录字符限制。格式化也被简化,因为移除了标签以避免因截断标签而导致损坏——这也是为了实现简洁。引用处理严重依赖正则表达式,并非所有表达式都完全万无一失,但“足够好用”。这些可能会随着该主题组件的生命周期进行优化。

这是最近从我的同名插件移植过来的,但在此过程中可能会引入一些错误。如果您遇到任何问题,请告诉我。

我的赞助者及该组件的灵感来源

感谢 @Merlls_Rizzini 赞助此项工作。该功能是我们两人的头脑风暴成果,并部分灵感 源自这篇帖子,由 @eesty 发布。

注意:这是基于我的“快速引用”插件,但已转换为主题组件格式,以便更多由第三方托管的网站管理员能够使用。@sam 建议将其转换为主题组件,因为该插件没有后端组件,而 @sully 在创建了他自己的主题版本后,最终推动了我进行这次转换。

欢迎所有反馈。

37 个赞

如果我当时没有跳读,我本可以少花些时间去琢磨它的价值,

我喜欢这个功能 :+1:

3 个赞

如果能按类别使用那就太棒了,我们很希望把它放在我们的 AMA 类别中,否则会有点混乱。

3 个赞

最近对 topic.js 的 Git 提交似乎破坏了该主题组件:

Quote.build() 已不存在;他们似乎正在导入并使用 buildQuote() 函数。简单的替换并未奏效;需要再仔细思考一下。

2 个赞

我的疏忽!quick-quote 插件不在 all-the-plugins 列表中,所以我在查找回归问题时错过了它。我会把它加上去,并且已经为这个插件提交了一个修复的 PR:

(另外还有一个针对设置的小修复:https://github.com/merefield/discourse-quick-quote/pull/2)

5 个赞

太棒了,谢谢 Jarek(也感谢 @sully 的反馈!),已合并!(还感谢这个 bug 修复!)

1 个赞

我正在使用这个主题,昨天更新了,今天就开始收到投诉。

当我创建帖子进行回复和解释时,发现如果我在回复某个帖子后,转到另一个帖子并想完整回复,却无法做到,回复仍然停留在最初的那个帖子上。

以前它会自动切换,不过快速引用功能仍然正常。

为了让我完全理解,您能否再详细拆解一下……能否用更细致的步骤解释,并指出您认为问题出在哪里?

1 个赞

是的,这个问题现在正在讨论中。无法回复超过 3 层之前的帖子,很可能会成为一个令人头疼、需要反复解释的问题。

快速引用功能很棒,但能否恢复回复功能?

我仍然不太明白您的意思。能否请您提供更详细的说明和更多步骤?

我已在本地重新测试了该组件,它似乎运行正常?

1 个赞

没问题,也许是我误解了函数,或者有其他疏忽。

但目前的情况是,如果我在一个帖子中向上滚动 4 条回复,回复按钮就会变灰不可用。

这个问题是今天才被提到的,而我在昨天进行了更新。

所以我认为这可能与更新有关,也许涉及某个设置?

你能展示一下你的主题设置吗?

另外,请确认你使用的是最新版本的 Discourse 以及最新版本的主题组件。

此外,请告诉我你在控制台中是否看到任何 JavaScript 错误?

1 个赞

在一个随机帖子中

image

这个网站没有显示版本,就像我自建的那样

1 个赞

谢谢。

好的,我已经将我的设置调整为相同,但无法复现该问题。4 条帖子之前的“回复”按钮工作正常。

不过,鉴于你的设置,这非常可疑。(那个“3”很显眼!)

我使用的是最新版本的 Discourse 和 TC。请确保你的两个系统都已完全更新。

1 个赞

查看源代码显示 Discourse 2.5.0.beta2

TC 是主题组件吗?

将 3 改为 5 后,我可以回复到第 5 条帖子。

那我是否应该设置为 9999?这样会不会影响其他功能?

好的,我已经在生产环境中复现了您的问题……

v2.5.0.beta2 +459

Jarek 提交的这些更改是专门针对最新版本的 Discourse 的。

您是否可能处于 Jarek 提交更改之前的 Discourse 版本?如果是这样,它将无法与最新的 TC 配合使用。您需要同时升级两者,或者都不升级。

此外,我刚刚将该站点升级到了最新版本(+495),现在一切正常。

所以,是的,您需要将您的 Discourse 升级到他的提交之后。

1 个赞

能否提供一些我可以用来回退的 CSS?

等我的网站更新后,我再将其移除?

谢谢 :slightly_smiling_face:

或者

@team 我的网站很快就能更新吗?

啊,好主意,不过我认为无法从界面访问 JavaScript 文件夹的内容(如果我说错了,请有人纠正我!)。不幸的是,我相信你也不能安装某个特定提交的主题组件(同上!)。所以我的建议是,是的,把那个 3 改成 9999,然后等到你的 Discourse 版本更新一些再说。

1 个赞

没问题,别担心,感谢配合,非常感激 :+1:

1 个赞

嘿,各位快速引用、即兴发言的 Discourse 用户……我已发布了一个修复版本,让快速引用功能在最新版 Discourse 上重新可用。

我正在跟踪 tests-passed 分支,因此如果您不在该分支上,请勿更新。

3 个赞