Difference between revisions of "Configuration Options"

From Tweeki
Jump to: navigation, search
Line 13: Line 13:
 
=== Costum Bootstrap Files ===
 
=== Costum Bootstrap Files ===
  
  $wgTweekiSkinCustomizedBootstrap = array(
+
  $wgTweekiSkinCustomizedBootstrap = [
 
       'localBasePath' => __DIR__,
 
       'localBasePath' => __DIR__,
 
       'remoteExtPath' => 'MyExtension'
 
       'remoteExtPath' => 'MyExtension'
       );
+
       ];
  
 
Use this in your own extension to use your own customized bootstrap files. For details see this [[How-Tos#Completely_replace_bootstrap_files_with_customized_versions|How-To]].
 
Use this in your own extension to use your own customized bootstrap files. For details see this [[How-Tos#Completely_replace_bootstrap_files_with_customized_versions|How-To]].

Revision as of 19:51, 5 April 2020

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

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.

Grids

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 = array( 
 "mainoffset" => 1, 
 "mainwidth" => 10 
); 
Offset and width for the main content if no sidebars are shown.

Left Sidebar

left sidebar
main content
$wgTweekiSkinGridLeft = array( 
 "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 = array( 
 "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 = array( 
 "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.

Navigation

Special Navigational Elements

Navigational Elements

$wgTweekiSkinNavigationalElements = array();
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 = array( 
  '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 = array( '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 = array( '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 = array( 'subnav' => true, 'PERSONAL' => true, 'TOOLBOX' => true );
Elements in this array will be hidden for users who are NOT logged in.
$wgTweekiSkinHideLoggedin = array( 'footer-custom' => true );
Elements in this array will be hidden for users who ARE logged in.
$wgTweekiSkinHideNonAdvanced = array( 'EDIT-EXT-special' => true );
Elements in this array will only be shown to users who have chosen in their preferences to show "advanced features".
$wgTweekiSkinHideExcept
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)

Footer

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

Miscellaneous

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.).

Tooltips

$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.