add base skin files

This commit is contained in:
Effie 2025-10-02 23:53:33 +10:00
parent 81258eac4b
commit 3d1ecd2ea3
11 changed files with 158 additions and 0 deletions

12
.eslintrc.json Normal file
View File

@ -0,0 +1,12 @@
{
"root": true,
"extends": [
"wikimedia/client-es6",
"wikimedia/jquery",
"wikimedia/mediawiki"
],
"rules": {
"compat/compat": "off",
"vue/no-v-html": "off"
}
}

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.eslintcache
node_modules/

7
.stylelintrc.json Normal file
View File

@ -0,0 +1,7 @@
{
"extends": "stylelint-config-wikimedia",
"rules": {
"selector-max-id": null,
"no-descending-specificity": null
}
}

10
i18n/en.json Normal file
View File

@ -0,0 +1,10 @@
{
"@metadata": {
"authors": [
"..."
]
},
"skinname-crystal": "Crystal",
"crystal-skin-desc": "A skin for Final Fantasy fansites, by Esby.",
"crystal-no-categories": "No categories."
}

10
i18n/qqq.json Normal file
View File

@ -0,0 +1,10 @@
{
"@metadata": {
"authors": [
"..."
]
},
"skinname-crystal": "{{optional}}",
"crystal-skin-desc": "{{desc|what=skin|name=Crystal|url=https://www.mediawiki.org/wiki/Skin:Crystal}}",
"crystal-no-categories": "Message to show when no categories available"
}

18
package.json Normal file
View File

@ -0,0 +1,18 @@
{
"name": "Crystal",
"private": true,
"scripts": {
"test": "npm -s run lint",
"lint": "npm -s run lint:js && npm -s run lint:styles && npm -s run lint:i18n",
"lint:fix:js": "npm -s run lint:js -- --fix",
"lint:fix:styles": "npm -s run lint:styles -- --fix",
"lint:js": "eslint --cache .",
"lint:styles": "stylelint \"**/*.{less,css}\"",
"lint:i18n": "banana-checker i18n/"
},
"devDependencies": {
"eslint-config-wikimedia": "0.25.1",
"grunt-banana-checker": "0.11.0",
"stylelint-config-wikimedia": "0.15.0"
}
}

27
resources/print.less Normal file
View File

@ -0,0 +1,27 @@
/* Styles for print view and printing. */
/* You can use CSS files or Less files depending on your preference. */
/* Hide some extra stuff from print view (some of the navigation is already hidden automatically,
but not all). */
.mw-indicators,
.mw-portlet-personal,
.mw-portlet-views,
.mw-portlet-namespaces,
.mw-portlet-cactions,
.mw-portlet-notifications,
.mw-interlanguage-selector,
.mw-portlet-lang,
.toggle-list,
.catlinks,
.mw-footer,
.mw-portlet-variants,
form.mw-portlet,
#toc-sticky {
display: none;
}
#p-logo a {
display: flex;
align-items: center;
column-gap: 10px;
}

0
resources/skin.js Normal file
View File

0
resources/skin.less Normal file
View File

72
skin.json Normal file
View File

@ -0,0 +1,72 @@
{
"name": "Crystal",
"version": "1.0.0",
"author": [
"[https://skins.wmflabs.org skins.wmflabs.org v.3.0]"
],
"url": "https://www.mediawiki.org/wiki/Skin:Crystal",
"descriptionmsg": "crystal-skin-desc",
"namemsg": "skinname-crystal",
"type": "skin",
"requires": {
"MediaWiki": ">= 1.41.0"
},
"ValidSkinNames": {
"crystal": {
"class": "SkinMustache",
"args": [
{
"name": "crystal",
"responsive": true,
"toc": true,
"messages": [
"crystal-no-categories",
"otherlanguages",
"sitetitle",
"search",
"tagline"
],
"styles": [
"codex-styles",
"skins.crystal.styles"
],
"scripts": []
}
]
}
},
"MessagesDirs": {
"Crystal": [
"i18n"
]
},
"ResourceModules": {
"skins.crystal.styles": {
"class": "MediaWiki\\ResourceLoader\\SkinModule",
"features": {
"normalize": true,
"elements": true,
"content-tables": true,
"content-links": true,
"content-media": true,
"content-links-external": false,
"interface-message-box": true,
"interface-category": true,
"toc": true
},
"targets": [
"desktop",
"mobile"
],
"styles": [
"resources/skin.less"
]
}
},
"ResourceFileModulePaths": {
"localBasePath": "",
"remoteSkinPath": "Crystal"
},
"ResourceModuleSkinStyles": {},
"manifest_version": 2
}

0
templates/skin.mustache Normal file
View File