A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.
Go to file
2020-03-26 15:43:30 -04:00
.github Updated msg in workflow 2020-01-06 15:39:32 -05:00
bin Force phpcbf to exit with 0 2019-12-30 19:04:02 -05:00
i18n Add search string to no result card 2020-01-01 02:27:48 +01:00
includes Attempt to fix autocomplete on search form 2020-03-17 18:34:01 -04:00
licenses Updated font licenses 2019-12-20 13:18:12 -05:00
resources Tweaked animation speed to be more responsive 2020-03-21 00:41:45 -04:00
skinStyles Tweaked animation speed to be more responsive 2020-03-21 00:41:45 -04:00
.eslintignore Added eslint ignore file 2020-02-15 19:20:59 -05:00
.eslintrc.json Enable common js 2020-02-15 17:24:52 -05:00
.gitignore Bumped version and updated test files 2019-12-26 02:08:10 -05:00
.phpcs.xml Exclude out folder for phpcs 2020-01-06 14:49:06 -05:00
.stylelintrc.json Make stylelint ignore out 2019-12-26 13:02:30 -05:00
citizen.php Made code MW compliant 2019-12-26 00:24:31 +01:00
CODE_OF_CONDUCT.md Add documentation to the skin 2019-12-21 00:56:15 -05:00
composer.json Supress composer error 2020-01-09 19:32:29 -05:00
Gruntfile.js Attempt to fix eslint error 2020-02-15 19:13:03 -05:00
jsdoc.json Updated JSDOC config 2019-12-26 13:06:28 -05:00
LICENSE licensing update 2019-08-16 21:48:16 -04:00
package-lock.json Let NPM regenerate package-lock 2020-03-15 00:30:17 -04:00
package.json Attempt to fix autofix 2019-12-28 19:13:50 -05:00
README.md Added all configurations to doc 2020-03-26 15:43:30 -04:00
skin.json Bump version 2020-03-16 00:49:23 -04:00

Citizen

Citizen is a responsive skin for MediaWiki built by the Star Citizen Wiki team. Although it is specifically built for the Star Citizen Wiki, the skin should be able to run on any Mediawiki installation that is 1.31 or higher. Due to resource constraints, we might not be able to provide full support for setups that are vastly different than us, but please feel free to submit patches or bug report!

Live demo can be seen at the Star Citizen Wiki.

Notable features

  • Fully responsive skin: Responsive and able to adapt to different screen sizes. 📱💻🖥️
  • Rich search suggestions: More helpful search suggestions with images and descriptions. 🔍👀
  • Lazyload images: Improve load time of your wiki and avoid unnessecary image downloads. 🚀
  • Native light/dark mode support: Respect OS and app configuration for light and dark mode. ☀️🌙
  • Webapp manifest: Give a more app-like experience when user add your wiki to their home screen. 📱
  • HTTP security response headers: Enhance the security of your wiki from HTTP response headers. 🔒🔑

Configurations

Search suggestions

Name Description Values Default
$wgCitizenSearchDescriptionSource Source of description text on search suggestions wikidata - Use description provided by WikibaseLib or ShortDescription; textextracts - Use description provided by TextExtracts; pagedescription - Use description provided by Description2 or any other extension that sets the description page property textextracts
$wgCitizenMaxSearchResults Max number of search suggestions Integer > 0 6

Content Security Policy (CSP)

Name Description Values Default
$wgCitizenEnableCSP Enable or disable Content Security Policy, as an alternative to $wgCSPHeader in Mediawiki 1.32+ true - enable; false - disable false
$wgCitizenEnableCSPReportMode Enable or disable CSP report only mode, overrides $wgCitizenEnableCSP true - enable; false - disable false
$wgCitizenCSPDirective The string of yourr CSP directive See the Content Security Policy page

HTTP Strict Transport Security (HSTS)

Name Description Values Default
$wgCitizenEnableHSTS Enable or disable HTTP Strict Transport Security true - enable; false - disable false
$wgCitizenHSTSMaxAge Time in second that the browser should remember that a site is only to be accessed using HTTPS Integer > 0 300
$wgCitizenHSTSIncludeSubdomains Apply HSTS to all of the site's subdomains true - enable; false - disable false
$wgCitizenHSTSPreload Enable or disable HSTS preload true - enable; false - disable false

Other security headers

Name Description Values Default
$wgCitizenEnableDenyXFrameOptions Enable or disable the deny X-Frame-Options header true - enable; false - disable false
$wgCitizenEnableXXSSProtection Enable or disable the X-XSS-Protection header true - enable; false - disable false
$wgCitizenEnableStrictReferrerPolicy Enable or disable strict-origin-when-cross-origin referrer policy header, should be used in conjunction with $wgReferrerPolicy as that only outputs the meta tags true - enable; false - disable false
$wgCitizenEnableFeaturePolicy Enable or disable Feature Policy true - enable; false - disable false
$wgCitizenFeaturePolicyDirective The string of your Feature Policy directive See the Feature Policy page

Webapp manifest

Name Description Values Default
$wgCitizenEnableManifest Enable or disable web app manifest true - enable; false - disable true
$wgCitizenManifestThemeColor Theme color of the web app manifest Hex color code #11151d
$wgCitizenManifestBackgroundColor Background color of the web app manifest Hex color code #fff

Miscellaneous

Name Description Values Default
$wgCitizenShowPageTools The condition of page tools visibility true - always visible; login - visible to logged-in users; permission - visible to users with the right permissions true
$wgCitizenThumbnailSize Thumbnail size in pixels to use for lazy-loading placeholder Integer > 0 10
$wgCitizenEnablePreconnect Enable or disable preconnect to required origin true - enable; false - disable false
$wgCitizenPreconnectURL The URL for preconnect to required origin URL
$wgCitizenThemeColor The color defined in the theme-color meta tag Hex color code #11151d

Requirements