A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.
Go to file
2019-12-31 12:40:46 -05:00
.github Merge branch 'master' into dev 2019-12-30 19:07:55 -05:00
bin Force phpcbf to exit with 0 2019-12-30 19:04:02 -05:00
i18n Refactor typeahead 2019-12-31 12:42:39 +01:00
includes Added X-XSS-Protection header support 2019-12-31 02:36:17 -05:00
licenses Updated font licenses 2019-12-20 13:18:12 -05:00
resources Fix undef var 2019-12-31 12:44:24 +01:00
skinStyles Merge pull request #27 from octfx/feature/srf_darkmode 2019-12-30 20:21:44 -05:00
.eslintrc.json Attempt to supress eslint error #3 2019-12-26 03:33:33 -05:00
.gitignore Bumped version and updated test files 2019-12-26 02:08:10 -05:00
.phpcs.xml Add MW test suite to skin 2019-12-26 00:26:39 +01: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 Removed phpcbf from composer as it is run by a script now 2019-12-30 18:48:52 -05:00
Gruntfile.js Use force option for ESlint 2019-12-26 03:04:22 -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 Fix eslint complaining about js files 2019-12-26 10:40:43 +01:00
package.json Attempt to fix autofix 2019-12-28 19:13:50 -05:00
README.md Added X-XSS-Protection header support 2019-12-31 02:36:17 -05:00
skin.json Refactor typeahead 2019-12-31 12:42:39 +01: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 feel free to submit a pull request or bug report if you find a bug!

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

WIP section, refer to below:

	"ThemeColor": {
		"value": "#11151d",
		"description": "The theme color defined in the meta tag",
		"descriptionmsg": "citizen-config-themecolor",
		"public": true
	},
	"EnablePreconnect": {
		"value": false,
		"description": "Enable or disable preconnect to required origin",
		"descriptionmsg": "citizen-config-enablepreconnect",
		"public": true
	},
	"PreconnectURL": {
		"value": "",
		"description": "The URL for preconnect to required origin",
		"descriptionmsg": "citizen-config-preconnectorigin",
		"public": true
	},
	"EnableCSP": {
		"value": false,
		"description": "Enable or disable Content Security Policy",
		"descriptionmsg": "citizen-config-enablecsp",
		"public": true
	},
	"EnableCSPReportMode": {
		"value": false,
		"description": "Enable or disable Content Security Policy report only mode, it will override the CSP when enabled",
		"descriptionmsg": "citizen-config-enablecspreportmode",
		"public": true
	},
	"CSPDirective": {
		"value": "",
		"description": "The string of your CSP directive",
		"descriptionmsg": "citizen-config-cspdirective",
		"public": true
	},
	"EnableHSTS": {
		"value": false,
		"description": "Enable or disable HTTP Strict Transport Security",
		"descriptionmsg": "citizen-config-enablehsts",
		"public": true
	},
	"HSTSMaxAge": {
		"value": 300,
		"description": "Time in second that the browser should remember that a site is only to be accessed using HTTPS",
		"descriptionmsg": "citizen-config-hstsmaxage",
		"public": true
	},
	"HSTSIncludeSubdomains": {
		"value": false,
		"description": "Apply HSTS to all of the site's subdomains",
		"descriptionmsg": "citizen-config-hstsincludesubdomains",
		"public": true
	},
	"HSTSPreload": {
		"value": false,
		"description": "Enable or disable HSTS preload",
		"descriptionmsg": "citizen-config-hstspreload",
		"public": true
	},
	"EnableDenyXFrameOptions": {
		"value": false,
		"description": "Enable or disable the deny X-Frame-Options header",
		"descriptionmsg": "citizen-config-enabledenyxframeoptions",
		"public": true
	},
	"EnableXXSSProtection": {
		"value": false,
		"description": "Enable or disable the X-XSS-Protection header",
		"descriptionmsg": "citizen-config-enablexxssprotection",
		"public": true
	},
	"EnableFeaturePolicy": {
		"value": false,
		"description": "Enable or disable Feature Policy",
		"descriptionmsg": "citizen-config-enablefeaturepolicy",
		"public": true
	},
	"FeaturePolicyDirective": {
		"value": "",
		"description": "The string of your Feature Policy directive",
		"descriptionmsg": "citizen-config-featurepolicydirective",
		"public": true
	},
	"EnableManifest": {
		"value": true,
		"description": "Enable or disable web app manifest",
		"descriptionmsg": "citizen-config-enablemanifest",
		"public": true
	},
	"ManifestThemeColor": {
		"value": "#11151d",
		"description": "The theme color defined in the web app manifest",
		"descriptionmsg": "citizen-config-manfiestthemecolor",
		"public": true
	},
	"ManifestBackgroundColor": {
		"value": "#fff",
		"description": "The background color defined in the web app manifest",
		"descriptionmsg": "citizen-config-manifestbackgroundcolor",
		"public": true
	},
	"MaxSearchResults": {
		"value": 6,
		"description": "The max number of suggestions in search result",
		"descriptionmsg": "citizen-config-maxsearchresults",
		"public": true
	},
	"SearchExchars": {
		"value": 60,
		"description": "The character limit for the description in search suggestion",
		"descriptionmsg": "citizen-config-searchexchars",
		"public": true
	},
	"EnableButton": {
		"value": false,
		"description": "Enable or disable the floating action button on the bottom left",
		"descriptionmsg": "citizen-config-enablebutton",
		"public": true
	},
	"ButtonLink": {
		"value": "",
		"description": "The URL of the FAB button",
		"descriptionmsg": "citizen-config-buttonlink",
		"public": true
	},
	"ButtonTitle": {
		"value": "",
		"description": "The title of the link element on the FAB",
		"descriptionmsg": "citizen-config-buttontitle",
		"public": true
	},
	"ButtonText": {
		"value": "",
		"description": "The text of the FAB",
		"descriptionmsg": "citizen-config-buttontext",
		"public": true
	},
	"ShowPageTools": {
		"value": true,
		"description": "Page tools visibility condition",
		"descriptionmsg": "citizen-config-showpagetools",
		"public": true
	}

Requirements