Skin:Cosmos
Cosmos Release status: stable |
|||
---|---|---|---|
Description | Cosmos is a skin designed and based off Fandom's Oasis skin. Designed to improve upon their design, and provide an efficient MediaWiki skin for non-Fandom users, or for users transitioning out of Fandom. | ||
Author(s) | |||
Latest version | 7.0.0 (2023-05-11) | ||
Compatibility policy | Snapshots releases along with MediaWiki. Master is not backwards compatible. | ||
MediaWiki | 1.39.0+ | ||
License | GNU General Public License 3.0 or later | ||
Download | README.md Join the Cosmos Discord server if you require immediate assistance, or create a task on Phabricator about it (link below). |
||
Example | Cosmos Example Wiki, Wikimedia Skins Lab | ||
|
|||
Quarterly downloads | 99 (Ranked 5th) | ||
Public wikis using | 25 (Ranked 71st) | ||
Public wikis using as default skin | 2 | ||
Translate the Cosmos skin if it is available at translatewiki.net | |||
Issues : | Open tasks · Report a bug |
Cosmos is a skin designed and based off Fandom's Oasis skin. Designed to improve upon their design, and provide an efficient MediaWiki skin for non-Fandom users, or for users transitioning out of Fandom. If you would like to learn how to contribute, please read our guide.
Install
- Download and place the file(s) in a directory called
Cosmos
in yourskins/
folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadSkin( 'Cosmos' );
- Configure as required.
- Done - Navigate to Special:Version on your wiki to verify that the skin is successfully installed.
Configuration
These settings will apply when Cosmos is the active skin.
Option | Type | Default value | Requires | Documentation |
---|---|---|---|---|
$wgCosmosWordmark
|
String; full URL or file name |
|
Adds a wordmark to the wiki navigation | |
$wgCosmosBannerBackgroundColor
|
String; color name or hex code | '#c0c0c0'
|
Changes the background color of the top banner (the one with the personal tools drop-down). | |
$wgCosmosWikiHeaderBackgroundImage
|
String; full URL or file name | false
|
Adds a background image to the wiki header (the one with the site navigation links); blends image with header colors using gradient. | |
$wgCosmosWikiHeaderBackgroundColor
|
String; color name or hex code | '#c0c0c0'
|
Changes the background color of the wiki header (the one with the site navigation links); $wgCosmosWikiHeaderBackgroundImage uses this to blend the image to this color, if the image is set.
| |
$wgCosmosBackgroundImage
|
String; full URL or file name | false
|
Adds a background image to the page body (behind the content area); effectively nullifies $wgCosmosMainBackgroundColor , as the image would cover the color.
| |
$wgCosmosMainBackgroundColor
|
String; color name or hex code | '#1A1A1A'
|
Adds a background color to the page body (behind the content area); effectively nullified by $wgCosmosBackgroundImage , as the image would cover the color.
| |
$wgCosmosContentBackgroundColor
|
String; color name or hex code | '#ffffff'
|
Changes the background color of the main wiki article content area; $wgCosmosContentOpacityLevel uses this to create an RGBA styled background color-opacity level.
| |
$wgCosmosBackgroundImageSize
|
String; auto, contain, or cover | 'cover'
|
$wgCosmosBackgroundImage set;
|
Sets the background image size for the body background if set; while the string accepts all values, it's recommended to use one of the following: auto, contain, or cover. |
$wgCosmosContentWidth
|
String; default, large, or full | 'default'
|
Sets the main content area width. Can be 'default', 'large', or 'full'. 'default' means the width is 1024px on screen sizes 1084px to 1595px, and 1178px on screen sizes 1596px and above. 'large' means it is the default (for the relevent screen size) plus 176px. 'full' will set the width to 'auto' for either screen size. In addition if it is set to 'full', the screen-size specific max-width, and padding on #mw-content-wrapper are not set on either of the mentioned screen sizes, and use the default ones or that of lower screen sizes, making max-width much larger, and making the content area have much less padding. | |
$wgCosmosButtonBackgroundColor
|
String; color name or hex code | '#c0c0c0'
|
Changes the background color of the page action buttons for Cosmos; also sets PortableInfobox coloring through blending if the extension is installed. | |
$wgCosmosToolbarBackgroundColor
|
String; color name or hex code | '#000000'
|
Changes the background color of the floating toolbar at the bottom. | |
$wgCosmosFooterBackgroundColor
|
String; color name or hex code | '#c0c0c0'
|
Changes the background color of the footer; the footer always has an opacity of 0.8, so this variable is converted to RGBA to set this opacity. | |
$wgCosmosBackgroundImageRepeat
|
Boolean | false
|
$wgCosmosBackgroundImage set;
|
if true the background image will be set to 'repeat' otherwise, if false, it will be set to 'no-repeat'. |
$wgCosmosBackgroundImageFixed
|
Boolean | true
|
$wgCosmosBackgroundImage set;
|
If true the background image will be set to position: fixed; .
|
$wgCosmosLinkColor
|
String; color name or hex code | '#0645ad'
|
Changes the color of links. | |
$wgCosmosContentOpacityLevel
|
Integer | 100 | $wgCosmosContentBackgroundColor set;
|
Set the content area background opacity in percentage, without the percent symbol (%). |
$wgCosmosRailDisabledNamespaces
|
Array | [ NS_SPECIAL, NS_MEDIAWIKI, NS_MEDIAWIKI_TALK ] | List of namespace constants or IDs to always hide the rail in. | |
$wgCosmosRailDisabledPages
|
Array | [ 'mainpage' ]
|
List of page titles or 'mainpage' to always hide the rail in. Works exactly like __NORAIL__ magic word.
| |
$wgCosmosEnableWantedPages
|
Boolean | true
|
Whether or not to enable the WantedPages feature of the create page dialog. | |
$wgCosmosFetchWantedPagesFromCache
|
Boolean | false
|
Whether or not to fetch the wanted pages shown within the create page dialog from cache. If enabled you will need to run php updateSpecialPages.php --only=WantedPages in order to update the wanted pages. It is recommended to set this to true on large wikis.
| |
$wgCosmosWantedPagesMaxTitlesCount
|
Integer | 6 | Set to the max number of wanted pages to display in the create page dialog, if wanted pages are enabled. | |
$wgCosmosWantedPagesFetchedNamespaces
|
Array | [ NS_MAIN ] | Set to an array of namespaces to fetch wanted pages from, if wanted pages are enabled for the create page dialog. |
- Associative arrays
Option | Default value | Documentation |
---|---|---|
$wgCosmosEnabledRailModules
|
'recentchanges' => false,
'interface' => [
'cosmos-custom-rail-module' => 'normal',
'cosmos-custom-sticky-rail-module' => 'sticky'
]
|
Sets which rail modules will be enabled on Cosmos, and whether they are 'sticky' or 'normal'. 'interface' can be an array of any size with a list of interface messages for Cosmos to recognize as a new custom right rail. For any rail module, it can be mapped to either 'normal' or 'sticky', 'normal' will make them stay in a fixed position on the page, and 'sticky' makes them stick to the page as you scroll down. Setting it to false will disable the specific rail module entirely. If interface messages, set in the config are set to '-', don't exist, or are completely empty, it will treat them as disabled and won't appear in the rail at all. If no modules are appearing in rail, then the article area will expand to cover the rail area. If you don't have JavaScript enabled in your browser, then it is recommended to only have one sticky rail module enabled at the same time, otherwise they will overlap on top of each other. Also see other configs for rail. |
Extension configuration settings
SocialProfile
These configuration settings require SocialProfile to be installed in order to use them.
Option | Type | Default value | Requires | Documentation |
---|---|---|---|---|
$wgCosmosSocialProfileAllowBio
|
Boolean | true
|
Allows users to add a bio to display on their user pages, through Special:MyPage/bio. | |
$wgCosmosSocialProfileFollowBioRedirects
|
Boolean | false
|
$wgCosmosSocialProfileAllowBio set to true
|
Whether or not to follow redirects from Special:MyPage/bio and display the redirect target as bio instead. (experimental) |
$wgCosmosSocialProfileModernTabs
|
Boolean | true
|
Enables a modern version of the tabs on SocialProfile profile pages. | |
$wgCosmosSocialProfileRoundAvatar
|
Boolean | true
|
Makes the avatar round on SocialProfile profile pages. | |
$wgCosmosSocialProfileShowEditCount
|
Boolean | true
|
Show's the edit count and registration date for the user on SocialProfile profile pages, underneath their username. | |
$wgCosmosSocialProfileShowGroupTags
|
Boolean | true
|
$wgCosmosNumberofGroupTags set and more than zero; $wgCosmosProfileTagGroups set with at least one usergroup in the array
|
Enables usergroup tags to appear next to user's username on SocialProfile profile pages. |
$wgCosmosSocialProfileTagGroups
|
Array | [ 'bureaucrat', 'bot', 'sysop', 'interface-admin' ]
|
$wgCosmosSocialProfileNumberofGroupTags set and more then zero; $wgCosmosSocialProfileShowGroupTags set to true
|
Array of usergroups to show on SocialProfile pages if the user has them. |
$wgCosmosSocialProfileNumberofGroupTags
|
Integer | 2 | $wgCosmosSocialProfileTagGroups set with at least one usergroup in the array; $wgCosmosSocialProfileShowGroupTags set to true
|
Set the max number of group tags to show on a user's SocialProfile page if they have them. |
$wgCosmosUseSocialProfileAvatar
|
Boolean | true
|
Use SocialProfile avatar as avatar next to username in top banner (the banner with the personal tool drop-down). If user doesn't have an avatar and this is set, will use the default SocialProfile avatar. |
PortableInfobox
These configuration settings require PortableInfobox to be installed in order to use them.
Option | Type | Default value | Requires | Documentation |
---|---|---|---|---|
$wgCosmosEnablePortableInfoboxEuropaTheme
|
Boolean | true
|
$wgCosmosButtonBackgroundColor set;
|
Enables the Europa theme from Fandom's portable infobox extension on the ported extension. |
Usage
Interface
- MediaWiki:Cosmos-tagline
- Modifies the sitename text in the wiki header. Defaults to the value of MediaWiki:Sitename.
- MediaWiki:Cosmos-navigation
- Modifies the site navigation for this skin; defaults to MediaWiki:Sidebar, although it is recommended to copy MediaWiki:Sidebar to MediaWiki:Cosmos-navigation and follow the Cosmos navigation format for the best results. This navigation can be up to 3 levels deep, and allows a few variables to be used:
{$NEWVIDEOS_CONDITIONAL}
(alternatively,{$NEWVIDEOS}
) will display a link to Special:NewVideos only when the Video extension is enabled.{$WANTEDPAGES_CONDITIONAL}
(alternatively,{$WANTEDPAGES}
) will display a link to Special:WantedPages only when the Video extension is not enabled.{$WANTEDPAGES_FORCE}
will display a link to Special:WantedPages regardless of if the Video extension is enabled or not.
The navigation should be in the format of:
*#|Community **mainpage|mainpage-description **recentchanges-url|recentchanges **portal-url|portal *link|Tab title/level one **Level 2 tab title ***Level 3 content 1 *cosmos-explore **recentchanges-url|recentchanges **randompage-url|randompage **Special:NewFiles|cosmos-newfiles {$NEWVIDEOS_CONDITIONAL} {$WANTEDPAGES_CONDITIONAL}
and, defaults to:
{{int:Sidebar}} *cosmos-explore **recentchanges-url|recentchanges **randompage-url|randompage **Special:NewFiles|cosmos-newfiles {$NEWVIDEOS_CONDITIONAL} {$WANTEDPAGES_CONDITIONAL}
Parser functions
Cosmos provides a couple parser functions:
{{#ADDITIONALBODYCLASS}}
- Description: Allows to add additional body class to particular pages to allow for further per-page customisation with CSS. Available as of version 6.2.0.
- Usage:
{{#ADDITIONALBODYCLASS:class-name}}
__NORAIL__
- Description: provides a magic word to hide the rail on particular pages. Available as of version 6.0.0.
- Usage: Put
__NORAIL__
at the top of the page you want to hide the rail on.
Notes
- On large wikis, it is recommended to set either
$wgCosmosEnableWantedPages = false;
or$wgCosmosFetchWantedPagesFromCache = true;
(both available since version 6.2.0), otherwise it can have significant performance impact. - As of version 6.2.0, MediaWiki:Cosmos-navigation is cached to provide performance improvements and not fetch this on every page load. This cache is reset when any interface message is updated.
- As of version 5.0.0 Cosmos has a special page, Special:ThemeDesigner, that allows some theme-related Cosmos configs be modified on-wiki. It also comes with the themdesigner right, which is given to sysops by default and is required in order to enter Special:ThemeDesigner. This is a highly experimental feature.
- As of version 4.0.0, Cosmos supports MediaWiki 1.36.
- Cosmos uses the Special:Statistics article count, therefore setting
$wgArticleCountMethod = 'any';
and afterwards running maintenance/UpdateArticleCount.php will make that counter use all content pages.- Counter will not display at all if user does not have the
read
userright.
- Counter will not display at all if user does not have the
- An "Admin Dashboard" icon will appear if the AdminLinks extension is enabled and you have the needed right (adminlinks).
- Links to Special:AddVideo will appear if the Video extension is enabled and you have the needed right (addvideo).
- Cosmos uses cookies for the sitenotice by default. If the DismissableSiteNotice extension is enabled, then Cosmos will convert to that extension instead.
- Cosmos supports Echo notifications. If the Echo extension is enabled and the user is logged in then Cosmos will display notification icons next to the personal tools menu.
- Cosmos has a create article method to easily create articles through a popup.
- Will not appear if user does not have both the
edit
andcreatepage
rights.
- Will not appear if user does not have both the
- Cosmos supports the mobile responsiveness preference provided by MediaWiki core.
- Cosmos is tested and works with VisualEditor .
- There are body classes for the main page, whether a user is logged in or not, and whether
$wgCosmosContentBackgroundColor
is set to a light or dark theme (theme-dark
ortheme-light
classes).
Planned features
- All the formerly planned features have now been implemented. If you wish to request a feature, please do so on the talk page of this skin.
This skin is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this skin even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |