MediaWiki:Common

From OniGalore
Revision as of 01:29, 3 August 2017 by Iritscen (talk | contribs) (→‎Common.css: forgot to update this for the icon customizations and BSL popups)
Jump to navigation Jump to search

The purpose of MediaWiki:Common.css and MediaWiki:Common.js is to augment the MediaWiki CSS and JS code in a way that is effective for all users. Note that changes to MediaWiki:Vector.css and MediaWiki:Vector.js override these general changes for anyone using the default Vector skin. On top of that come any changes made to users' local vector.css and vector.js pages.

Common.css

  • Common.css mainly contains fixes for annoying glitches in MediaWiki's appearance or behavior, and minor style tweaks (these are all more or less borrowed from Wikipedia).
  • There are also various classes declared here for standard additions to the wiki, such as:
  • There's also a modified fix brought over from WP for the annoyingly small text MediaWiki uses for monospaced fonts, which show up when you use <code>, <tt>, and <pre> tags.
  • Next are several icon customizations:
    • A custom external link arrow is defined; it's the original arrow minus the box element, making it visually less cluttered and easier to read.
    • External links which use HTTPS are modified to use the same arrow as HTTP links instead of the distracting and unnecessary padlock icon.
    • Interwiki links get a sideward-pointing arrow to show that they point to a fellow wiki.
    • Links formatted as if they're external, but which point back to this wiki, get a looping arrow like this.
  • Finally, the styling is defined for the popup windows provided by XEB for creating BSL variable and function pages.

Common.js

  • Common.js allows for a user to add an "&withJS=MediaWiki:__.js" to a URL in order to view that page with a custom JS file that normally does not load for you (untested, so this documentation may be incorrect).
  • More fixes for Internet Explorer.
  • Then we set up hasClass(), which is used by various subsequent code.
  • Hover tables are added next, which can display a description of the table cell being pointed to. They are demonstrated, in their unfinished state, here.
  • Next is an even more unfinished feature called hover GIFs, which are GIFs that only animate when hovered over. It accomplishes this by swapping a still image with a GIF. However, this method does not work as written because it merely changes the suffix of an image between .gif and .jpg; since images are stored in various "random" sub-directories on the server, the entire path for both images would be needed in order to perform a successful swap. These paths could be supplied using an approach similar to the hover table class "hovertable_descrip", if one was determined to make this feature work.
  • The next code uses the NavFrame class from Common.css to create the collapsible tables that divhide boxes use.
  • A function called ModifySidebar() is made available for customizing the items listed in the sections on the left of all wiki pages. See Iritscen's custom JS page for a sample usage.
    • Parameter 1: The string "add", "remove", or "sep" (which adds a separator line, however the line is currently not displaying for some reason).
    • Parameter 2: The name of the section; "navigation", "languages" (not displayed on this wiki), or "toolbox".
    • Parameter 3: The display name of the URL you will be adding.
    • Parameter 4: The full URL of the wiki page to add (this should allow the adding of external links as well).
  • Next are an untested fix for table sorting and a tweak to the Upload page for unregistered users (does this do anything?).
  • Finally, there is code to allow the creation of tables that automatically sort themselves by a given column when the page is loaded. First, the table must be declared with the class "wikitable". Next, as part of the same class declaration, you must also add in "sortable" to enable the MediaWiki feature where each column has an arrow that can be clicked to sort that column. Now that you've declared both those classes, add the third class "autosort" to trigger the feature added by this code. By default, the table will be sorted by column 1, but you can specify another column by declaring a fourth class, "by-column-x", where 'x' is a number from 1 to 9. See BSL:List for a sample usage of this feature.