# Documentation

**URL:** https://meta.discourse.org/c/documentation/10.md?page=12

[Latest](https://meta.discourse.org/latest.md) · [Categories](https://meta.discourse.org/categories.md) · [Tags](https://meta.discourse.org/tags.md)

**Page:** 13

---

## [Split up theme Javascript into multiple files](https://meta.discourse.org/t/split-up-theme-javascript-into-multiple-files/119369)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 5\
**Last updated:** [February 16, 2025, 2:30am UTC](https://meta.discourse.org/t/split-up-theme-javascript-into-multiple-files/119369 "2025-02-16T02:30:16Z")

</div>

Complex theme javascript can be split into multiple files, to keep things nicely organised. To use this functionality, simply add files to the /javascripts folder in your theme directory. These files can not be edited f…

---

## [Create custom Automations](https://meta.discourse.org/t/create-custom-automations/275931)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 16\
**Last updated:** [February 7, 2025, 8:17pm UTC](https://meta.discourse.org/t/create-custom-automations/275931 "2025-02-07T20:17:02Z")

</div>

:information\_source: This is a draft, and may need some extra work. Vocabulary trigger: represents the name of the trigger, eg: user\_added\_to\_group triggerable: represents the code logic associated to a trigger, eg: tr…

---

## [How often is my site deployed?](https://meta.discourse.org/t/how-often-is-my-site-deployed/306419)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 2, 2024, 12:05am UTC](https://meta.discourse.org/t/how-often-is-my-site-deployed/306419 "2024-05-02T00:05:05Z")

</div>

:bookmark: This guide explains how often Discourse deploys updates to hosted customer sites and what factors influence deployment timing. :person\_raising\_hand: Required user level: All users Overview Discourse hoste…

---

## [Referencing types of review items created by plugins](https://meta.discourse.org/t/referencing-types-of-review-items-created-by-plugins/350179)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [February 5, 2025, 3:38am UTC](https://meta.discourse.org/t/referencing-types-of-review-items-created-by-plugins/350179 "2025-02-05T03:38:50Z")

</div>

:bookmark: This reference shows which plugin each type of review item originates from. :person\_raising\_hand: Required user level: Moderator Plugins create review items. When disabled, admins are notified if there’s a…

---

## [Set up Zulip notifications using the chat integration plugin](https://meta.discourse.org/t/set-up-zulip-notifications-using-the-chat-integration-plugin/68501)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [March 20, 2019, 10:19pm UTC](https://meta.discourse.org/t/set-up-zulip-notifications-using-the-chat-integration-plugin/68501 "2019-03-20T22:19:52Z")

</div>

This howto describes how to setup the Zulip provider included in discourse-chat-integration. Set up Zulip In your Zulip personal settings, go to Bots Click Add a new bot Enter a name and select Incoming webhook …

---

## [Introduction to Discourse Development](https://meta.discourse.org/t/introduction-to-discourse-development/349939)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**Replies:** 1\
**Last updated:** [February 1, 2025, 10:34pm UTC](https://meta.discourse.org/t/introduction-to-discourse-development/349939 "2025-02-01T22:34:35Z")

</div>

Discourse is a modern and highly-customizable platform for building communities. This documentation is intended for anyone who wants to build a customization for Discourse, or work on Discourse itself. Architecture Disc…

---

## [Undo an Official Warning](https://meta.discourse.org/t/undo-an-official-warning/103655)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 8\
**Last updated:** [January 30, 2025, 7:06pm UTC](https://meta.discourse.org/t/undo-an-official-warning/103655 "2025-01-30T19:06:17Z")

</div>

:bookmark: This guide explains how to remove an official warning in Discourse via the console, particularly aimed at self-hosting users. :person\_raising\_hand: Required user level: System Administrator …

---

## [Modify trust level for all users](https://meta.discourse.org/t/modify-trust-level-for-all-users/103628)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [March 9, 2016, 8:58am UTC](https://meta.discourse.org/t/modify-trust-level-for-all-users/103628 "2016-03-09T08:58:35Z")

</div>

Here’s an example of a bulk operation to set the trust level to 2 for all users currently at trust level 0 or 1: This is slow, but properly triggers all side effects (group membership updates, badge grants, and logging)…

---

## [Configuring LLM Usage Quotas in Discourse AI](https://meta.discourse.org/t/configuring-llm-usage-quotas-in-discourse-ai/348125)

<div class="topic-metadata">

**Author:** [@sam](https://meta.discourse.org/u/sam)\
**Replies:** 4\
**Last updated:** [January 21, 2025, 6:53am UTC](https://meta.discourse.org/t/configuring-llm-usage-quotas-in-discourse-ai/348125 "2025-01-21T06:53:40Z")

</div>

:bookmark: This guide explains how to configure and manage usage quotas for Large Language Models (LLMs) in Discourse AI. :person\_raising\_hand: Required user level: Administrator Summary LLM Usage Quotas allow admini…

---

## [Use the \`navigation\_menu\` query parameter to preview the sidebar or other options](https://meta.discourse.org/t/use-the-navigation-menu-query-parameter-to-preview-the-sidebar-or-other-options/258401)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [January 27, 2025, 9:54am UTC](https://meta.discourse.org/t/use-the-navigation-menu-query-parameter-to-preview-the-sidebar-or-other-options/258401 "2025-01-27T09:54:50Z")

</div>

If you are working on a theme for an existing site and want to preview how it will look with the sidebar or other options for the navigation menu site setting, you can use the ?navigation\_menu query parameter. This feat…

---

## [Merge two Discourse sites into one](https://meta.discourse.org/t/merge-two-discourse-sites-into-one/95435)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 5\
**Last updated:** [January 25, 2025, 1:36am UTC](https://meta.discourse.org/t/merge-two-discourse-sites-into-one/95435 "2025-01-25T01:36:40Z")

</div>

If you have two Discourse sites that you wish were one, this guide is for you. There’s a tool called discourse\_merger that can take one Discourse site and merge it into another. Prereqs This is not an easy task, and…

---

## [What LLM to use for Discourse AI?](https://meta.discourse.org/t/what-llm-to-use-for-discourse-ai/348696)

<div class="topic-metadata">

**Author:** [@Saif](https://meta.discourse.org/u/Saif)\
**Replies:** 0\
**Last updated:** [January 23, 2025, 9:22pm UTC](https://meta.discourse.org/t/what-llm-to-use-for-discourse-ai/348696 "2025-01-23T21:22:10Z")

</div>

It’s important to understand the needs of you as the community admin and your members when choosing a Large Language Model (LLM) to power Discourse AI features. Several factors may influence your decisions: Performanc…

---

## [Discourse AI - AI usage](https://meta.discourse.org/t/discourse-ai-ai-usage/348677)

<div class="topic-metadata">

**Author:** [@Saif](https://meta.discourse.org/u/Saif)\
**Replies:** 0\
**Last updated:** [January 23, 2025, 7:56pm UTC](https://meta.discourse.org/t/discourse-ai-ai-usage/348677 "2025-01-23T19:56:58Z")

</div>

:bookmark: This guide covers the AI usage page which is part of the Discourse AI plugin. :person\_raising\_hand: Required user level: Administrator The AI usage page is designed for admins to understand how the communi…

---

## [Apply auto-close to existing topics](https://meta.discourse.org/t/apply-auto-close-to-existing-topics/70450)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [September 20, 2017, 2:44pm UTC](https://meta.discourse.org/t/apply-auto-close-to-existing-topics/70450 "2017-09-20T14:44:41Z")

</div>

:bookmark: This documentation provides instructions on how to apply the auto-close feature to existing topics using a specific script. When you configure categories in Discourse to auto-close topics, this setting appl…

---

## [Deleting a user account](https://meta.discourse.org/t/deleting-a-user-account/312021)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [June 18, 2024, 6:10am UTC](https://meta.discourse.org/t/deleting-a-user-account/312021 "2024-06-18T06:10:27Z")

</div>

:bookmark: This guide covers how to delete a user account in Discourse. This may be necessary for various administrative reasons, such as compliance with user requests or maintaining community standards. …

---

## [Changing ownership of posts](https://meta.discourse.org/t/changing-ownership-of-posts/276672)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 3\
**Last updated:** [January 20, 2025, 10:14pm UTC](https://meta.discourse.org/t/changing-ownership-of-posts/276672 "2025-01-20T22:14:25Z")

</div>

:bookmark: This guide explains how to change the ownership of posts in Discourse. It covers methods for changing ownership of single posts, multiple posts within a topic, and all posts by a specific user. …

---

## [Creating quick access links to Discourse preference pages](https://meta.discourse.org/t/creating-quick-access-links-to-discourse-preference-pages/276375)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [January 15, 2025, 8:54pm UTC](https://meta.discourse.org/t/creating-quick-access-links-to-discourse-preference-pages/276375 "2025-01-15T20:54:26Z")

</div>

:bookmark: This guide explains how to create easy-to-use links that direct users to specific sections of their Discourse preferences. These links work for any user on your Discourse instance. :person\_raising\_hand: Requ…

---

## [Understanding Uploads, Images, and Attachments](https://meta.discourse.org/t/understanding-uploads-images-and-attachments/275735)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 5\
**Last updated:** [January 15, 2025, 2:05pm UTC](https://meta.discourse.org/t/understanding-uploads-images-and-attachments/275735 "2025-01-15T14:05:50Z")

</div>

:bookmark: This guide will provide administrators with comprehensive instructions on how to upload images and attachments on their Discourse site. :person\_raising\_hand: Required user level: Administrator Discourse …

---

## [Generate User API Keys for testing](https://meta.discourse.org/t/generate-user-api-keys-for-testing/145744)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [March 26, 2020, 9:31pm UTC](https://meta.discourse.org/t/generate-user-api-keys-for-testing/145744 "2020-03-26T21:31:38Z")

</div>

Continuing the discussion from User API keys specification: I created a small utility script in order to test User API keys locally. First install dependencies: gem install addressable openssl base64 json Then the sc…

---

## [Forwarding emails in Google Workspace](https://meta.discourse.org/t/forwarding-emails-in-google-workspace/313963)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [January 6, 2025, 1:54pm UTC](https://meta.discourse.org/t/forwarding-emails-in-google-workspace/313963 "2025-01-06T13:54:04Z")

</div>

:bookmark: This guide describes how to set up and troubleshoot email forwarding in Google Workspace for use with Discourse. :person\_raising\_hand: Required user level: Administrator Setting up email forwarding in Goog…

---

## [Move Uploads and Backups to DigitalOcean Block Storage](https://meta.discourse.org/t/move-uploads-and-backups-to-digitalocean-block-storage/89274)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 6\
**Last updated:** [January 3, 2025, 5:04pm UTC](https://meta.discourse.org/t/move-uploads-and-backups-to-digitalocean-block-storage/89274 "2025-01-03T17:04:50Z")

</div>

So you want to move all uploads and backups to DigitalOcean Block Storage? Before you do this, though, you might instead consider Configure an S3 compatible object storage provider for uploads. It is no more complicated…

---

## [End-to-end system testing for themes and theme components](https://meta.discourse.org/t/end-to-end-system-testing-for-themes-and-theme-components/281579)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [January 2, 2025, 7:33pm UTC](https://meta.discourse.org/t/end-to-end-system-testing-for-themes-and-theme-components/281579 "2025-01-02T19:33:09Z")

</div>

Writing automated tests for themes is an important part of the theme development process which can help ensure that the features being introduced by a theme continues to work well overtime with core Discourse features. …

---

## [Helper - Smart dates](https://meta.discourse.org/t/helper-smart-dates/344984)

<div class="topic-metadata">

**Author:** [@Saif](https://meta.discourse.org/u/Saif)\
**Replies:** 1\
**Last updated:** [December 31, 2024, 3:18am UTC](https://meta.discourse.org/t/helper-smart-dates/344984 "2024-12-31T03:18:48Z")

</div>

:bookmark: This guide explains how to enable and configure Smart dates, which is part of the Helper feature of Discourse AI plugin. :person\_raising\_hand: Required user level: Administrator Smart dates allow the conve…

---

## [Enabling Zendesk two-way synchronization](https://meta.discourse.org/t/enabling-zendesk-two-way-synchronization/177412)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [December 26, 2024, 10:24pm UTC](https://meta.discourse.org/t/enabling-zendesk-two-way-synchronization/177412 "2024-12-26T22:24:33Z")

</div>

Summary In this documentation, we will cover: Enabling Zendesk synchronization settings in Discourse Configuring a Zendesk webhook Setting up a Zendesk trigger Enabling Zendesk synchronization settings To begin, you…

---

## [How do I install a custom theme on my Discourse instance?](https://meta.discourse.org/t/how-do-i-install-a-custom-theme-on-my-discourse-instance/306418)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 1, 2024, 11:52pm UTC](https://meta.discourse.org/t/how-do-i-install-a-custom-theme-on-my-discourse-instance/306418 "2024-05-01T23:52:28Z")

</div>

:bookmark: This guide explains how to install and manage custom themes on your Discourse site. :person\_raising\_hand: Required user level: Administrator Theme availability Custom themes are available to all Discourse…

---

## [Logout all users through the rails console](https://meta.discourse.org/t/logout-all-users-through-the-rails-console/93239)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [July 26, 2018, 10:13pm UTC](https://meta.discourse.org/t/logout-all-users-through-the-rails-console/93239 "2018-07-26T22:13:01Z")

</div>

To logout all users, enter the rails console and then run UserAuthToken.destroy\_all Last edited by @JammyDodger 2024-05-25T11:35:07Z (UTC) ▶ Check document

---

## [Fetch All Posts from a Topic Using the API](https://meta.discourse.org/t/fetch-all-posts-from-a-topic-using-the-api/260886)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [December 17, 2024, 2:58am UTC](https://meta.discourse.org/t/fetch-all-posts-from-a-topic-using-the-api/260886 "2024-12-17T02:58:50Z")

</div>

:notebook\_with\_decorative\_cover: This is a how-to guide explaining how to fetch all posts from a topic using the Discourse API The results returned by the Discourse API for many routes are paginated. For example, the…

---

## [Add users to a group based on their email domain](https://meta.discourse.org/t/add-users-to-a-group-based-on-their-email-domain/132875)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 3\
**Last updated:** [December 16, 2024, 7:03am UTC](https://meta.discourse.org/t/add-users-to-a-group-based-on-their-email-domain/132875 "2024-12-16T07:03:57Z")

</div>

:bookmark: This guide explains how to automatically add users to a Discourse group based on their email domain. It is intended for site administrators who manage Discourse groups. :person\_raising\_hand: Required user le…

---

## [Using query strings to filter topic views](https://meta.discourse.org/t/using-query-strings-to-filter-topic-views/248224)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 9\
**Last updated:** [December 12, 2024, 3:26pm UTC](https://meta.discourse.org/t/using-query-strings-to-filter-topic-views/248224 "2024-12-12T15:26:32Z")

</div>

:bookmark: This guide explains how to use query strings to get custom filtered topic views on any Discourse site. Query strings can be used by all users to view specific lists of topics, create custom links to unique to…

---

## [Configuring OpenRouter language models](https://meta.discourse.org/t/configuring-openrouter-language-models/341526)

<div class="topic-metadata">

**Author:** [@sam](https://meta.discourse.org/u/sam)\
**Replies:** 0\
**Last updated:** [December 10, 2024, 6:23am UTC](https://meta.discourse.org/t/configuring-openrouter-language-models/341526 "2024-12-10T06:23:35Z")

</div>

:bookmark: This guide explains how to configure API keys for OpenRouter to enable Discourse AI features that require 3rd party LLM keys. :person\_raising\_hand: Required user level: Administrator In this guide, we’ll c…

[Previous page](https://meta.discourse.org/c/documentation/10.md?page=11)

[Next page](https://meta.discourse.org/c/documentation/10.md?page=13)
