Extension:Oberflächen-Anpasser
SkinCustomiser Freigabestatus: stabil |
|
---|---|
Einbindung | Benutzeroberfläche , MeinWiki , Hook |
Beschreibung | Passt bestehende Oberflächen an. Fügt Skripte und Meta-Daten kurz vor dem </head> -Tag des Wikis ein. |
Autor(en) | WikiMANNia (WikiForMenDiskussion) |
Letzte Version | 2.0.1 (2024-05-02) |
MediaWiki | 1.25+ |
PHP | 5.4+ |
Datenbankänderungen | Nein |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | GitHub: Hinweis: |
|
|
Die SkinCustomiser-Erweiterung passt die bestehenden Oberflächen für eine komplette Wiki-Familie an.
Sie fügt Skripte und Metadaten direkt vor dem </head>
-Tag des Wikis ein und übersetzt einzelne Einträge in der Navigationsleiste .
Hintergrund
Oberflächen anpassen
MediaWiki-Oberflächen können jeweils in den MediaWiki:Cologneblue.css
, MediaWiki:Modern.css
, MediaWiki:Monobook.css
, MediaWiki:Timeless.css
, MediaWiki:Vector.css
, MediaWiki:Mobile.css
, MediaWiki:Common.css
-Dateien angepasst werden.
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm separat einzurichten und zu pflegen.
Stattdessen können alle diese CSS-Anweisungen zentral in dieser Erweiterung gesammelt und global in alle Wikis der Wikifarm eingebunden werden.
Navigationsleisten anpassen
Zur Anpassung gehören auch weitere Einträge über die Navigationsleiste , die zum einen zentral in einer Wikifarm verwaltet werden sollen und zum anderen auch in andere Sprachen übersetzt werden sollen.
Dies kann durch die Eingabe dieser Bezeichnungen und ihrer Übersetzungen in den i18n -Dateien dieser Erweiterung erfolgen.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
SkinCustomiser
im Ordnerextensions/
ablegen. - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'SkinCustomiser' );
- Konfiguriere nach Bedarf.
- Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Konfiguration
Im Gegensatz zu den meisten anderen Erweiterungen kann diese nicht in ihrem ursprünglichen Zustand verwendet werden, sondern muss erst für eine bestimmte Wiki-Farm angepasst werden.
Oberflächen
MediaWiki-Skins können in MediaWiki:Cologneblue.css
, MediaWiki:Modern.css
, MediaWiki:Monobook.css
, MediaWiki:Vector.css
, MediaWiki:Mobile.css
, MediaWiki:Common.css
-Dateien entsprechend angepasst werden.
Wenn jedoch eine Wiki-Farm betrieben wird, ist es unpraktisch, diese Dateien in jedem Wiki dieser Farm einzurichten und zu pflegen.
Wenn ein anderer Skin verwendet wird, muss die AnotherSkin.css
-Datei entsprechend umbenannt werden und diese Änderung muss auch in der extension.json
-Datei vorgenommen werden.
- In der Dateibaumstruktur:
* resources **css ***Common.css // <=== put the stuff from the file "MediaWiki:Common.css" inside here (or let it be empty) ***Mobile.css // <=== put the stuff from the file "MediaWiki:Mobile.css" inside here (or let it be empty) ***Cologneblue.css // <=== put the stuff from the file "MediaWiki:Cologneblue.css" inside here (or let it be empty) ***Modern.css // <=== put the stuff from the file "MediaWiki:Modern.css" inside here (or let it be empty) ***Monobook.css // <=== put the stuff from the file "MediaWiki:Monobook.css" inside here (or let it be empty) ***Vector.css // <=== put the stuff from the file "MediaWiki:Vector.css" inside here (or let it be empty) ***AnotherSkin.css // <=== 1. rename this to "'YourSkin'.css" for supporting other skins **images // <=== You may add some (background) images here
- In der
extension.json
-Datei:"ResourceModules": { "ext.skincustomiser.common": { "styles": "css/Common.css" }, "ext.skincustomiser.mobile": { "styles": "css/mobile.css" }, "ext.skincustomiser.cologneblue": { "styles": "css/Cologneblue.css" }, "ext.skincustomiser.modern": { "styles": "css/Modern.css" }, "ext.skincustomiser.monobook": { "styles": "css/Monobook.css" }, "ext.skincustomiser.vector": { "styles": "css/Vector.css" }, "ext.skincustomiser.anotherskin": { // <=== 2. rename this to "ext.skincustomiser.'yourskin'" "styles": "css/AnotherSkin.css" // <=== rename this to "css/'YourSkin'.css" } },
- In der
includes/Hooks.php
-Datei:private static function isSupported( $skinname ) { // Add another supported skin here: $mySkin = 'anotherskin'; // <=== 3. remember to rename this return in_array( $skinname, [ 'cologneblue', 'modern', 'monaco, 'monobook', 'vector', $mySkin ] ); }
Logo
$wgLogos = [ '1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png" ];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
Skin vector-2022
$wgLogos = [
'1x' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo.png",
'icon' => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-icon.svg",
'wordmark' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-wordmark.svg",
"width" => 160,
"height" => 24
],
'tagline' => [
"src" => "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/logo-tagline.svg",
"width" => 160,
"height" => 14
]
];
$wgFavicon = "$wgResourceBasePath/extensions/SkinCustomiser/resources/images/favicon.ico";
Navigationsleiste (Seitenleiste)
Eine Wikifarm kann in der Navigationsleiste angepasst werden. Die individuellen Etiketten und ihre Übersetzungen können auf diese Weise verwaltet werden:
* i18n
**en.json // <=== add the labels from the "MediaWiki:Sidebar" here
**de.json // <=== add the German translations of the custom labels from the "MediaWiki:Sidebar" here
**es.json // <=== add the Spanish translations of the custom labels from the "MediaWiki:Sidebar" here
**fr.json // <=== add more translation files if needed
Darüber hinaus können dort auch einige Standardmeldungen aus Mediawiki angepasst werden.
Anpassung in der i18n/en.json
-Datei:
{
"@metadata": {
"authors": [ "YOU" ]
},
"about": "About your wiki", // <==== You may have an individual "about" link in the Sidebar
"projectpage": "Project page", // <==== You may link to an individual project page
"registrate": "Ask for account", // <==== You may have a link to an individual registration form
"contact": "Contact", // <==== You may have a link to an individual contact form
"interaction": "Interaction", // <==== Custom translation for an "Interaction" portlet
"portals": "Portals", // <==== Custom portlet for some custom portal pages
"portal-1": "Your personal portal 1", // <==== Custom portal page 1
"portal-2": "Your personal portal 2", // <==== Custom portal page 2
"portal-3": "Your personal portal 3", // <==== Custom portal page 3
"createacct-benefit-heading": "{{SITENAME}} is made by individuals like you." // <==== Customise a mediawiki message
}
Für mehr Details siehe: Format der Lokalisierungsdatei
Head-Daten
Deaktivieren mit:
$wgSkinCustomiserHeadItems = [];
Schema
Um die Head-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
$wgSkinCustomiserHeadItems = [
[ "key1", "content1" ],
[ "key2", "content2" ]
];
Meta-Daten
Deaktivieren mit:
$wgSkinCustomiserMetaItems = [];
Schema
Um die Meta-Daten zu konfigurieren, sind die folgenden Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
$wgSkinCustomiserMetaItems = [
[ "name1", "content1" ]
[ "name2", "content2" ],
];
Beispiele
Beispiel (aus Extension:Altersklassifizierung ):
$wgSkinCustomiserMetaItems = [
[ "age-de-meta-label", "age=0 hash: yourdigitalcode v=1.0 kind=sl protocol=all" ],
];
Skripte
Ein oder mehrere Head-Skripte können dem Wiki hinzugefügt werden. Die Head-Skripte können aus beliebigen HTML und/oder JavaScript bestehen.
Deaktivieren mit:
$wgSkinCustomiserScripts = "";
Schema
Um das Head-Skript zu konfigurieren, sind folgende Zeilen zu LocalSettings.php nach der Installationszeile hinzuzufügen:
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
START_END_MARKER;
Die erste und letzte Zeile mit dem START_END_MARKER-Zeug sollte unangetastet bleiben, dies ist eine spezielle Syntax von PHP (ohne sie wäre es schwierig, mit Apostrophen innerhalb des Skripts umzugehen). Es dürfen keine Leerzeichen um die Markierung der letzten Zeile eingefügt werden, das würde sie umbrechen (weitere Einzelheiten zu dieser Syntax). Zum Abschluss eine "Neue Zeile" einfügen.
Weitere Skripte werden hinzuzufügt, indem sie einfach zwischen den Markierungen eingetragen werden:
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script></script>
<script></script>
<script></script>
START_END_MARKER;
Bei Bedarf kann auch ein Name für das Skript spezifiziert werden, indem nach der Installationszeile folgende Zeilen hinzugefügt werden:
$wgSkinCustomiserScripts = 'add_your_script_name_here';
Beispiele
Beispiel (aus Extension:Google Analytics Integration ):
$wgSkinCustomiserScripts = <<<'START_END_MARKER'
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-xxxxxxxx-xx', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>
START_END_MARKER;
$wgHeadScriptName = 'googleanalytics';
Anzeige am Ende des Dokuments
$wgSkinCustomiserDisplayBottom
fügt Elemente am Ende einer Seite hinzu, am unteren Rand, aber noch innerhalb des Inhaltsrahmens.
Deaktivieren mit:
$wgSkinCustomiserDisplayBottom = "";
Beispiele
$wgSkinCustomiserDisplayBottom =
'<p>Something at the bottom of every page.</p>';
Siehe auch
Die Erweiterung SkinCustomiser kombiniert die Funktionalität von