Tema mobile GolemWiki
Go to file
jdlrobson c7cb4ecee0 Limit editor text area styles to where they are needed
Currently we load textarea styles across all pages. However, in practice
textareas only show up in the edit page and inside our JavaScript overlays

To avoid loading these styles as rendering blocking CSS

Additional changes:
* Drop css reset for textarea so that textareas where unstyled
have sensible defaults. Note given the usage of OOUI and MediaWiki UI
this should be minimal/no disruption.
* For consistency intentionally change the padding of the non-js editor
to be consistent with other textareas
* The padding-left/padding-right rules currently override the default rule
so consolidate them into one single rule

Note:
* This will not break non-JavaScript editor mode as the module
mediawiki.action.edit.styles is loaded on that page as a render blocking
style.

Bug: T199000
Depends-On: I1ab170fc4089b0c8129a3e62ee78efad1c6709fa
Change-Id: I91743fdf1942a1b1b750422e973bf98fc4d106db
2018-07-26 10:35:16 +08:00
dev-scripts Make svg_check.sh verbose 2017-12-11 16:50:56 +01:00
i18n Localisation updates from https://translatewiki.net. 2018-07-23 22:11:37 +02:00
includes Hygiene: remove IE8 menu hack 2018-07-23 02:45:30 +00:00
minerva.less Limit editor text area styles to where they are needed 2018-07-26 10:35:16 +08:00
resources Limit editor text area styles to where they are needed 2018-07-26 10:35:16 +08:00
screenshots Add skin screenshot for the installer 2017-08-11 15:36:05 -04:00
skinStyles Limit editor text area styles to where they are needed 2018-07-26 10:35:16 +08:00
tests Merge "Update: page issue icons" 2018-07-19 12:25:20 +00:00
.eslintrc.json Enforce lowercase jsdoc types 2018-07-17 08:06:35 -05:00
.gitignore .gitignore /docs/ generated by JSDuck 2017-12-11 16:42:39 +01:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:30 -07:00
.phpcs.xml Fix some file names to match their class names 2018-04-15 16:12:45 -07:00
.rubocop.yml Port browser tests from MobileFrontend to Minerva 2017-07-11 14:11:03 -07:00
.rubocop_todo.yml Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
.stylelintrc.json Use json extension for .stylelintrc 2017-08-19 06:46:12 +00:00
.svgo.yml Hygiene: Bring missing SVGO config file from MobileFrontend 2017-08-30 23:14:55 +00:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2017-06-07 13:47:45 +04:30
COPYING Add COPYING 2018-04-15 16:13:17 -07:00
Doxyfile Add MinervaNeue Doxyfile 2017-08-15 15:31:57 +00:00
Gemfile Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
Gemfile.lock Update RuboCop Ruby gem 2017-12-06 16:58:29 +01:00
Gruntfile.js build: Organise Gruntfile.js more consistently 2017-10-31 14:41:25 -07:00
MinervaNeue.php Add scaffolding for skin 2017-06-01 10:17:24 -07:00
README.md Doc: move config type and defaults near identity 2018-06-29 17:55:14 +00:00
Rakefile Port browser tests from MobileFrontend to Minerva 2017-07-11 14:11:03 -07:00
composer.json build: Updating mediawiki/mediawiki-codesniffer to 20.0.0 2018-05-26 08:37:53 +00:00
jsdoc.json Use jsdoc for generating Minerva documentation 2018-03-15 15:01:41 -07:00
package-lock.json Run `npm test` as a pre-commit hook 2018-05-02 17:18:16 +02:00
package.json Run `npm test` as a pre-commit hook 2018-05-02 17:18:16 +02:00
skin.json Merge "Set some authors inside Minerva" 2018-07-24 20:12:11 +00:00

README.md

MinervaNeue skin

The MinervaNeue skin is a responsive mobile-first skin for your mediawiki instance.

Installation

See https://www.mediawiki.org/wiki/Skin:MinervaNeue

Development

Coding conventions

Please follow the coding conventions of MobileFrontend: https://www.mediawiki.org/wiki/MobileFrontend/Coding_conventions

Config

The following configuration options will apply only to the default mobile skin - Minerva.

$wgMinervaAlwaysShowLanguageButton

  • Type: Boolean
  • Default: true

Whether to show the language switcher button even if no languages are available for the page.

$wgMinervaEnableSiteNotice

  • Type: Boolean
  • Default: false

Controls whether site notices should be shown. See https://www.mediawiki.org/wiki/Manual:$wgSiteNotice.

$wgMinervaApplyKnownTemplateHacks

  • Type: Boolean
  • Default: false

When enabled and hacks.less exists, hacks.less workarounds are included in stylesheet. These should only be needed for Wikimedia based wikis or wikis using common templates such as Template:Infobox on those wikis.

$wgMinervaPageActions

  • Type: Array
  • Default: ['edit', 'talk', 'watch', 'switch-language']

Controls which page actions, if any, are displayed. Allowed: edit, watch, talk, and switch-language.

$wgMinervaCustomLogos

  • Type: Array
  • Default: []

Make the logos configurable.

Currently, copyright, copyright-fallback, copyright-width, and copyright-height elements are supported.

  • copyright is the URL of the logo displayed in the header and footer
  • copyright-fallback is the URL of the fallback logo displayed on non-supported browsers like IE8 or Opera Mini
  • copyright-width (optional) is the width in pixels of the copyright image you want to display
  • copyright-height (optional) is the height in pixels of the copyright image you want to display
  • If the actual copyright dimensions are 200x30, then you may want to set the width and height to 100 and 15 respectively (in order to support retina screens).
  • Note that if -width and -height are not used sysadmin should ensure the image used is appropriately sized (suggested dimensions < 120px width and 18px height).

Example:

[
  'copyright' => '/images/mysite_copyright_logo.png',
  'copyright-width' => 100,
  'copyright-height' => 15,
]

Example with fallback URL:

[
  'copyright' => '/images/mysite_copyright_logo.svg',
  'copyright-fallback' => '/images/mysite_copyright_logo.svg.png',
  'copyright-width' => 100,
  'copyright-height' => 15,
]

$wgMinervaAlwaysShowLanguageButton

  • Type: Boolean
  • Default: true

Whether to show the language switcher button even if no languages are available for the page.

$wgMinervaABSamplingRate

  • Type: Number
  • Default: 0

On a scale of 0 to 1, determines the chance a user has of entering an AB test. A test is divided into 3 buckets, "control" "A" and "B". Users that are selected for the test have an equal chance of entering bucket "A" or "B", the remaining users fall into the "control" bucket and are excluded from the test.

1 - would run test on 100% of users (50% in A and 50% in B, 0 in control). 0.5 - would run test on 50% of users (25% in A, 25% in B, 50% in control). 0.05 - would run test on 5% of users (2.5% in A, 2.5% in B, 95% in control). 0 would disable the test and place all users in "control".

Group assignment is universal no matter how many tests are running since both wgMinervaABSamplingRate and mw.user.sessionId() are globals.

Group membership can be debugged from the console via:

  const AB = mw.mobileFrontend.require('skins.minerva.scripts/AB')
  new AB(
    'WME.PageIssuesAB',
    mw.config.get( 'wgMinervaABSamplingRate', 0 ),
    mw.user.sessionId()
  ).getBucket()

And since session ID is an input in calculating the group, reassignment occurs when clearing it: mw.storage.session.remove('mwuser-sessionId').