Mediawiki-customization-fr
De Mi caja de notas
Révision datée du 30 septembre 2020 à 05:15 par Xtof (discussion | contributions) (→extensions IndieWeb)
Cet article est une débauche. Vous pouvez m’aider à l'améliorer.
Cette page a démarré sur iwc:mediawiki-customization
et migrera sur iwc:mediawiki-customization-fr
Cette page documente les personnalisations produites sur MediaWiki pour notre communauté.
extensions
dfn
https://github.com/aaronpk/mediawiki-mf2-dfn
Ajoute un marqueur p-summary
autour de la première phrase qui contient un marqueur <dfn>
CategoryTree
mf2 parser
Le wiki requiert un parseur Microformats pour pouvoir produire quelques trucs. Copiez le repo php-mf2 dans votre dossier extensions.
extensions activées
wfLoadExtension('Cite'); wfLoadExtension('ParserFunctions'); wfLoadExtension('Auth_remoteuser'); wfLoadExtension('CategoryTree'); require_once('extensions/php-mf2/Mf2/Parser.php'); require_once('extensions/dfn/dfn.php'); require_once('extensions/IndieWeb/raw.php'); require_once('extensions/IndieWeb/notitle.php'); require_once('extensions/IndieWeb/AllowAnchorTags.php'); require_once('extensions/IndieWeb/RelWebmention.php'); require_once('extensions/IndieWeb/Calendar.php'); require_once('extensions/IndieWeb/LassoAuth.php');
config extension
LassoAuth::$auth = 'https://sso.indieweb.org/'; LassoAuth::$wiki = 'https://indieweb.org/'; $wgPingbackEndpoint = 'https://webmention.io/indiewebcamp/xmlrpc'; $wgWebmentionEndpoint = 'https://webmention.io/indiewebcamp/webmention';
personnalisations modifiables
Voir MediaWiki:Common.css pour la CSS personnalisée utilisée sur ce wiki.
configuration
Ajoutez ce qui suit aux LocalSettings.php
activer les belles urls
Le wiki est installé dans le dossier wiki
sur le serveur, mais nous voulons que les URLs soient sous la forme ducamp.me/exemple
.
$wgScriptPath = '/wiki'; $wgScriptExtension = ".php"; $wgArticlePath = '/$1'; $wgUsePathInfo = true; $wgCapitalLinks = false;
permissions utilisateurs
$wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['autocreateaccount'] = true; $wgGroupPermissions['user']['move'] = true; $wgGroupPermissions['user']['movefile'] = true; $wgGroupPermissions['user']['delete'] = true; $wgGroupPermissions['user']['undelete'] = true; $wgGroupPermissions['user']['browsearchive'] = true; $wgGroupPermissions['user']['rollback'] = true; $wgDefaultUserOptions ['editsection'] = true; $wgAllowUserSkin = true; $wgAllowUserCss = true; $wgAllowUserJs = true;
copyright
$wgEnableCreativeCommonsRdf = true; $wgRightsPage = "IndieWebCamp:Copyrights"; # Set to the title of a wiki page that describes your license/copyright $wgRightsUrl = "http://creativecommons.org/publicdomain/zero/1.0/"; $wgRightsText = "a CC0 public domain dedication"; $wgRightsIcon = "https://i.creativecommons.org/p/zero/1.0/88x31.png"; $wgEnableCreativeCommonsRdf = true;
permettre plus de téléchargements de fichiers
$wgFileExtensions[] = 'pdf'; $wgFileExtensions[] = 'txt'; $wgFileExtensions[] = 'svg'; $wgFileExtensions[] = 'ai';
autres
$wgEnableUploads = true; $wgAllowImageTag = true; $wgNoFollowLinks = false; $wgAllowExternalImages = true; $wgCookieExpiration = 180 * 86400; $wgSecureLogin = true; $wgCookieSecure = true;
set up https://www.mediawiki.org/wiki/Manual:$wgRCFeeds to the secret lair of Loqi
skin
Nous utilisons la skin Vector par défaut pour le wiki, avec quelques personnalisations mineures afin d'ajouter du marquage Microformats aux pages.
Dans skins/Vector/VectorTemplate.php
, faites les modifications décrites sur https://aaronparecki.com/2018/01/14/3/
page d'accueil
MediaWiki refuse de servir la page d'accueil à partir de /
et insiste pour la rediriger à la place vers /Main_Page
. Il est possible de renommer cette page vers quelque chose comme /Accueil
, mais même ça ce n'est pas génial. Nous voulons que la page d'accueil soit servie sur simplement https://indieweb.org/
. Pour faire ça, il y un fichier séparé index.php
à la racine du serveur, qui renvoie en fait un miroir de la page MediaWiki.
<?php $opts = array('title' => 'Main_Page'); if(array_key_exists('useskin',$_GET)) $opts['useskin'] = $_GET['useskin']; $ch = curl_init('https://indieweb.org/wiki/index.php?'.http_build_query($opts)); // Pass the HTTP_COOKIE header through for auth if(array_key_exists('HTTP_COOKIE', $_SERVER)) { curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Cookie: ' . $_SERVER['HTTP_COOKIE'] )); } header('Link: <https://webmention.io/indiewebcamp/webmention>; rel="webmention"'); // No-cache if the user is logged in if(isset($_SERVER['REMOTE_USER'])) { header('Cache-Control: no-cache'); } curl_exec($ch);
Voir aussi
- wiki/
- microformats wiki:
- microformats wiki mediawiki customization - vous pourriez aussi dénicher quelques personnalisations utiles.