Discourse BBCode Tabs Plugin

Download nodeloc/discourse-bbcode-tabs

Demo (重发)【测试留档】tianlicloud 香港精品 - 评测 | Review - Nodeloc

Demo Image

Discourse BBCode Tabs Plugin

This plugin adds support for tabbed content in Discourse posts using BBCode syntax. It allows users to create multiple tabs with different content that can be switched between without reloading the page.

Features

  • Create tabbed interfaces in posts using simple BBCode syntax

  • Full markdown support inside tabs

  • Tabs work with both light and dark themes

  • Responsive design for mobile devices

  • Keyboard navigation (arrow keys) between tabs

  • Tab selection is remembered between page loads

Installation

Follow the plugin installation guide:


cd /var/discourse

git clone https://github.com/nodeloc/discourse-bbcode-tabs.git plugins/discourse-bbcode-tabs

./launcher rebuild app

Settings

This plugin provides several site settings that can be configured in the Discourse admin interface under Plugins > BBCode Tabs:

  • bbcode_tabs_enabled: Enable or disable the BBCode Tabs plugin (default: true)

  • bbcode_tabs_first_tab_active: Automatically select the first tab by default (default: true)

  • bbcode_tabs_remember_selection: Remember tab selection between page loads (default: true)

Usage

You can add tabbed content to your posts using the following BBCode syntax:


[tabs]

[tab=Tab Title 1]

Content for tab 1

[/tab]

[tab=Tab Title 2]

Content for tab 2

[/tab]

[tab=Tab Title 3]

Content for tab 3

[/tab]

[/tabs]

The first tab will be selected by default.

Examples

Basic Example


[tabs]

[tab=一列]

在此填写你的文本,在此填写你的文本,在此填写你的文本,在此填写你的文本

[/tab]

[tab=二列]

在此填写你的文本,在此填写你的文本,在此填写你的文本,在此填写你的文本

[/tab]

[/tabs]

This will create two tabs labeled “一列” and “二列” with the specified content in each tab.

2 Likes

You can request to enter the plugin-authors group so that you can post this in the Plugin category.

1 Like

This is quite cool. I can definitely see a lot of value added

1 Like

Not

?


@cuo_wu You don’t need to clone the repo manually. You just need to add it to the app.yml file (also, the command is slightly wrong).


Nice plugin though! I can see many use cases for this.

1 Like

My mistake. :laughing:

2 Likes