# Latest

**URL:** https://meta.discourse.org/latest.md?page=15&state=tracking

[最新版本](https://meta.discourse.org/latest.md) · [分類](https://meta.discourse.org/categories.md) · [標簽](https://meta.discourse.org/tags.md)

**Page:** 16

---

## [Discourse 与 Zendesk](https://meta.discourse.org/t/discourse-zendesk/68005)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 11\
**Last updated:** [2026年九月1日 04:40 UTC](https://meta.discourse.org/t/discourse-zendesk/68005 "2026-09-01T04:40:21Z")

</div>

:discourse2: 摘要 从 Discourse 主题创建 Zendesk 工单。 :open\_book: 安装指南 此插件已随 Discourse 核心捆绑提供。无需单独安装该插件。 :warning: 如…

---

## [Discourse BCC](https://meta.discourse.org/t/discourse-bcc/134721)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**回覆:** 10\
**Last updated:** [2026年九月1日 01:59 UTC](https://meta.discourse.org/t/discourse-bcc/134721 "2026-09-01T01:59:38Z")

</div>

|||| -|-| :discourse2: | 摘要 | Discourse BCC 允许工作人员用户一次性向多个用户发送个人消息。 :hammer\_and\_wrench: | 仓库链接 | https://github.com/discourse/discourse-bcc :open\_book: | 安装指南 | 如何在 Discourse 中安装插件 功能 启用后，在添加两个或更多收件人后，你会看到一个复选框： …

---

## [与其自动删除旧回复，不如自动隐藏它们？](https://meta.discourse.org/t/instead-of-auto-deleting-old-replies-make-them-auto-hide/182852)

<div class="topic-metadata">

**Author:** [@markersocial](https://meta.discourse.org/u/markersocial)\
**回覆:** 4\
**Last updated:** [2026年九月1日 01:39 UTC](https://meta.discourse.org/t/instead-of-auto-deleting-old-replies-make-them-auto-hide/182852 "2026-09-01T01:39:13Z")

</div>

能够自动删除超过 x 天的回复是一个很棒的功能。 示例 这可能是隐藏超过 x 天的陈旧回复的一个不错的替代解决方案。允许读者展开并查看更旧的…

---

## [Zendesk API 令牌将于 2027 年 4 月 30 日永久停用](https://meta.discourse.org/t/zendesk-api-tokens-will-be-permanently-deactivated-on-april-30-2027/409411)

<div class="topic-metadata">

**Author:** [@Vishal\_Ahir](https://meta.discourse.org/u/Vishal_Ahir)\
**回覆:** 3\
**Last updated:** [2026年九月1日 00:35 UTC](https://meta.discourse.org/t/zendesk-api-tokens-will-be-permanently-deactivated-on-april-30-2027/409411 "2026-09-01T00:35:10Z")

</div>

Zendesk API 令牌将于 2027 年 4 月 30 日永久停用。关于使用 OAuth 令牌是否有任何更新？

---

## [添加一个编辑徽章的快速链接](https://meta.discourse.org/t/add-a-quick-link-to-edit-badges/411289)

<div class="topic-metadata">

**Author:** [@satonotdead](https://meta.discourse.org/u/satonotdead)\
**回覆:** 1\
**Last updated:** [2026年九月1日 00:10 UTC](https://meta.discourse.org/t/add-a-quick-link-to-edit-badges/411289 "2026-09-01T00:10:29Z")

</div>

我正在构建一个内部/自定义的等级系统，它与徽章（badges）紧密相关。我发现，在管理界面中，若要编辑已创建的徽章，需要打开新标签页和/或访问新的 URL，这非常反直觉。 我真的 …

---

## [表单模板编辑器中的字段在编辑预览中丢失了换行符](https://meta.discourse.org/t/form-template-composer-fields-lose-their-newlines-in-the-edit-preview/411146)

<div class="topic-metadata">

**Author:** [@ScaryLarryGames1](https://meta.discourse.org/u/ScaryLarryGames1)\
**回覆:** 1\
**Last updated:** [2026年八月31日 20:43 UTC](https://meta.discourse.org/t/form-template-composer-fields-lose-their-newlines-in-the-edit-preview/411146 "2026-08-31T20:43:11Z")

</div>

编辑使用表单模板的帖子时，编辑器预览会将任何多行编辑器字段渲染为一整行：标题与其后的句子粘连在一起，列表和 BBCode 则以纯文本形式显示。保存后的帖子内容则……

---

## [Drag, resize, and gesture primitives](https://meta.discourse.org/t/drag-resize-and-gesture-primitives/410549)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**回覆:** 0\
**Last updated:** [2026年八月20日 16:44 UTC](https://meta.discourse.org/t/drag-resize-and-gesture-primitives/410549 "2026-08-20T16:44:52Z")

</div>

ui-kit ships the input-driven gesture primitives: dragging a payload onto a target, resizing a region, and reading a swipe or a pointer drag. This page is the usage reference. Each primitive’s own TSDoc carries the f…

---

## [JavaScript type hinting & validation (typescript)](https://meta.discourse.org/t/javascript-type-hinting-validation-typescript/395136)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**回覆:** 0\
**Last updated:** [2026年二月4日 10:38 UTC](https://meta.discourse.org/t/javascript-type-hinting-validation-typescript/395136 "2026-02-04T10:38:25Z")

</div>

Discourse ships type information for its JavaScript code. This can provide inline documentation, autocomplete, and other useful IDE features. It can also be used for some basic type validation, using the @ts-check direct…

---

## [AppEvents Triggers Reference](https://meta.discourse.org/t/appevents-triggers-reference/338465)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**回覆:** 0\
**Last updated:** [2024年十一月26日 10:20 UTC](https://meta.discourse.org/t/appevents-triggers-reference/338465 "2024-11-26T10:20:08Z")

</div>

AppEvents The AppEvent system in Discourse provides a pub/sub mechanism for handling UI updates and component interactions - and these events are triggered via calls of AppEvent.trigger. This topic consolidates a list…

---

## [Write end-to-end system specs for the Discourse user interface](https://meta.discourse.org/t/write-end-to-end-system-specs-for-the-discourse-user-interface/325937)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**回覆:** 3\
**Last updated:** [2025年八月28日 14:51 UTC](https://meta.discourse.org/t/write-end-to-end-system-specs-for-the-discourse-user-interface/325937 "2025-08-28T14:51:13Z")

</div>

Background Rails system specs are used to simulate the actions of a real user using the app in a browser. We use the Playwright ruby driver which is becoming an industry standard. The tests run locally and in CI out of t…

---

## [（不推荐）从主题或插件覆盖 Discourse 模板](https://meta.discourse.org/t/not-recommended-overriding-discourse-templates-from-a-theme-or-plugin/247487)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 9\
**Last updated:** [2024年三月7日 13:20 UTC](https://meta.discourse.org/t/not-recommended-overriding-discourse-templates-from-a-theme-or-plugin/247487 "2024-03-07T13:20:54Z")

</div>

理想情况下，在通过主题/插件自定义 Discourse 时，您应使用 CSS、JavaScript 插件 API 或插件插槽（plugin outlets）。如果这些方法都不适用于您的使用场景，欢迎向 Discourse 核心提交 PR，或发起一个 Devel…

---

## [防止意外序列化 ActiveRecord 模型](https://meta.discourse.org/t/preventing-accidental-serialization-of-activerecord-models/314495)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 2\
**Last updated:** [2024年七月23日 17:59 UTC](https://meta.discourse.org/t/preventing-accidental-serialization-of-activerecord-models/314495 "2024-07-23T17:59:58Z")

</div>

我们引入了一个补丁，以防止在未指定要序列化的字段的情况下意外序列化 ActiveRecord 模型。此更改确保我们能够控制包含哪些字段，从而避免潜在的 is…

---

## [在 Discourse 中创建路由并显示数据](https://meta.discourse.org/t/creating-routes-in-discourse-and-showing-data/48827)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 0\
**Last updated:** [2016年八月18日 20:18 UTC](https://meta.discourse.org/t/creating-routes-in-discourse-and-showing-data/48827 "2016-08-18T20:18:49Z")

</div>

随着时间的推移，Discourse 的复杂性不断增加，对于初学者来说，要理解数据如何从后端的 Ruby on Rails 应用程序一路传递到前端的 Ember.js 应用程序，可能会感到有些 daunting（令人望而生畏）。 本教程将……

---

## [使用 modifyClass 修改核心行为](https://meta.discourse.org/t/using-modifyclass-to-change-core-behavior/262064)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 6\
**Last updated:** [2026年三月4日 07:13 UTC](https://meta.discourse.org/t/using-modifyclass-to-change-core-behavior/262064 "2026-03-04T07:13:43Z")

</div>

对于高级主题和插件，Discourse 提供了 modifyClass 系统。该系统允许你扩展并覆盖核心 JavaScript 类中的许多功能。 何时使用 modifyClass modifyClass 应作为最后的手段……

---

## [在主题或插件中使用插件输出连接器](https://meta.discourse.org/t/using-plugin-outlet-connectors-from-a-theme-or-plugin/32727)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 12\
**Last updated:** [2024年十月14日 10:37 UTC](https://meta.discourse.org/t/using-plugin-outlet-connectors-from-a-theme-or-plugin/32727 "2024-10-14T10:37:16Z")

</div>

Discourse 包含数百个插件出口（Plugin Outlets），可用于向 Discourse 用户界面中注入新内容或替换现有内容。系统提供了“出口参数”（Outlet arguments），以便根据……对内容进行自定义。

---

## [使用 JS API](https://meta.discourse.org/t/using-the-js-api/41281)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 18\
**Last updated:** [2026年一月30日 07:30 UTC](https://meta.discourse.org/t/using-the-js-api/41281 "2026-01-30T07:30:33Z")

</div>

Discourse 的 JavaScript API 允许主题和插件对用户体验进行广泛的自定义。最简单的使用方式是：从管理面板创建新主题，点击“编辑代码”，然后前往 …

---

## [将模态框从旧版控制器迁移到新的 DModal 组件 API](https://meta.discourse.org/t/converting-modals-from-legacy-controllers-to-new-dmodal-component-api/268057)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 9\
**Last updated:** [2023年十一月7日 17:05 UTC](https://meta.discourse.org/t/converting-modals-from-legacy-controllers-to-new-dmodal-component-api/268057 "2023-11-07T17:05:46Z")

</div>

:information\_source: 如果您正在实现新的 Modal，请查阅此处的主文档。本主题介绍了如何将现有的基于控制器的 Modal 迁移到新的基于组件的 API。 过去，Discourse 使用……

---

## [使用 GitHub Actions 设置持续集成](https://meta.discourse.org/t/setup-continuous-integration-using-github-actions/240150)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 8\
**Last updated:** [2025年三月3日 09:12 UTC](https://meta.discourse.org/t/setup-continuous-integration-using-github-actions/240150 "2025-03-03T09:12:26Z")

</div>

:mag: 概述 要为 Discourse 构建一个健壮的扩展，将持续集成（CI）纳入您的插件或主题组件中可能是一个明智之举。这将有助于尽早发现错误，并降低出现 bug 的可能性…

---

## [使用 Google 的「tachometer」测量 Discourse 中的 JS 性能变化](https://meta.discourse.org/t/using-googles-tachometer-to-measure-js-performance-changes-in-discourse/281158)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 0\
**Last updated:** [2023年十月5日 13:57 UTC](https://meta.discourse.org/t/using-googles-tachometer-to-measure-js-performance-changes-in-discourse/281158 "2023-10-05T13:57:29Z")

</div>

在 Discourse 核心、插件或主题中进行客户端开发时，务必考虑其对性能的影响。Google 的“Tachometer”项目提供了一种具有统计严谨性的基准测试工具，我们可以用它来……

---

## [Ember 对象所有权（getOwner、服务注入等）](https://meta.discourse.org/t/ember-object-ownership-getowner-service-injections-etc/292080)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 0\
**Last updated:** [2024年一月19日 13:28 UTC](https://meta.discourse.org/t/ember-object-ownership-getowner-service-injections-etc/292080 "2024-01-19T13:28:42Z")

</div>

:warning: 从 discourse-common/lib/get-owner 导入 getOwner 已被弃用。 如需访问例如服务，您可以使用以下几种方法。 在组件/控制器/路由中，您应使用服务注入 …

---

## [为旧版 Discourse 安装固定插件和主题版本（d-compat 分支）](https://meta.discourse.org/t/pinning-plugin-and-theme-versions-for-older-discourse-installs-d-compat-branches/272665)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 6\
**Last updated:** [2026年七月17日 10:56 UTC](https://meta.discourse.org/t/pinning-plugin-and-theme-versions-for-older-discourse-installs-d-compat-branches/272665 "2026-07-17T10:56:56Z")

</div>

:open\_book: 背景 主题和插件开发者通常希望针对 Discourse 的最新版本进行开发，而无需担心向后兼容性问题。但运行旧版 Discourse 的网站仍然需要一个版本…

---

## [如何运行 Discourse 核心、插件和主题的 QUnit 测试套件](https://meta.discourse.org/t/how-to-run-discourse-core-plugin-and-theme-qunit-test-suites/66857)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 0\
**Last updated:** [2017年七月26日 14:09 UTC](https://meta.discourse.org/t/how-to-run-discourse-core-plugin-and-theme-qunit-test-suites/66857 "2017-07-26T14:09:58Z")

</div>

Discourse 为核心功能、插件和主题提供了广泛的前端测试。一旦你拥有了可用的本地开发环境，就可以通过多种不同的方式在本地运行这些测试。 在浏览器中运行测试 C…

---

## [为 Discourse 中的 Ember 代码编写验收测试和组件测试](https://meta.discourse.org/t/write-acceptance-tests-and-component-tests-for-ember-code-in-discourse/49167)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 3\
**Last updated:** [2024年二月23日 12:42 UTC](https://meta.discourse.org/t/write-acceptance-tests-and-component-tests-for-ember-code-in-discourse/49167 "2024-02-23T12:42:10Z")

</div>

自动化测试是保护代码免受未来回归问题影响的好方法。许多人都熟悉如何在我们的 Rails 代码库中使用 rspec 来实现这一点，但对于一些人来说，JavaScript 部分可能还有些神秘……

---

## [在提交前自动执行代码检查和格式化](https://meta.discourse.org/t/automatically-lint-and-format-code-before-commits/132947)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 0\
**Last updated:** [2019年十一月8日 17:16 UTC](https://meta.discourse.org/t/automatically-lint-and-format-code-before-commits/132947 "2019-11-08T17:16:12Z")

</div>

Discourse 使用 lefthook 来管理 git 钩子，并将 bin/lint 作为手动运行相同检查的主要 CLI 入口点。 如果您在本地克隆仓库中工作，请安装一次钩子： pnpm install pnpm lefthook install Aft…

---

## [想法：聊天帖子](https://meta.discourse.org/t/idea-chat-posts/374905)

<div class="topic-metadata">

**Author:** [@Johnny\_McIvor](https://meta.discourse.org/u/Johnny_McIvor)\
**回覆:** 28\
**Last updated:** [2026年八月31日 16:38 UTC](https://meta.discourse.org/t/idea-chat-posts/374905 "2026-08-31T16:38:11Z")

</div>

拥有论坛的一大好处是，您可以轻松地存档和搜索所有内容。 然而，人们因为缺乏自发交流而对论坛敬而远之。 我建议采用一种混合模式……

---

## [主题和区块创作技能](https://meta.discourse.org/t/skills-for-authoring-themes-and-blocks/401629)

<div class="topic-metadata">

**Author:** [@manuel](https://meta.discourse.org/u/manuel)\
**回覆:** 20\
**Last updated:** [2026年八月31日 15:54 UTC](https://meta.discourse.org/t/skills-for-authoring-themes-and-blocks/401629 "2026-08-31T15:54:08Z")

</div>

用于构建 Discourse 主题和区块组件的 Claude Code 技能仓库： :toolbox: 包含内容 主题创作技能 — 涵盖构建 Discourse 主题的全面范围：使用脚手架与…

---

## [Discourse 的 de\_DE（及其他语言）宣传材料](https://meta.discourse.org/t/promotional-material-fur-discourse-in-de-de-and-othe-languages/411037)

<div class="topic-metadata">

**Author:** [@Thomas\_Rother](https://meta.discourse.org/u/Thomas_Rother)\
**回覆:** 7\
**Last updated:** [2026年八月31日 14:01 UTC](https://meta.discourse.org/t/promotional-material-fur-discourse-in-de-de-and-othe-languages/411037 "2026-08-31T14:01:03Z")

</div>

我正在寻找德语的 Discourse 宣传材料。我之前已经与 @JammyDodger 讨论过他在 2023 年宣布的视频，见帖子《全新的 Discourse 视频！🥳》。不幸的是，没有 sep…

---

## [Discourse 新闻通讯集成](https://meta.discourse.org/t/discourse-newsletter-integration/275509)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**回覆:** 39\
**Last updated:** [2026年八月31日 13:35 UTC](https://meta.discourse.org/t/discourse-newsletter-integration/275509 "2026-08-31T13:35:49Z")

</div>

:discourse2: 摘要 Discourse 新闻通讯集成可为您的实例添加可自定义的新闻通讯订阅服务。 :hammer\_and\_wrench: 仓库链接 https://github.com/discourse/discourse-newsle…

---

## [移动设备上的左侧汉堡菜单](https://meta.discourse.org/t/left-side-hamburger-menu-on-mobile/164513)

<div class="topic-metadata">

**Author:** [@featheredtoast](https://meta.discourse.org/u/featheredtoast)\
**回覆:** 51\
**Last updated:** [2026年八月31日 12:51 UTC](https://meta.discourse.org/t/left-side-hamburger-menu-on-mobile/164513 "2026-08-31T12:51:33Z")

</div>

One thing we never got around to and caused some confusion after our work on Full height, slide out hamburger menu was that the hamburger menu, on the right side, opens a menu from the left side. For those interested in …

---

## [API密钥范围是否可以将新主题限制在一个类别中？](https://meta.discourse.org/t/api-key-scope-to-limit-new-topics-to-just-one-category/269511)

<div class="topic-metadata">

**Author:** [@packman](https://meta.discourse.org/u/packman)\
**回覆:** 3\
**Last updated:** [2026年八月31日 12:48 UTC](https://meta.discourse.org/t/api-key-scope-to-limit-new-topics-to-just-one-category/269511 "2026-08-31T12:48:44Z")

</div>

是否可以创建一个细粒度的API密钥，将密钥限制为仅在特定类别（或类别）中发布？在topics/write作用域中有一个topic\_id参数，但我希望可能有一个category……

[上一頁](https://meta.discourse.org/latest.md?page=14&state=tracking)

[下一頁](https://meta.discourse.org/latest.md?page=16&state=tracking)
