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

De Mi caja de notas

Ligne 136 : Ligne 136 :
  
 
== Voir aussi ==
 
== Voir aussi ==
* [[wiki/]]
+
* [[iwc:wiki/]]
* [http://microformats.org/wiki microformats wiki]:
+
* [http://microformats.org/wiki microformats wiki] :
** [http://microformats.org/wiki/mediawiki-customization microformats wiki mediawiki customization] - you might find some useful customizations here too.
+
** [http://microformats.org/wiki/mediawiki-customization microformats wiki mediawiki customization] - vous pourriez trouver quelques personnalisations utiles ici.

Version du 27 octobre 2018 à 04:59

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

extensions IndieWeb

https://github.com/indieweb/mediawiki-extensions

  • AllowAnchorTags - allows inserting <a> anchor tags into wikitext
  • notitle - adds __NOTITLE__ tag to stop MediaWiki from adding its own page title
  • raw - lets you embed raw HTML into wiki pages using raw
  • RelWebmention - add webmention endpoint to wiki pages
  • LassoAuth - enables web sign-in via the Lasso auth proxy
  • Calendar - adds <calendar> tag for creation of a single month calendar

dfn

https://github.com/aaronpk/mediawiki-mf2-dfn

Adds a p-summary tag around the first sentence of a page that contains a <dfn> tag

CategoryTree

mf2 parser

The wiki requires a Microformats parser to be able to do a few things. Copy the php-mf2 repository to the extensions folder.

activation extensions

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 mw:Common.css pour une CSS personnalisée utilisée sur ce wiki.

configuration

Ajoutez ce qui suit à LocalSettings.php

activer les jolis urls

Le wiki est installé dans le dossier wiki sur le serveur, mais nous voulons que les URLs soient sous la forme indieweb.org/exemple.

$wgScriptPath = '/wiki';
$wgScriptExtension  = ".php";
$wgArticlePath = '/$1';
$wgUsePathInfo = true;
$wgCapitalLinks = false;

permissions utilisateur

$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;

autoriser plus de téléversements 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 par défaut Vector pour le wiki, avec quelques personnalisations mineures pour ajouter un 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 provenant de / et insiste pour la rediriger à la place vers /Main_Page instead. Il est possible de renommer cette page en quelque chose comme /Home, mais même si ce n'est pas génial. Nous voulons que la page d'accueil soit servie simplement sur https://indieweb.org/. Pour faire ça, il existe un fichier séparé index.php à la racine du serveur, qui met en miroir 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