# Latest

**URL:** https://meta.discourse.org/latest.md?page=7&status=created

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

**Page:** 8

---

## [Fix issue of TOC plug disappear](https://meta.discourse.org/t/fix-issue-of-toc-plug-disappear/414418)

<div class="topic-metadata">

**Author:** [@bck055](https://meta.discourse.org/u/bck055)\
**Replies:** 7\
**Last updated:** [October 11, 2026, 9:19am UTC](https://meta.discourse.org/t/fix-issue-of-toc-plug-disappear/414418 "2026-10-11T09:19:05Z")

</div>

Hello, After upgrade the dicource, the plugin of Automatic TOC was disappear all topics. Could you advise to fix it of theme “Horizon”?

---

## [What are the most basic but reliable ways to ensure a Discourse forum can always be recovered?](https://meta.discourse.org/t/what-are-the-most-basic-but-reliable-ways-to-ensure-a-discourse-forum-can-always-be-recovered/413848)

<div class="topic-metadata">

**Author:** [@Canapin](https://meta.discourse.org/u/Canapin)\
**Replies:** 11\
**Last updated:** [October 11, 2026, 8:22am UTC](https://meta.discourse.org/t/what-are-the-most-basic-but-reliable-ways-to-ensure-a-discourse-forum-can-always-be-recovered/413848 "2026-10-11T08:22:59Z")

</div>

Over the years I’ve helped friends hosting their own forum. I’ve made them rent a Hetzner server, set up automated backups on Discourse, and I sync them to my Google Drive with rclone and a cron task. Each admin of each…

---

## [iOS image upload problems](https://meta.discourse.org/t/ios-image-upload-problems/414446)

<div class="topic-metadata">

**Author:** [@rlauriston](https://meta.discourse.org/u/rlauriston)\
**Replies:** 1\
**Last updated:** [October 11, 2026, 3:17am UTC](https://meta.discourse.org/t/ios-image-upload-problems/414446 "2026-10-11T03:17:00Z")

</div>

Users reporting problems.

---

## [Invite users to a group](https://meta.discourse.org/t/invite-users-to-a-group/15544)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 3\
**Last updated:** [October 10, 2026, 9:43pm UTC](https://meta.discourse.org/t/invite-users-to-a-group/15544 "2026-10-10T21:43:00Z")

</div>

:bookmark: This guide explains how to invite users to a group in your Discourse community, covering methods for administrators, group owners, and moderators with specific permissions. :person\_raising\_hand: Required use…

---

## [Embed Discourse as a full comment system on your site](https://meta.discourse.org/t/embed-discourse-as-a-full-comment-system-on-your-site/399743)

<div class="topic-metadata">

**Author:** [@Falco](https://meta.discourse.org/u/Falco)\
**Replies:** 27\
**Last updated:** [October 10, 2026, 5:04pm UTC](https://meta.discourse.org/t/embed-discourse-as-a-full-comment-system-on-your-site/399743 "2026-10-10T17:04:43Z")

</div>

Discourse’s embedding system lets you show topic comments on external sites via an iframe — but until now, the experience was read-only. Visitors had to click through to your Discourse site to reply, like, or interact wi…

---

## [Discourse on WSL attempting to use /var/lib/docker instead of connecting to Docker Desktop on host](https://meta.discourse.org/t/discourse-on-wsl-attempting-to-use-var-lib-docker-instead-of-connecting-to-docker-desktop-on-host/414410)

<div class="topic-metadata">

**Author:** [@raadtotheraad](https://meta.discourse.org/u/raadtotheraad)\
**Replies:** 5\
**Last updated:** [October 10, 2026, 2:51pm UTC](https://meta.discourse.org/t/discourse-on-wsl-attempting-to-use-var-lib-docker-instead-of-connecting-to-docker-desktop-on-host/414410 "2026-10-10T14:51:25Z")

</div>

Okay, so my instance has been working really well after using the tutorial where you can actually finally run Discourse on a residential network. Im using WSL to get the Linux stuff sorted, and the instance is mostly fo…

---

## [Resenha - Add Discord-style Video and Voice Rooms and Calls to Your Community 🎙](https://meta.discourse.org/t/resenha-add-discord-style-video-and-voice-rooms-and-calls-to-your-community/389056)

<div class="topic-metadata">

**Author:** [@Falco](https://meta.discourse.org/u/Falco)\
**Replies:** 83\
**Last updated:** [October 10, 2026, 12:28pm UTC](https://meta.discourse.org/t/resenha-add-discord-style-video-and-voice-rooms-and-calls-to-your-community/389056 "2026-10-10T12:28:41Z")

</div>

IMPORTANT: As of 1st of September 2026, this is now a bundled plugin in Discourse core, and renamed to “Voice”. You now just need to enable it from the admin page. As of 2026-10-20 it is now called “Live” in core. Hey…

---

## [Make ActivityPub handles clickable in posts](https://meta.discourse.org/t/make-activitypub-handles-clickable-in-posts/414351)

<div class="topic-metadata">

**Author:** [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)\
**Replies:** 3\
**Last updated:** [October 10, 2026, 5:47am UTC](https://meta.discourse.org/t/make-activitypub-handles-clickable-in-posts/414351 "2026-10-10T05:47:37Z")

</div>

In some communities I am in, I am noticing that people are starting to refer to ActivityPub handles in posts, but unfortunately these appear like this: @fediforum@mastodon.social They are not clickable, which means if …

---

## [Change icons globally](https://meta.discourse.org/t/change-icons-globally/87751)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 26\
**Last updated:** [October 5, 2025, 1:10pm UTC](https://meta.discourse.org/t/change-icons-globally/87751 "2025-10-05T13:10:20Z")

</div>

This is an easy way to change a Discourse icon globally. Right click on the icon you want to change and select “Inspect element” or “Inspect” (depends on the browser) Find the icon name Search a new icon here…

---

## [Message Format support for localization](https://meta.discourse.org/t/message-format-support-for-localization/7035)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [May 31, 2013, 1:17am UTC](https://meta.discourse.org/t/message-format-support-for-localization/7035 "2013-05-31T01:17:09Z")

</div>

Guidelines for Translators In Discourse all Message Format strings have a key that ends with “\_MF”. The Crowdin Editor has a preview that allows you to experiment with various values which is quite helpful for checking y…

---

## [Add custom content that only appears on your homepage](https://meta.discourse.org/t/add-custom-content-that-only-appears-on-your-homepage/131415)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [February 29, 2024, 3:04pm UTC](https://meta.discourse.org/t/add-custom-content-that-only-appears-on-your-homepage/131415 "2024-02-29T15:04:44Z")

</div>

A very common situation you’ll find yourself in as a theme developer is the need to create content that only shows on the homepage of your community. You might add some HTML to the “After Header” section of your theme, …

---

## [Create and share a font theme component](https://meta.discourse.org/t/create-and-share-a-font-theme-component/62462)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 4\
**Last updated:** [August 19, 2025, 10:34pm UTC](https://meta.discourse.org/t/create-and-share-a-font-theme-component/62462 "2025-08-19T22:34:35Z")

</div>

Discourse supports importing themes containing assets from a remote repository. This allows theme authors to share fonts and images. Create a new git repository with the font mkdir discourse-roboto-theme cd discourse-r…

---

## [Insert text or images anywhere on your site using CSS pseudo-elements](https://meta.discourse.org/t/insert-text-or-images-anywhere-on-your-site-using-css-pseudo-elements/99200)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [October 11, 2018, 11:12am UTC](https://meta.discourse.org/t/insert-text-or-images-anywhere-on-your-site-using-css-pseudo-elements/99200 "2018-10-11T11:12:34Z")

</div>

So, you want to insert some text or image in your Discourse site. Regarding the text in most cases it is sufficient to modify it from /admin/customize/site\_texts. Sometimes, however, it is our desire to add a sentence …

---

## [Replace Discourse's default SVG icons with custom icons in a theme](https://meta.discourse.org/t/replace-discourses-default-svg-icons-with-custom-icons-in-a-theme/115736)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [February 24, 2026, 9:24pm UTC](https://meta.discourse.org/t/replace-discourses-default-svg-icons-with-custom-icons-in-a-theme/115736 "2026-02-24T21:24:39Z")

</div>

You can replace a Discourse’s default SVG icons individually or as a whole with your own custom SVG and override them within a theme or theme component. Step 1 - Create an SVG Spritesheet To get started, you must create…

---

## [Include assets (e.g. images, fonts) in themes and components](https://meta.discourse.org/t/include-assets-e-g-images-fonts-in-themes-and-components/62459)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 1\
**Last updated:** [August 23, 2024, 2:04am UTC](https://meta.discourse.org/t/include-assets-e-g-images-fonts-in-themes-and-components/62459 "2024-08-23T02:04:48Z")

</div>

Themes and theme components allow you to handle uploaded assets such as images and fonts. You can control what assets your theme accepts using the site setting: theme authorized extensions Including assets in themes and…

---

## [Add localizable strings to themes and theme components](https://meta.discourse.org/t/add-localizable-strings-to-themes-and-theme-components/109867)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 22\
**Last updated:** [August 9, 2024, 7:58pm UTC](https://meta.discourse.org/t/add-localizable-strings-to-themes-and-theme-components/109867 "2024-08-09T19:58:55Z")

</div>

For those looking to add custom languages and translations to a Discourse theme or theme component, they can now include localised strings, which are made available for use in UI components. Translations are stored in th…

---

## [Use Discourse Core Variables in your Theme](https://meta.discourse.org/t/use-discourse-core-variables-in-your-theme/77551)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [January 9, 2018, 4:55am UTC](https://meta.discourse.org/t/use-discourse-core-variables-in-your-theme/77551 "2018-01-09T04:55:37Z")

</div>

Discourse is incredibly customizable! The goal of this topic is to show you how make use of all the amazing options that are available to you as a theme developer. You know… so that you don’t have to reinvent the wheel …

---

## [Structure of themes and theme components](https://meta.discourse.org/t/structure-of-themes-and-theme-components/60848)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [April 12, 2017, 3:41pm UTC](https://meta.discourse.org/t/structure-of-themes-and-theme-components/60848 "2017-04-12T15:41:30Z")

</div>

Discourse supports native themes that can be sourced from a .tar.gz archive or from a remote git repository including private repositories. An example theme is at: GitHub - discourse/discourse-simple-theme: Sam's sim…

---

## [Private modules and the \`-internals\` convention](https://meta.discourse.org/t/private-modules-and-the-internals-convention/414400)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**Replies:** 0\
**Last updated:** [October 9, 2026, 7:23pm UTC](https://meta.discourse.org/t/private-modules-and-the-internals-convention/414400 "2026-10-09T19:23:12Z")

</div>

What -internals means A folder named -internals holds code that is not public API. It may be renamed, reshaped or deleted without notice or a deprecation cycle. Plugins and themes must never depend on it. Only the fol…

---

## [Install the Discourse Theme CLI console app to help you build themes](https://meta.discourse.org/t/install-the-discourse-theme-cli-console-app-to-help-you-build-themes/82950)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 16\
**Last updated:** [July 30, 2026, 8:47am UTC](https://meta.discourse.org/t/install-the-discourse-theme-cli-console-app-to-help-you-build-themes/82950 "2026-07-30T08:47:18Z")

</div>

The Discourse Theme CLI is a ruby gem that allows you to use your editor of choice when developing Discourse themes and theme components. As you save files the CLI will update the remote theme or component and changes t…

---

## [Get started with Theme Creator and the Theme CLI](https://meta.discourse.org/t/get-started-with-theme-creator-and-the-theme-cli/108444)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 8\
**Last updated:** [May 7, 2026, 2:04pm UTC](https://meta.discourse.org/t/get-started-with-theme-creator-and-the-theme-cli/108444 "2026-05-07T14:04:22Z")

</div>

This topic will walk you through how to use the Theme CLI with our Theme Creator site to develop a theme and preview your changes on a live Discourse site. Sign up for an account here on Meta if you haven’t already …

---

## [Designer's Guide to getting started with themes in Discourse](https://meta.discourse.org/t/designers-guide-to-getting-started-with-themes-in-discourse/152002)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 9\
**Last updated:** [April 8, 2024, 9:32pm UTC](https://meta.discourse.org/t/designers-guide-to-getting-started-with-themes-in-discourse/152002 "2024-04-08T21:32:15Z")

</div>

So you’re interested in in designing your own theme for Discourse? You’ve arrived at the right topic :smile: This guide will be more focused on the SCSS/CSS aspects of working with themes in Discourse. If you are also k…

---

## [Developing Discourse Plugins - Part 6 - Add acceptance tests](https://meta.discourse.org/t/developing-discourse-plugins-part-6-add-acceptance-tests/32619)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 32\
**Last updated:** [June 2, 2022, 11:06am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-6-add-acceptance-tests/32619 "2022-06-02T11:06:38Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 5 - Add an admin interface Did you know that Discourse has two large test suites for its code base? On the server side, our Ruby code has a test suite that uses rs…

---

## [Developing Discourse Plugins - Part 5 - Add an admin interface](https://meta.discourse.org/t/developing-discourse-plugins-part-5-add-an-admin-interface/31761)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 46\
**Last updated:** [September 24, 2024, 11:10am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-5-add-an-admin-interface/31761 "2024-09-24T11:10:58Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 4 - Setup git Sometimes site settings aren’t enough of an admin interface for your plugin to work the way you want. For example, if you install the discourse-akism…

---

## [Developing Discourse Plugins - Part 4 - Setup git](https://meta.discourse.org/t/developing-discourse-plugins-part-4-setup-git/31272)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 10\
**Last updated:** [January 30, 2024, 11:12am UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-4-setup-git/31272 "2024-01-30T11:12:28Z")

</div>

Previous tutorial: Developing Discourse Plugins - Part 3 - Add custom site settings Now that your plugin is getting more sophisticated, it’s time to get more sophisticated about how you develop it. We suggest that you…

---

## [Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 32\
**Last updated:** [July 8, 2025, 8:52pm UTC](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515 "2025-07-08T20:52:10Z")

</div>

Building a plugin in Discourse can be really simple, once you learn a couple of quirks. The goal of this post is to create a skeleton plugin and introduce you to the basics. Your development environment Make sure you ha…

---

## [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)\
**Replies:** 3\
**Last updated:** [August 28, 2025, 2:51pm 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…

---

## [Using the DModal API to render Modal windows (aka popups/dialogs) in Discourse](https://meta.discourse.org/t/using-the-dmodal-api-to-render-modal-windows-aka-popups-dialogs-in-discourse/268304)

<div class="topic-metadata">

**Author:** [@Discourse](https://meta.discourse.org/u/Discourse)\
**Replies:** 0\
**Last updated:** [July 3, 2023, 9:52am UTC](https://meta.discourse.org/t/using-the-dmodal-api-to-render-modal-windows-aka-popups-dialogs-in-discourse/268304 "2023-07-03T09:52:06Z")

</div>

Discourse 3.1.0.beta6 ships with a brand new \<DModal\> component-based API. DModal is part of the UI kit and is imported from discourse/ui-kit/d-modal. :information\_source: This supersedes the old controller-based API, …

---

## [Setup Continuous Integration using 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)\
**Replies:** 8\
**Last updated:** [March 3, 2025, 9:12am UTC](https://meta.discourse.org/t/setup-continuous-integration-using-github-actions/240150 "2025-03-03T09:12:26Z")

</div>

:mag: Overview To build a robust extension for Discourse, it can be wise to include Continuous Integration (CI) into your plugin or theme-component. This will help to detect errors early on and lessen the chances of bugs…

---

## [Developing Discourse on GitHub Codespaces](https://meta.discourse.org/t/developing-discourse-on-github-codespaces/336131)

<div class="topic-metadata">

**Author:** [@system](https://meta.discourse.org/u/system)\
**Replies:** 14\
**Last updated:** [September 9, 2025, 1:50pm UTC](https://meta.discourse.org/t/developing-discourse-on-github-codespaces/336131 "2025-09-09T13:50:26Z")

</div>

GitHub Codespaces is a very fast way to get started with Discourse development. Their free tier is good for 30 hours per month of a 4-core machine. Getting Started Navigate to the github repository Press the , (com…

[Previous page](https://meta.discourse.org/latest.md?page=6&status=created)

[Next page](https://meta.discourse.org/latest.md?page=8&status=created)
