Extension:JSBreadCrumbs

The JSBreadCrumbs extension is a simple extension that adds a jQuery-based JavaScript file and a CSS file to your wiki's output that will add a trail of navigation bread crumbs below the navigation tabs. The idea is for a simpler history than your back button that only tracks navigation inside of the wiki. Unlike the browser's back button, it will only track GET requests, not POSTs, and will remove duplicate entries from the list.

Supports multiple MediaWiki skins including Vector, MonoBook, Foreground and Chameleon. Except for Vector vertical bread crumbs are not supported.

Configuration parameters
There are four configuration parameters that may be specified in "LocalSettings.php":

User Preference Options
In addition, there are 8 user preference options. These have default values that can be overridden in LocalSettings.php (see below). Users can then override those default values by visiting  and editing them on the   tab. The user preference options are:

To override the default value of a user preference option, you can put code similar to the code below in your "LocalSettings.php". That is, with this code in "LocalSettings.php", the value of  used for a user if they do not edit the value in   will be 50 rather than the default value of 40 provided in "extension.json".

Cookies
This extension uses a cookie,, to store the breadcrumb trail for a period of 30 days.

Changelog

 * 1.1.1
 * Avoid getting page props on special pages like Special:UserLogin
 * Replace usage of deprecated PageProps::getInstance
 * Use UserOptionsLookup::getOption instead of deprecated User::getOption
 * Add Secure and SameSite to the cookie


 * 1.1.0
 * Added support for MediaWiki 1.35


 * 1.0.3
 * Fixed issue adding breadcrumbs to trail.


 * 1.0.2


 * Fixed a rendering issue for Internet Explorer 11


 * 1.0.1


 * Fixed the mechanics of a system message
 * Translation updates


 * 1.0
 * The extension code was significantly refactored. New configuration options and user preferences were created as documented above. Changes included:
 * converted to extension registration
 * localized hard-coded English text
 * replaced non-working pervasive wiki farm option with  user option
 * reworked CSS options
 * added global maximum crumbs in addition to site maximum
 * made maximum length of displayed crumbs configurable
 * optionally added localized action name to the end of crumb for action other	than view (e.g. edit, history)
 * Translation updates


 * 0.7.0
 * Removed I18n shim for php
 * Provided license information


 * 0.6.1
 * Added capability to support additional skins
 * Added capability to specify additional skin -> CSS mappings in code and LocalSettings.php
 * Added dynamic "lookup" of user's current skin and will apply skin->CSS mapping dynamically
 * Added capability for sidebar view vice topbar view
 * Added support for SemanticTitle (does not require SemanticTitle to be present)
 * Removed seperate jquery.cookie library
 * Added ResourceLoader code to load mediawiki.cookie
 * Fixed random === critques
 * Set "show crumbs" to true by default
 * Updated variable usage to use mw.config due to deprication
 * Added variable for "pervasive wiki farm" linking
 * Changed "cookie link" storage and checking for duplicates to prevent issue when using query parameters causing duplicate crumbs
 * Changed way extension passes JavaScript config parameters to BreadCrumbs.js as we were experiencing a situation where parameters were not being passed to some instances of Mediawiki


 * 0.6
 * I18n migrated to json


 * 0.5
 * Changed the display of site names to (sitename) from sitename: to make a visual difference between project namespace, and site name


 * 0.4
 * Added different site name support (when bread crumbs are enabled on wiki farma, and they share the same cookie path)
 * Added support for preferences
 * Users can enable/disable bread crumbs
 * Users can enable/disable prepending sitename on titles
 * Users can set the number of bread crumbs to display
 * Delete cookies on log out
 * Removed some global preferences (replaced with default user options)
 * Fixed localization issue with namespaces
 * Only output JavaScript/CSS when using the Vector skin


 * 0.3
 * Display wgTitle instead of wgPage to avoid url encoded titles
 * Fix issue where wgJSBreadCrumbsMaxCrumbs + 1 number of bread crumbs were shown instead wgJSBreadCrumbsMaxCrumbs
 * Strip empty title and url when it exists
 * Change the output of the leading description to look like "Leading description:" instead of "Leading description " + wgJSBreadCrumbsSeparator, to make it more clear that it isn't part of the history.
 * Change the character used to split and join in cookies to '|' since it is illegal in urls and page titles, and therefore is guaranteed to work, unlike using the user overridable separator
 * Make addResources in JSBreadCrumbs.hooks.php public and static to get rid of php warning


 * 0.2
 * Allow the separator character to be localized
 * Add preceding string to the bread crumbs to describe their purpose on initial page load


 * 0.1
 * Initial commit