Différences entre versions de « Mediawiki-customization-fr »

De Mi caja de notas

Ligne 7 : Ligne 7 :
  
 
== extensions ==
 
== extensions ==
=== extensions IndieWeb  ===
 
https://github.com/indieweb/mediawiki-extensions
 
 
* AllowAnchorTags - autorise l'insertion de balises d'ancre <code><a></code> à l'intérieur du wikitexte
 
* notitle - ajoute une balise <code><nowiki>__NOTITLE__</nowiki></code> d'ajouter son propre titre de page
 
* raw - vous permet d'embarquer du HTML brut dans les pages wiki en utilisant <nowiki>raw</nowiki>
 
* RelWebmention - ajoute un endpoint webmention aux pages wiki
 
* LassoAuth - active l'authentification [[web sign-in-fr|connexion web]] via le proxy d'authentification [[Lasso]]
 
* Calendar - ajoute un marqueur <nowiki><calendar></nowiki> pour la création d'un calendrier mensuel unique
 
 
 
=== dfn ===
 
=== dfn ===
 
https://github.com/aaronpk/mediawiki-mf2-dfn
 
https://github.com/aaronpk/mediawiki-mf2-dfn

Version du 30 septembre 2020 à 05:15


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