Go to file
paladox 422c60a573
fix: optional parameter $args declared before required parameter $frame is implicitly treated as a required parameter" (#195)
* Fix "Optional parameter $args declared before required parameter $frame is implicitly treated as a required parameter"

> Deprecated: Optional parameter $args declared before required parameter $frame is implicitly treated as a required parameter in /srv/mediawiki/1.43/extensions/TabberNeue/includes/Tabber.php on line 78
> Deprecated: Optional parameter $args declared before required parameter $frame is implicitly treated as a required parameter in /srv/mediawiki/1.43/extensions/TabberNeue/includes/TabberTransclude.php on line 72

* Update TabberTransclude.php
2024-11-21 12:42:47 -05:00
.github ci(lint): sync workflow with current standard 2024-09-04 16:14:55 -04:00
.phan ci: set up composer 2021-06-21 19:55:06 -04:00
bin ci: set up composer 2021-06-21 19:55:06 -04:00
i18n Localisation updates from https://translatewiki.net. 2024-09-19 14:11:00 +02:00
includes fix: optional parameter $args declared before required parameter $frame is implicitly treated as a required parameter" (#195) 2024-11-21 12:42:47 -05:00
modules feat: drop Codex tabs 2024-11-19 16:04:26 -05:00
.eslintignore ci: setup ESlint and Stylelint 2021-06-21 14:35:54 -04:00
.eslintrc.json feat: rewrite Javascript implementation 2024-05-25 00:33:22 -04:00
.gitignore ci: setup ESlint and Stylelint 2021-06-21 14:35:54 -04:00
.phpcs.xml feat: initial refactor into TabberNeue 2021-06-21 13:49:47 -04:00
.release-please-manifest.json build: release 2.7.0 (#192) 2024-11-19 16:26:27 -05:00
.stylelintrc.json feat: separate indicator from active tab 2022-10-21 18:01:48 -04:00
CHANGELOG.md build: release 2.7.0 (#192) 2024-11-19 16:26:27 -05:00
CODE_OF_CONDUCT.md ci: set up composer 2021-06-21 19:55:06 -04:00
composer.json chore: set installer-name for composer 2024-11-17 17:49:17 -05:00
extension.json build: release 2.7.0 (#192) 2024-11-19 16:26:27 -05:00
LICENSE Add license and update author field. 2015-03-10 16:01:41 -05:00
package-lock.json ci: 👷 lint code to MediaWiki standards 2024-11-19 21:05:00 +00:00
package.json feat: drop Codex tabs 2024-11-19 16:04:26 -05:00
README.md docs: add note on custom ID and classes 2024-11-19 16:24:39 -05:00
release-please-config.json chore: add missing release-please files 2024-05-25 18:41:41 -04:00

TabberNeue

The TabberNeue extension allows wikis to create tabs within a page. It is a forked and rewritten version of Extension:Tabber. It includes multiple improvements such as page transclusion, responsive layout support, ARIA support, and conform to Wikimedia UI. TabberNeue is a complete replacement of Tabber, please disable or remove Tabber before enabling TabberNeue.

Extension:TabberNeue on MediaWiki.

Requirements

Installation

You can get the extension via Git (specifying TabberNeue as the destination directory):

git clone https://github.com/StarCitizenTools/mediawiki-extensions-TabberNeue.git TabberNeue

Or download it as zip archive.

In either case, the "TabberNeue" extension should end up in the "extensions" directory of your MediaWiki installation. If you got the zip archive, you will need to put it into a directory called TabberNeue.

Usage

TabberNeue uses the exact same syntax as Tabber.

Simple tabbers

Tabs are created with tabName=tabBody, and separated by |-|. You can use any wikitext within your tabs, including templates and images.

<tabber>
|-|First Tab Title=
First tab content goes here.
|-|Second Tab Title=
Second tab content goes here.
|-|Third Tab Title=
Third tab content goes here.
</tabber>

Nested tabbers

Nested tabbers need to be written as parser functions. Instead of the <tabber/> tags, they are wrapped with {{#tag:tabber|}} and separated by {{!}}-{{!}}. It is useful when creating nested tabber.

<tabber>
|-|First Tab Title=
{{#tag:tabber|
Tab Title A=
Tab content A goes here.
{{!}}-{{!}}
Tab Title B=
Tab content B goes here.
{{!}}-{{!}}
Tab Title C=
Tab content C goes here.
}}
|-|Second Tab Title=
{{#tag:tabber|
Tab Title D=
Tab content D goes here.
{{!}}-{{!}}
Tab Title E=
Tab content E goes here.
{{!}}-{{!}}
Tab Title F=
Tab content F goes here.
}}
|-|Third Tab Title=
{{#tag:tabber|
Tab Title G=
Tab content G goes here.
{{!}}-{{!}}
Tab Title H=
Tab content H goes here.
{{!}}-{{!}}
Tab Title I=
Tab content I goes here.
}}
</tabber>

Transclusion

With the transclusion mode, the syntax is different, and it's more similar to <gallery> syntax.

The contents of the page of the first tab will be transcluded. Other tabs will be transcluded on-demand with AJAX, performing a request to the MediaWiki api. Once requested, they won't be fetched again until the page is reloaded. Note that Tabbers on the transcluded page will not be rendered.

Tabs are created with pageName|tabName, and separated by a new line.

<tabbertransclude>
First Page Name|First Tab Title
Second Page Name|Second Tab Title
Third Page Name|Third Tab Title
</tabbertransclude>

Custom IDs and class

You can configure the ID and class of the tabber element

<tabber id="very-awesome-tabber" class="awesome-tabber">
|-|Awesome Tab Title 1=
Awesome first tab content goes here.
|-|Awesome Tab Title 2=
Awesome second tab content goes here.
|-|Awesome Tab Title 3=
Awesome third tab content goes here.
</tabber>

Configurations

Name Description Values Default
$wgTabberNeueEnableAnimation Enable or disable smooth scroll animation true - enable; false - disable true
$wgTabberNeueParseTabName Parse tab name as wikitext. This can have a performance impact and cause unexpected behaviors. true - enable; false - disable false
$wgTabberNeueUpdateLocationOnTabChange If enabled, when a tab is selected, the URL displayed on the browser changes. Opening this URL makes that tab initially selected true - enable; false - disable true
$wgTabberNeueUseLegacyTabIds If enabled, tabpanel IDs will not be prepended with "tabber-tabpanel-". This provides better compatibility with the old Tabber extension, but will cause issues if there are headings with the same name as an existing tab true - enable; false - disable false

Tracking category

TabberNeue adds a tracking category to all pages using Tabber for maintenance purposes. There are two ways to suppress the category from viewers:

  1. Hide the categories by putting __HIDDENCAT__ in the category page
  2. Remove the categories by creating the following pages and empty the page:
MediaWiki:Tabberneue-tabber-category
MediaWiki:Tabberneue-tabbertransclude-category