Configuration Options

From Tweeki
Revision as of 09:31, 3 January 2021 by Thai (talk | contribs) (→‎Use Real Names for Users)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Here you can find all options (and their defaults) that can be set in LocalSettings.php (after the inclusion of Tweeki.php):

Bootstrap 4

$wgTweekiSkinUseBootstrap4 = false;
Set this variable to true if you want to use Boostrap 4 instead of Bootstrap 3. Note that there are changes in the markup! v1.2.0+

Page Layout

$wgTweekiSkinPageRenderer = 'self::renderPage';
Use this variable to change the default page layout. Replace the value with the name of a custom function - use TweekiTemplate::renderPage() in includes/TweekiTemplate.php as a template to build your own layout.
$wgTweekiSkinPageRenderer = 'MyHooks::myPageRenderer';
public static function myPageRenderer( $skin ) { ... }

Costum Bootstrap Files

$wgTweekiSkinCustomizedBootstrap = [
      'localBasePath' => __DIR__,
      'remoteExtPath' => 'MyExtension'
Use this in your own extension to use your own customized bootstrap files. For details see this How-To.

Custom CSS

$wgTweekiSkinCustomCSS = [];
Add Resource Modules to this array. For details see this How-To.

Additional Body Classes

$wgTweekiSkinAdditionalBodyClasses = array();
Add your custom body classes. You can use the {{#tweekibodyclasses}} parser function to add classes per page or via a template call. And you can also use the SkinTweekiAdditionalBodyClasses hook.

Togglable Tabs On File Pages

$wgTweekiSkinImagePageTOCTabs = false;
Set to true, if you want file pages to be rendered as togglable tabs.


The widths and offsets for the main content and the sidebars can be adjusted, depending on how many sidebars (if any) are shown on a particular page:

No sidebars

main content
$wgTweekiSkinGridNone = [ 
 "mainoffset" => 1, 
 "mainwidth" => 10 
Offset and width for the main content if no sidebars are shown.

Left Sidebar

left sidebar
main content
$wgTweekiSkinGridLeft = [
 "leftoffset" => 0, 
 "leftwidth" => 3, 
 "mainoffset" => 0, 
 "mainwidth" => 9 
Offsets and widths for the left sidebar and the main content.

Right Sidebar

main content
right sidebar
$wgTweekiSkinGridRight = [
 "mainoffset" => 0, 
 "mainwidth" => 9, 
 "rightoffset" => 0, 
 "rightwidth" => 3 
Offsets and widths for the main content and the right sidebar.

Sidebars On Both Sides

left sidebar
main content
right sidebar
$wgTweekiSkinGridBoth = [
 "leftoffset" => 0, 
 "leftwidth" => 2, 
 "mainoffset" => 0, 
 "mainwidth" => 8, 
 "rightoffset" => 0, 
 "rightwidth" => 2 
Offsets and widths for the left sidebar, the main content and the right sidebar.


Special Navigational Elements

Navigational Elements

$wgTweekiSkinNavigationalElements = [];
Add to this array to create customized buttons, the array's key is the keyword for the navigational element to be used in navbars, subnav, sidebar, or footer, the value is the name of a callback function. This function will be called with the skin object as argument and should return either an array of buttons or a string that can be parsed as buttons.

Special Elements

$wgTweekiSkinSpecialElements = [
  'FIRSTHEADING' => 'self::renderFirstHeading', 
  'TOC' => 'self::renderTOC', 
  'SEARCH' => 'self::renderSearch', 
  'LOGO' => 'self::renderLogo', 
  'LOGIN-EXT' => 'self::renderLoginExt' 
Use this array to add completely arbitrary code into navbars, subnav, sidebar, or footer. The value again is a callback function you need to create. It will be called with two arguments, the skin object and the context as a string (navbar-left, navbar-right, subnav, sidebar, footer). The function should directly print the html you want to have. See this How-To for an example of how to use it.

Note that you can use both functions to overwrite the default output!

Hiding Page Elements

$wgTweekiSkinHideAll = [ 'footer-info' => true ];
This variable can be used to hide elements from everybody. The {{#tweekihide}} parser function will add to this array. Attention: Only hiding of elements that are also listed in $wgTweekiSkinHideable will actually be put into effect.
$wgTweekiSkinHideable = [ 'firstHeading' ];
In order to prevent abuse, only elements listed in this array are allowed to be hidden by the {{#tweekihide}} parser function. Add new elements with $wgTweekiSkinHideable[] = 'subnav';.
$wgTweekiSkinHideAnon = [ 'subnav' => true, 'PERSONAL' => true, 'TOOLBOX' => true ];
Elements in this array will be hidden for users who are NOT logged in.
$wgTweekiSkinHideLoggedin = [ 'footer-custom' => true ];
Elements in this array will be hidden for users who ARE logged in.
$wgTweekiSkinHideNonAdvanced = [ 'EDIT-EXT-special' => true ];
Elements in this array will only be shown to users who have chosen in their preferences to show "advanced features".
Use this to hide an element for everybody except those belonging to any of the groups specified. Usage: $wgTweekiSkinHideExcept[ELEMENT] = [GROUPS];, e.g. $wgTweekiSkinHideExcept['sidebar-right'] = ['sysop']; to show the right sidebar only to sysops (i.e. administrators)


$wgTweekiSkinFooterIcons = false;
If set to false, the icons in the footer will be replaced by text aquivalents.


Button Parsing

$wgTweekiSkinUseBtnParser = true;
Whether or not to parse the <btn>-Tag (see Buttons).

Font Awesome

$wgTweekiSkinUseAwesome = true;
Whether or not to include Font Awesome to allow the use of icons like this one: (<span class="fa fa-bus"></span>)

Bootstrap Theme

$wgTweekiSkinUseBootstrapTheme = true;
Whether or not to include the code for Bootstrap's theme (enhanced styling for buttons etc.).


$wgTweekiSkinUseTooltips = false;
Whether or not to use Bootstrap's tooltips for buttons using the data-toggle="tooltip" attribute.

Costum Edit Section Links

$wgTweekiSkinCustomEditSectionLink = true;
Whether or not to use customized edit section links. If true you can specify an icon, the text and css classes for the edit links placed next to section headings.

Use Star Icon for Watchlist

$wgTweekiSkinUseIconWatch = false;
Watch and unwatch as an icon rather than a link.

Use Real Names for Users

$wgTweekiSkinUseRealnames = false;
When displaying links to user pages, use their real name if they provide one instead of the user name.