*/
$wgMediaHandlers = [];
+/**
+ * Media handler overrides for parser tests (they don't need to generate actual
+ * thumbnails, so a mock will do)
+ */
+$wgParserTestMediaHandlers = [
+ 'image/jpeg' => 'MockBitmapHandler',
+ 'image/png' => 'MockBitmapHandler',
+ 'image/gif' => 'MockBitmapHandler',
+ 'image/tiff' => 'MockBitmapHandler',
+ 'image/webp' => 'MockBitmapHandler',
+ 'image/x-ms-bmp' => 'MockBitmapHandler',
+ 'image/x-bmp' => 'MockBitmapHandler',
+ 'image/x-xcf' => 'MockBitmapHandler',
+ 'image/svg+xml' => 'MockSvgHandler',
+ 'image/vnd.djvu' => 'MockDjVuHandler',
+];
+
/**
* Plugins for page content model handling.
* Each entry in the array maps a model id to a class name or callback
$wgDisableOutputCompression = false;
/**
- * Should we allow a broader set of characters in id attributes, per HTML5? If
- * not, use only HTML 4-compatible IDs. This option is for testing -- when the
- * functionality is ready, it will be on by default with no option.
+ * Abandoned experiment with HTML5-style ID escaping. Normalized IDs a bit
+ * too aggressively, breaking preexisting content (particularly Cite).
+ * See T29733, T29694, T29474.
*
- * Currently this appears to work fine in all browsers, but it's disabled by
- * default because it normalizes id's a bit too aggressively, breaking preexisting
- * content (particularly Cite). See T29733, T29694, T29474.
+ * @deprecated since 1.30, use $wgFragmentMode
*/
$wgExperimentalHtmlIds = false;
+/**
+ * How should section IDs be encoded?
+ * This array can contain 1 or 2 elements, each of them can be one of:
+ * - 'html5' is modern HTML5 style encoding with minimal escaping. Allows to
+ * display Unicode characters in many browsers' address bars.
+ * - 'legacy' is old MediaWiki-style encoding, e.g. 啤酒 turns into .E5.95.A4.E9.85.92
+ * - 'html5-legacy' corresponds to DEPRECATED $wgExperimentalHtmlIds mode. DO NOT use
+ * it for anything but migration off that mode (see below).
+ *
+ * The first element of this array specifies the primary mode of escaping IDs. This
+ * is what users will see when they e.g. follow an [[#internal link]] to a section of
+ * a page.
+ *
+ * The optional second element defines a fallback mode, useful for migrations.
+ * If present, it will direct MediaWiki to add empty <span>s to every section with its
+ * id attribute set to fallback encoded title so that links using the previous encoding
+ * would still work.
+ *
+ * Example: you want to migrate your wiki from 'legacy' to 'html5'
+ *
+ * On the first step, set this variable to [ 'legacy', 'html5' ]. After a while, when
+ * all caches (parser, HTTP, etc.) contain only pages generated with this setting,
+ * flip the value to [ 'html5', 'legacy' ]. This will result in all internal links being
+ * generated in the new encoding while old links (both external and cached internal) will
+ * still work. After a long time, you might want to ditch backwards compatibility and
+ * set it to [ 'html5' ]. After all, pages get edited, breaking incoming links no matter which
+ * fragment mode is used.
+ *
+ * @since 1.30
+ */
+$wgFragmentMode = [ 'legacy' ];
+
+/**
+ * Which ID escaping mode should be used for external interwiki links? See documentation
+ * for $wgFragmentMode above for details of each mode. Because you can't control external sites,
+ * this setting should probably always be 'legacy', unless every wiki you link to has converted
+ * to 'html5'.
+ *
+ * @since 1.30
+ */
+$wgExternalInterwikiFragmentMode = 'legacy';
+
/**
* Abstract list of footer icons for skins in place of old copyrightico and poweredbyico code
* You can add new icons to the built in copyright or poweredby, or you can create
*/
$wgContentNamespaces = [ NS_MAIN ];
+/**
+ * Optional array of namespaces which should be blacklisted from Special:ShortPages
+ * Only pages inside $wgContentNamespaces but not $wgShortPagesNamespaceBlacklist will
+ * be shown on that page.
+ * @since 1.30
+ */
+$wgShortPagesNamespaceBlacklist = [];
+
/**
* Array of namespaces, in addition to the talk namespaces, where signatures
* (~~~~) are likely to be used. This determines whether to display the
'watchlisthidepatrolled' => 0,
'watchlisthidecategorization' => 1,
'watchlistreloadautomatically' => 0,
+ 'watchlistunwatchlinks' => 0,
'watchmoves' => 0,
'watchrollback' => 0,
'wllimit' => 250,
// Long term limit. We need to balance the risk
// of somebody using this as a DoS attack to lock someone
// out of their account, and someone doing a brute force attack.
- [ 'count' => 150, 'seconds' => 60*60*48 ],
+ [ 'count' => 150, 'seconds' => 60 * 60 * 48 ],
];
/**
*/
$wgUseRCPatrol = true;
-/**
- * Whether to allow users to save their RecentChanges filters
- */
-$wgStructuredChangeFiltersEnableSaving = true;
-
/**
* Whether to show the new experimental views (like namespaces, tags, and users) in
* RecentChanges filters
*/
$wgStructuredChangeFiltersEnableLiveUpdate = false;
+/**
+ * Whether to enable RCFilters app on Special:Watchlist
+ */
+$wgStructuredChangeFiltersOnWatchlist = false;
+
/**
* Use new page patrolling to check new pages on Special:Newpages
*/
* Local virtual hosts.
*
* This lists domains that are configured as virtual hosts on the same machine.
- * If a request is to be made to a domain listed here, or any subdomain thereof,
- * then no proxy will be used.
- * Command-line scripts are not affected by this setting and will always use
- * proxy if it is configured.
+ *
+ * This affects the following:
+ * - MWHttpRequest: If a request is to be made to a domain listed here, or any
+ * subdomain thereof, then no proxy will be used.
+ * Command-line scripts are not affected by this setting and will always use
+ * the proxy if it is configured.
+ * - ChronologyProtector: Decide to shutdown LBFactory asynchronously instead
+ * synchronously if the current response redirects to a local virtual host.
+ *
* @since 1.25
*/
$wgLocalVirtualHosts = [];