Extension:Bootstrap

PW
The Professional Wiki team maintains this extension professionally.
Professional Wiki provides official support for MediaWiki LTS releases only. It may work with other MediaWiki releases.
Category:Extensions by Professional Wiki Category:Extensions without an imageCategory:GPL licensed extensions
MediaWiki extensions manual
Bootstrap
Release status: stableCategory:Stable extensions
Implementation Skin Category:Skin extensions
Description Provides the Bootstrap 4 web front-end framework
Author(s) Stephan Gambke (F.trotttalk)
Maintainer(s) Professional Wiki
Latest version 5.0.0 (2024-04-26)
Compatibility policy For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension.Category:Extensions with long-term support release branches compatibility policy
MediaWiki 1.39+Category:Extensions with manual MediaWiki version
PHP 8.0+
Database changes No
Composer mediawiki/bootstrapCategory:Extensions supporting Composer
License GNU General Public License 3.0 or later
Download Category:Extensions in GitHub version control
README on GitHub
Changelog on GitHub
Category:All extensions

The Bootstrap extension provides the Bootstrap 4 (documentation) web front-end framework to MediaWiki. It can be activated directly or used from skins or extensions.

Installation

See the installation instructions for information on how to install this extension.

Usage

Within a skin

Use \Bootstrap\BootstrapManager::getInstance() to get the singleton managing the Bootstrap framework.

With the returned object:

  • add Bootstrap modules using addBootstrapModule(), addCoreBootstrapModules(), and addAllBootstrapModules()
  • set SCSS variables using setScssVariable() and setScssVariables()
  • add style files using addStyleFile()
  • add cache trigger files using addCacheTriggerFile()

Finally, to add the Bootstrap styles and javascript to the page, use $out->addModuleStyles( 'ext.bootstrap.styles' ) for styles and $out->addModules( 'ext.bootstrap.scripts' ) for scripts.

For an example of how to include Bootstrap styles in a skin, have a look at the Chameleon skin.

Standalone

To enable Bootstrap styles on all pages, add the following code to your "LocalSettings.php" file:

$wgHooks['SetupAfterCache'][] = function(){
	\Bootstrap\BootstrapManager::getInstance()->addAllBootstrapModules();
	return true;
};

$wgHooks['ParserAfterParse'][]=function( Parser &$parser, &$text, StripState &$stripState ){
	$parser->getOutput()->addModuleStyles( ['ext.bootstrap.styles'] );
	$parser->getOutput()->addModules( ['ext.bootstrap.scripts'] );
	return true;
};

Known issues

Effect on Universal Language Selector

If you have the Universal Language Selector (ULS) extension installed, installing the Bootstrap extension will make the ULS's dropdown-menu look disordered and break its search bar (screenshot on GitHub). However, this can be fixed by adding the following code to MediaWiki:Common.css:

.uls-language-list {
        display: block;
}

.uls-search {
        display: block;
}

See also

Websites
Skins and Extensions
  • the Chameleon skin that uses this extension
  • the Medik skin that also uses Bootstrap
  • the BootstrapComponents extension that uses this extension and lets editors utilize its potential inside wiki markup
Blog post
Category:All extensions Category:Extensions by Professional Wiki Category:Extensions in GitHub version control Category:Extensions included in BlueSpice Category:Extensions included in Canasta Category:Extensions included in Miraheze Category:Extensions included in MyWikis Category:Extensions included in ProWiki Category:Extensions included in WikiForge Category:Extensions included in semantic::core Category:Extensions supporting Composer Category:Extensions with long-term support release branches compatibility policy Category:Extensions with manual MediaWiki version Category:Extensions without an image Category:GPL licensed extensions Category:SetupAfterCache extensions Category:Skin extensions Category:Stable extensions